Nu exista o definitie pentru Web 2.0, cel putin nu in dictionar. Web 2.0 se refera in general la serviciile care permit utilizatorilor sa colaboreze si sa schimbe informatiile online. Fata de versiunea anterioara, aplicatiile Web 2.0 sunt mult mai interactive oferind utilizatorilor o experienta mult mai apropiata de aplicatiile desktop.
Se intampla la inceputul anului 2005 cand Google lansa propriul serviciu de free-email: Gmail. La momentul respectiv ideea de a avea un cont de email de 1Gb parea suficient de bun pentru a accepta superioritatea Google pe inca un domeniu decat “cautarea” si publicitatea web. Imediat insa Yahoo-ul a contraatacat si a marit conturile free la 250Mb si putin mai tarziu la 1Gb recastigand daca era cazul utilizatorii traditionali Yahoo care din dorinta de spatiu ar fi trecut la “inamic”.
Dar nu vom discuta aici despre razboiul dintre Google si Yahoo… Ce vreau eu sa scot in evidenta este faptul ca la inceputul anului 2005, prin folosirea Ajax-ului in noul serviciu Gmail, Google a introdus pe scara larga versiunea 2.0 a web-ului. Nu stiu daca va amintiti dar in momentul deschiderii unui cont nou la Gmail, verificarea daca adresa dorita era sau nu libera se facea automat la clickarea in afara campului respectiv si asta fara apasarea vreunui buton suplimentar. La momentul respectiv foarte impresionant… Nu sustin ca Google a inventat Ajax-ul. Tehnologia a devenit posibila in primul rand datorita faptului ca browserele in general si Internet Explorer-ul (deci Microsoft) in special au implementat obiectul XMLHttpRequest care permite incarcarea asincrona a continutului unei pagini fara a mai fi nevoie de reincarcarea completa a paginii respective. Sustin insa ca Google a fost primul dintre marii jucatori care a promovat aceasta tehnologie. Istoria Ajax-ului si mai multe detalii despre functionare gasiti aici sau cautand pe Google :).
Ajax este o tehnologie (de fapt un conglomerat format din mai multe tehnologii ca javascript, xhtml, html, css, xml etc) care potenteaza modul de functionare a web-ului prin faptul ca permite un nivel foarte ridicat de interactiune intre utilizatori si paginile web. Ajax inseamna interactiune si daca este folosit asa cum trebuie face experienta utilizatorilor mult mai usoara. Sigur, web 2.0 nu se limiteaza la Ajax. Web 2.0 inseamna si agregarea informatiilor din diverse surse (feed-uri, bloguri etc…), aparitia instrumentele colaborative de genul wiki-uri, practic existenta tuturor tehnologiilor care insumate permit colaborarea si interactiunea facila intre utilizatorii care au aceleasi interese. Dar Ajax-ul este motorul care asigura interactiunea atat de necesara la nivelul paginii web.
Cel mai simplu de inteles si in acelasi timp cel mai bun exemplu de folosire a Ajax-ului este chiar cel folosit initial de Google la Gmail: si anume utilizarea Ajax-ului pentru a verifica alegerea facuta de utilizator inainte ca acesta sa faca submitarea unui formular destul de stufos si astfel sa aiba experienta (neplacuta) de a fi intors la acelasi formular si a alege altceva si asta pentru ca alegerea facuta initial era deja facuta de un alt utilizator. In exemplul dat, folosirea Ajax-ului reduce practic timpul de completare (utilizatorul nu trebuie sa astepte o reincarcare a paginii de fiecare data cand alege ceva eronat) si duce la o curgere fireasca a procesului de completare a formularului respectiv (nu va fi lasat sa submiteze formularul decat daca alegerea lui este valida).
Evident ca exista atat motive pro cat si contra in folosirea Ajax. Motivele pro tin mai degraba de cresterea uzabilitatii (imbunatatirea experietei utilizatorilor) iar Jakob Nielsen (guru-ul uzabilitatii) desi nu pare interesat foarte mult de subiect, recunoaste ca utilizarea Ajax-ului este o practica recomandata atat timp cat nu creeaza confuzie in randul utilizatorilor (si anume cand se face clar diferentierea intre interactivitate si navigare - mai multe detalii despre acest lucru aici si discutia mai generala aici). Motivele contra tin de faptul ca Ajax-ul depinde de javascript si prin urmare un utilizator fara javascript activat nu va putea sa utilizeze pagina respectiva. In plus trebuie avut in vedere latenta conexiunii de internet a utilizatorului pentru ca daca latenta este prea mare si nu se ia in considerare acest aspect prin atentionarea utilizatorului ca se intampla o actiune in background, respectivul utilizator nu va mai intelege ce se intampla si in felul acesta uzabilitatea urmarita va scadea dramatic.
Cat despre uzante si modul de folosire, la momentul actual Gmail foloseste foarte mult Ajax-ul dar functioneaza si fara acesta (evident anumite functionalitati nu mai sunt disponibile). Dar atentie! Yahoo! Mail Beta se bazeaza exclusiv pe Ajax. Asta inseamna ca fara javascript-ul activat nu veti putea utiliza aceasta aplicatie de webmail. Care aplicatie de webmail este de departe cea mai impresionanta (de pana acum) realizare bazata pe Ajax disponibila publicului larg (trebuie doar sa cereti s-o testati:) ). Yahoo! Mail Beta este de fapt o aplicatie extrem de vizuala care arata (la propriu) ce poate sa ne ofere web 2.0 si ce lucruri interesante se pot si vor fi realizate in viitor.
Faptul ca Yahoo! Mail are o functionalitate foarte apropiata de Outlook Express demonstreaza ca era aplicatiilor distribuite se apropie. Nu vom mai avea nevoie de aplicatii de desktop pentru ca totul va fi pe server… Nu ne mai lipsesc decat conexiunile bune la Internet … si evident aplicatiile distribuite. Dar nu mai avem mult pana acolo iar Yahoo! se pare ca are incredere totala in Ajax si potentialul pe care il ofera.
PS: Ca programator nu am avut niciodata prea multa incredere in javascript. Pe langa faptul ca nu poate fi controlat (ruleaza la client), exista in plus acele variatii de interpretare intre tipurile de browsere care fac dezvoltarea dificila si cu twitch-urile necesare fiecarei versiuni. Dar nici fara nu se poate iar in momentul actual exista suficiente frameworkuri de javascript care ajuta extrem de mult la dezvoltarea aplicatiilor. Dar acest subiect il vom dezvolta altadata :)…