​În urmă cu șapte ani, descopeream conceptul de educație digitală. În 2020, am avut ocazia să aflu cum sunt construite aplicațiile care ajung să fie fundația legăturii între elev și profesor care nu ține cont de distanța dintre ei, ci doar de-o conexiune la internet și un dispozitiv.

Educație digitalăFoto: Freepik

Putem să fim încă optimiști. Putem crede și spera că educația digitală va ajuta enorm generația de acum și de mâine. În ciuda vremurilor, am ajuns în punctul în care nu ne mai întrebăm dacă educația de tipul acesta are relevanță sau nu, ci întrebarea potrivită e: de când începem să-i acordăm relevanța cuvenită? Statul, așa cum îi stă în fire, indiferent de localizarea lui, mereu e lent și nu produce revoluții fără cetățeni. Iar cetățenii au ajuns în punctul în care au nevoie de resurse digitale educaționale și au nevoie de soluții online.

Primul meu contact cu o astfel de soluție a fost în 2013, chiar în octombrie. La acel moment era vorba de primul manual digital, disponibil elevilor de la Școala Superioară Comercială "Nicolae Kretzulescu" pe tablete. Iată, fix șapte ani mai târziu am revenit la Cristian Dinu, CTO și cofondator Learn Forward împreună cu Paul Balogh. Cei doi au lansat primul manual digital din România și au realizat alte manuale digitale interactive și platforme educaționale în timp real pentru clienți precum Art Klett și Ministerul Educației din Luxemburg. În prezent, cei doi se ocupă de Hypersay, platforma de livrare interactivă a prezentărilor cu slide-uri, ce promite un produs care va schimba fundamental evenimentele online.

"Când dezvoltăm software pentru utilizat în învățământ, paradigma este că profesorii sunt «pe front». Ne gândim, evident în glumă, că noi creăm tehnologie militară", mi-a spus Cristian. Dincolo de metaforă, orice astfel de soluție are două cerințe cruciale: interacțiune în timp real și fiabilitate. "Elevii așteaptă feedback imediat, iar profesorii vor să vadă tot imediat dacă elevii sau studenții au înțeles, dacă sunt pe fază. O aplicație pentru educație arată mai degrabă ca WhatsApp decât ca un serviciu de mail. Și când vorbim de fiabilitate, dacă ești într-o sesiune cu o clasă de 25 de persoane sau o serie cu 250 de studenți, și programul crapă, atunci e dezastru. Nu numai jenă, ci pierderea controlului. De unde și analogia cu «tehnologia militară»", a rezumat Cristian situația.

Sursa: Freepik

Infrastructura fundației pentru educație

În ceea ce înseamnă dezvoltarea propriu-zisă a unei soluții, Cristian susține că programatorii sunt oameni care rezolvă probleme, iar uneltele lor sunt calculatoarele. "Pentru fiecare problemă se folosește unealta potrivită, iar trusa de scule e destul de cuprinzătoare. În cazul nostru, pentru ca totul să fie accesibil pe web, tindem să folosim unelte din universul JavaScript. Pentru front-end folosim TypeScript, React și unelte precum NextJS. Iar partea de server rulează ca funcții în cloud în paradigma numită «serverless». Avem privilegiul să nu mai trebuiască să configurăm și să întreținem serverele noastre. În acest moment, funcțiile noastre sunt instalate pe platforma oferită de Vercel, dar cu efort rezonabil putem oricând să ne mutăm în oricare dintre platformele mari de cloud: AWS Lambda, Google sau Cloud Functions și nu numai. În fine, puntea dintre server și client este protocolul GraphQL, care pare să se potrivească foarte bine cu serverless. GraphQL nu este singura soluție; acolo unde am avut nevoie de conexiuni permanente de lungă durată am folosit WebSocket cu un protocol personalizat", a explicat Cristian uneltele principale din munca sa.

El a oferit și un pachet serios de explicații când vine vorba de managementul datelor într-o aplicație de educație digitală. Astfel, datorită cerințelor de timp real pentru aplicațiile la care lucrează, a preferat să folosim soluții ceva mai tradiționale (și foarte mature) pentru bazele de date. Aici intră MongoDB și Postgres SQL. Ambele sunt găzduite în cloud pe servere Mongo, respectiv Amazon.

"Ne-a plăcut și FaunaDB pentru serverless, Redis pentru rapiditate și simplitate. Iar managementul datelor îl facem folosind bunele practici. Nu a trebuit să inventăm nimic special, ci doar să fim atenți. Bazele de date sunt în zone securizate în spatele unor firewall-uri, datele de acces sunt securizate și ele, sistemele de fișiere sunt criptate. Acolo unde putem - și putem din fericire în multe locuri - folosim CDN, care face ca transferul de date să fie rapid pentru utilizatorii din întreaga lume. Iar pentru date de dimensiune mare, precum imaginile, combinăm CDN cu o aplicație scrisă de unul dintre colegii mei, care le adaptează fiecare imagine pentru fiecare utilizator în parte. De exemplu, trimite imagini redimensionate pentru a fi mici pentru cei care au telefon și nu pot oricum să le vadă pe cele mari", a completat el lista cu detalii.

