Ajax & Web 2.0

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 :)…

3 Comments »

  1. Filip said,

    July 5, 2006 @ 17:13

    Prima data aici pe blog, dar sunt familiar cu lucrarile TreeWorks: good stuff!

    Felicitari pentru articol, e bine scris, putin incomplet referitor la web 2.0, dar comprehensiv in ce priveste Ajax. Am scris si eu zilele trecute (inca o data) despre Ajax, de fapt despre diferenta dintre AJAX si Ajax – cred ca e o chestiune relevanta aici.

    Esenta web 2.0 cred ca o constituie facilitarea accesului public la baze de date, prin API-uri. Aceasta miscare e fara precedent, iar in frunte cu Amazon, Flickr, Google Maps si Basecamp (nu neaparat Basecamp, dar imi place Basecamp) companiile isi deschid bazele de date si permit oricui sa le acceseze. Sunt foarte interesante proiectele care, de exemplu, afiseaza pin-uri pe hartile din Google Maps pentru locatiile diferitelor produse de pe eBay. Si altele…

  2. Emil Jinga said,

    July 6, 2006 @ 10:46

    Salut Filip si bine ai venit 😀

    Ai dreptate, articolul nu este atotcuprinzator in ceea ce priveste web 2.0 dar nici nu am urmarit acest lucrul. Am incercat doar sa prezint cum vad eu rostul Ajax-ului in contextul web 2.0. Care intre noi fie vorba este ceva atat de difuz, de nedefinit dar in acelasi timp atat de palpabil… Palpabil pentru cei care sunt mai vechi in Internet… Pentru ca cei care abia acum incep sa capete experienta habar nu au cum era internetul acum 2 ani ca sa nu mai spun acum 5 sau chiar mai multi 😀

    Mai multe despre web 2.0 insa au spus altii. Spre exemplu Tim O’Reilly face aici o descriere foarte buna si detaliata a conceptului de web 2.0.

    http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html

    Iti multumesc pentru feedback si ne auzim.

  3. Cristian Curus said,

    February 5, 2007 @ 15:29

    Salut. Aceasta insemnare se potriveste cu tema primului numar din Asterisk Magazine . As vrea sa o preiau pentru publicare. Tot ce trebuie sa faci este sa adaugi semnul “*” in titlul sau la inceputul insemnarii, sau un link catre site-ul http://www.asterisk-magazine.net. Si evident imi trebuie numele autorului si acordul sau via e-mail. 🙂

    Numai bine.
    C.

RSS feed for comments on this post · TrackBack URI

Leave a Comment