Slučajno sam neki dan naletio na neke stare web projekte koje sam radio prije dolaska u Microsoft. Čistio sam različite direktorije i naletio na, za mene, pravo malo blago – niz testnih koncepata i malih pilot projekata različitih tehnologija, od kojih su neke i završile u finalnim proizvodima. Većinu tih naprednijih projekata radio sam 2002. i 2003. godine (godine prije su bile rezervirane za web-stranice i web-aplikacije po narudžbi, čistu manufakturu) i, što je najzanimljivije, da sam na njima radio danas, bio bih pravi sljedbenik Web 2.0 koncepata, dinamičkih stranica i AJAX-a.
Za početak malo povijesti. Prva ključna stepenica u razvoju dinamičkih stranica je bio Document Object Model, preporuka W3C-a iz listopada 1998. godine. U to doba vladali su Internet Explorer 4 i Netscape Navigator 4, što se i nastavilo do 2000. godine pa je u to vrijeme DOM bio neiskorišten i, zapravo, neimplementiran. Pojavom Internet Explorera 5 (1999. godine) i verzije 6 (2001. godina, što znači da se, ne računajući SP2 za Windowse XP, s verzijom 7 čekalo 5 godina, što je bilo i više nego dovoljno vremena da Firefox uhvati zamah), DOM je otvorio dotad neviđena vrata. Naravno, kasnije su DOM podržali i Gecko preglednici (Mozilla, Firefox), Opera, Konqueror i Safari, što je bilo presudno za kompatibilnost web-stranica.
Sljedeća stepenica u razvoju bila je pojava XmlHttpRequest objekta. Razvijen je za potrebe Outlook Web Accessa za Exchange Server 2000 i implementiran u Internet Explorer 5. To je potaklo lavinu, drugi su preglednici također implementirali isti objekt (odnosno koncept) i zapravo je Outlook Web Access bio prva prava interaktivna web-aplikacija temeljena na AJAX-u. Sam termin AJAX skovao je Jesse James Garett, pazite sad, u veljači 2005. godine da bi klijentima objasnio koje će tehnologije koristiti. S pojavom Web 2.0 koncepata tehnologija je naišla na plodno tlo i danas na raspolaganju stoji barem 18 implementacija AJAX-a. AJAX je postao buzzword i svatko tko imalo drži do sebe i svojih stranica, koristi ga barem za neku sitnicu.
No tehnologija se proširila tek 5 godina poslije svojeg pojavljivanja. Koji je bio presudan faktor za proširivanje i ulazak u mainstream? Upravo čitam knjigu koja objašnjava slične situacije, The Tipping Point. Da li se tek 2005. godine stvorila kritična masa, odnosno količina preglednika koji podržavaju takvu tehnologiju? Da li je u godinama prije bilo ipak dovoljno ono što je stajalo na raspolaganju? Da li su se u godinama prije ljudi još uvijek borili da iskoriste sve što su nudile tadašnje tehnologije, ASP, PHP, CFML i Java? Da li se 2005. godine dogodio sociološki pomak i ulazak nove generacije na Web koja je zahtijevala više interaktivnosti, komunikacije i interakcije, što je u konačnici rezultiralo potrebom za nekom drugom tehnologijom? I konačno pitanje koje si postavljam, koje će današnje tehnologije doživjeti boom tek za dvije, tri ili pet godina?
No da se vratim na ponovno otkrivene svoje stare radove – iznenađen sam koliko su bili napredni. Tad sam radio u tvrtki Tko Zna Zna i razvijali smo internu web-aplikaciju za kolaboraciju za jednu veliku međunarodnu organizaciju. Tadašnji šef imao je nevjerojatan uvid u svakakve tehnologije koje su izlazile iz Microsofta i tako smo se počeli baviti DHTML-om i inim sitnicama. Tad je to radilo samo u Internet Exploreru (ili, da budemo pošteniji, zbog intranet ograničenja aplikacije bili smo toliko slobodni da razvijamo samo za Internet Explorer 5+).
Najbolji demo koji sam upravo našao je mala stand-alone stranica koja na sebi ima implementiran drag&drop boxed elemenata s previewom i malom oznakom gdje će se ubaciti na stranici (današnji Netvibes), zatim tablicu sa stupcima i redcima kojima se mogla mijenjati širina i visina, što bi se zapamtilo za sljedeće učitavanje stranice (standardno za desktop aplikacije, no nisam naišao na nešto slično na webu), i kao šlag na kraju, SmartTag padajući izbornik koji se otvarao nad nekim elementima na stranici za dodatne opcije (uzor nam je tad bio, mislim, Office XP). Danas su ovakvi primjeri standardni i ni po čemu spektakularni, ali sjećam se kako je to tada bila totalna ekstravagancija, pisao sam o tome i u Mreži, a čak sam i održao predavanje o tome na WinDaysima 2003. godine. Predavanje se zvalo „Klijentsko skriptiranje u .NET-u“, ali danas bar mogu priznati – ovo „u .NET-u“ je bilo samo zato da bude primamljivo ljudima, .NET je tad bila vruća roba, a u biti se cijelo predavanje temeljilo na tim DHTML forama kojima se mogu obogatiti web-stranice. Predavanje je doživjelo uspjeh, primarno zbog demonstracija i interaktivnih web-stranica (čak sam od Microsofta dobio na poklon bicikl kao najbolji mladi predavač), a par mjeseci poslije sam i došao u Microsoft. Ah, ta dobra stara vremena…
P.S. Prema naslovu ovog posta, mogao sam se raspisati o ispadanju Hajduka u sezoni 1994/1995, „golu“ Josipa Šimića ili nadolazećem 1. kolu kupa UEFA. Ili možda o rezultatima ultimativnog testiranja proizvoda za čišćenje… Kakve sve mogućnosti pružaju blogovi…