Când vine vorba de diferențele între platformele giganților și cele terțe, Cristian susține că acestea sunt din ce în ce mai mici, pentru că fiecare încearcă să inoveze și să ieftinească serviciile, dar ceilalți îl prind din urmă în câteva luni. "Este un mediu concurențial dur pentru ei și bun pentru noi. Există furnizori de nișă care excelează la unul dintre servicii. Exemple sunt Netlify, pentru găzduire facilă și super performantă de site-uri; Vercel pentru lansare rapidă de aplicații serverless; Vonage pentru servicii de comunicație, Mongo și, mai nou, FaunaDB pentru baze de date, Heroku pentru găzduire rapidă de containere și aplicații cam de orice fel, sau Digital Ocean pentru servere foarte ieftine".

Cu doar câteva zile înainte de începerea anului școlar, compania Ascendia mi-a atras atenția cu un eveniment dedicat zonei de eLearning din România. Așa am descoperit că această firmă a creat și un editor de conținut educațional, denumit LIVRESQ, pe care îl deschide și către sistemul de învățământ. Pe scurt, cu acesta pot fi create cursuri eLearning conform standardelor internaționale și lecții interactive. E, în esență, un editor WYSIWYG și propunerea către profesori e să facă totul într-un singur loc, unde pot fi integrate soluțiile dezvoltate în trecut pe alte platforme.

Alexandru Mălureanu, cofondator și CMO, Ascendia, mi-a explicat că, în ceea ce privește arhitectura platformei, aceasta este o aplicație de tip Client - Server. Aplicația Client a fost dezvoltată cu tehnologii care permit rularea aplicației atât pe calculatoare, cât și pe dispozitive mobile (HTML5, Ajax, JavaScript, XML, CSS3 etc.). Partea de Server a trebuit dezvoltată ca o aplicație conformă standardelor aplicațiilor enterprise pe trei niveluri distribuite, pentru a fi scalabilă. Aplicația rulează în timp real și este configurată cu mecanisme de failover.

"Ca o aplicație să funcționeze optim este nevoie de un proces de lungă durată. Baza este dată de o dezvoltare iterativă a aplicației", a detaliat Alexandru. "Noi lansăm o variantă nouă a LIVRESQ la fiecare două săptămâni. Pe lângă rezolvarea bug-urilor și lansarea de noi funcționalități, mereu încorporăm și schimbări la nivel de UX, pe baza feedback-ului obținut de la utilizatori. Mai mult decât atât, multe lucruri țin de familiaritate, de obișnuința utilizatorilor noștri de a folosi alte unelte din alte sfere de interes. Nu contează ce crezi tu că este util, contează ce are nevoie cu adevărat utilizatorul platformei tale, chiar dacă rezultatul este eliminarea unui element care a costat mult".

În contextul educației digitale, un anumit jucător are un rol important în piață: Google. Iar soluția propusă e Classroom pusă la dispoziție pentru profesori, elevi, părinți și alte companii care vor s-o integreze în propriile servicii. În cazul profesorilor, aceștia pot organiza sesiuni video, pot folosi videouri de pe YouTube ca resurse suplimentare sau pot folosi opțiunile din Drive, cum ar fi Forms sau Sheets, pentru diverse proiecte. Elevii își pot urmări parcursul, trimite teme și ține legătura cu profesorii într-un mod facil. Iar părinții pot primi sumarul parcursului pe mail.

Nicolae Ciobanu, Partner Engineer, Google Cloud, susține că sute de aplicații de educație funcționează în combinație cu Google Classroom. "Aceste integrări oferă economie de timp profesorilor și elevilor, și permit schimbul facil de date între Classroom și aplicațiile lor favorite. Google pune la dispoziția dezvoltatorilor și administratorilor IT ai școlilor o serie de resurse, pentru ca aceștia să poată dezvolta noi funcționalități pentru Classroom". La fel ca alte produse din pachetul G Suite pentru Educație, Classroom folosește preponderent Java și Javascript.

"Classroom a fost creat ca un «centru de coordonare» care să le ofere profesorilor o modalitate eficientă și simplă pentru derularea activităților administrative, astfel încât să se concentreze pe activitatea de bază: educarea tinerilor. Vorbim aici de activități precum crearea de teme, atribuirea lor și notare, până la crearea unui sesiuni pentru lecția online prin Meet", a adăugat acesta.

Sursa foto: Dreamstime

Cum ne pregătim cu adevărat pentru educație online și digitalizare

În discuția cu Nicolae despre Classroom și cererea din 2020, el a menționat un fapt interesant. "La un moment dat, UNESCO a raportat că a fost decisă închiderea școlilor în 160 de țări din întreaga lume, fiind afectați mai mult de 90% din numărul de elevi și studenți la nivel global (aproximativ 1,4 miliarde). Pe acest fond, și după ce am lansat hub-ul Teach From Home, am observat o creștere în cascadă a utilizării Classroom. Numărul de utilizatori ai platformei s-a dublat în timpul pandemiei, la mai mult de 100 de milioane. În fiecare zi, prin Google Meet se țin lecții care însumează 1.300 de ani". Aceste cifre, pe scurt, ne arată că cererea există deja, acum oferta se adaptează.

"Un aspect important este să analizezi dinainte exact pentru cine construiești platforma și care sunt acele categorii de utilizatori cheie", mi-a spus Alexandru. În cazul companiei sale, LIVRESQ a apărut la capătul unui proces de cercetare și dezvoltare, care a avut ca scop atât definirea funcționalităților cheie ale platformei, cât și a modalităților de marketing și comercializare. "Ne-a luat doi ani să construim varianta beta, cu resurse însemnate", a rezumat el demersul.

Cristian a venit cu încă o metaforă care să descrie la fix contextul și pregătirea pentru viitor. "Programarea, și din ce în ce mai multe domenii, seamănă cu construcția și mentenanța unui avion care deja este în zbor. Apar noi tehnologii, apar noi paradigme, noi biblioteci. Poți să fii mai eficient și pentru asta trebuie să te ții la zi. Altfel ai soarta telefoanelor Nokia: ești cel mai bun acum și în zece ani nu te mai vrea nimeni". Cu așa vorbe în minte, l-am întrebat și ce limbaje de programare ar recomanda.

El pune pe primul loc JavaScript sau TypeScript dacă se poate, pentru cei care programează web sau aplicații de mobil, Python pentru cei care vor să proceseze informații (analiză de date, inteligență artificială), C# sau C++ pentru cei care vor să programeze jocuri sau software de automobile, Rust pentru cei care vor să dezvolte criptomonede sau software de sistem, Java (și Kotlin) pentru cei care vor să lucreze în corporații și industria financiară. "Ca să faci o aplicație să funcționeze optim, mai întâi o faci să funcționeze. Apoi o tot îmbunătățești. E un proces care nu prea se termină niciodată. Sunt însă niște principii și unelte pe care le poți folosi pentru a crea aplicații performante", a adăugat el.

Din experiența de până acum, susține că pentru sofware pe web el și colegii săi sunt atenți să spargă aplicația în bucăți mai mici și să trimită către utilizator doar lucrurile de care are nevoie (fișierele Javascript, CSS). Apoi, imaginile sunt redimensionate pentru dispozitivul care le primește, fișierele trimise pe rețea sunt compresate și totul e și măsurat cu unelte ca Lighthouse. Nu în ultimul rând, stochează fișierele reutilizabile în browserul utilizatorului și, când e posibil, transferă în fundal date, astfel ele să fie deja acolo când utilizatorul le cere.

România (și lumea) de acum și de mâine

Eu am pornit în acest demers de-a afla ce-i în spatele unei aplicații de educație digitală de la ce-am văzut în urmă cu șapte ani. Dar Alexandru a dat timpul și mai înapoi. "Ascendia a început în urmă cu 13 ani ca reacție la un sistem educațional rezistent la nou, naiv în cel mai rău sens al cuvântului și o dorință reală de a ne implica cu adevărat în schimbare, de a face parte din soluție. [Dacă ne uităm la exemple de state sau orașe care excelează] cheia în această discuție este atitudinea față de tehnologie. Țările care adoptă tehnologia și în restul domeniilor esențiale pentru societate cu siguranță o au adoptată și în educație", a explicat el.

"România de acum, diferă mult de România de acum un an din acest punct de vedere, ceea ce ne dă speranță. Foarte mulți profesori din țară înțeleg acum avantajele aduse de progresul tehnologic, despre asta fiind vorba în esență. Acum lucrurile se mișcă cu adevărat și pentru educația din România, suntem fericiți că s-a făcut un salt tehnologic real la nivel de țară", a conchis el cu o analiză optimistă.

De la Cristian am mai vrut să aflu și la ce tendințe să fii atent, pentru viitor, ca să nu fii surprins de direcția în care se duce piața și nevoile. Discutam de soluții cloud, dar mi-a spus o frază care s-ar aplica perfect în orice industrie care are contact cu tehnologia; cum mai toate au acum: "Fac parte dintr-o generație care s-a mutat în cloud, după ce a dezvoltat pe PC izolat, pe servere proprii, apoi găzduite, în cloud monolitic, apoi cloud cu container (Docker și Kubernetes), iar acum în cloud ca servicii separate în funcții (numite «Lambda»). Știu sigur că nu aș vrea să merg înapoi. În IT, nostalgia are valoare doar de divertisment".

El crede că, în câțiva ani, vasta majoritate a software-ului va fi într-un fel sau altul liber (open source) și vom plăti abonamente pentru conținut și putere de procesare; inclusiv Windows va fi open source și Linux. Pentru acest viitor, Cristian consideră că atât problemele, cât și soluțiile educației digitale sunt la oameni, nu în mașini. "În toate țările și orașele în care educația funcționează, educația digitală funcționează și ea. Digitalul este un amplificator, nu un surogat. Dacă ești deștept, tehnologia te face mai deștept, dacă ești eficient te face mai eficient. Dacă ești prost, nu rezolvă treaba".