Jeg tror ikke, at browsere vil gå væk med den næste store udvikling af internettet, men jeg ville ikke blive overrasket, hvis browsere genopfindes på et tidspunkt for bedre at passe til, hvordan vi surfer på internettet.
Ikke, at webbrowsere ikke er ændret siden de først blev vist. De har gennemgået store ændringer, men det har været en gradvis proces med nye ideer som Java, Javascript, ActiveX, Flash og andre add-ons, der kryber ind i browseren.
En ting jeg lærte som programmerer var, at når en applikation udvikler sig på måder, som den ikke oprindeligt var udviklet til, begynder den at blive klumpet. På dette tidspunkt er det ofte bedst at bare starte over fra bunden og designe noget, der tager højde for alt, hvad du vil have det til at gøre.
Og det er på høje tid, det var gjort for webbrowseren. Faktisk, da jeg først begyndte at programmere webapplikationer tilbage i slutningen af 90'erne, troede jeg det var på tide at skabe en helt ny webbrowser. Og internettet er blevet meget mere sofistikeret siden da.
Webbrowsere er dårligt rustet til at gøre, hvad vi ønsker
Det er sandt. Webbrowsere er forfærdeligt designet, når du overvejer, hvad vi beder dem om at gøre i disse dage. For at forstå dette skal du først forstå, at webbrowsere oprindeligt var designet til at være i hovedsagen et tekstbehandlingsprogram til internettet. Markupsprog for nettet er påfaldende svarende til markup-sprog for tekstbehandlere. Mens Microsoft Word bruger specialtegn til at betegne for fed skriftlig tekst eller for at ændre dens skrifttype, er det er gør grundlæggende det samme: Start Fed. Tekst. Afslut bold. Hvilket er det samme, vi gør med HTML.
Hvad der er sket i de sidste tyve år er, at denne tekstbehandler til internettet er blevet ændret for at tage højde for alt, hvad vi vil have det til at gøre. Det er som et hus, hvor vi har vendt garagen ind i en hule og loftet i et ekstra soveværelse og kælderen i en salon, og nu vil vi forbinde opbevaringsrummet tilbage og gøre det til et nyt rum i hus - men vi vil løbe ind i alle slags problemer, der leverer el og VVS, fordi alle vores ledninger og rør er blevet så vanvittige med alle de andre tilføjelser, vi har lavet.
Det er hvad der er sket med webbrowsere. I dag vil vi bruge vores webbrowsere som kunde til en webapplikation, men de var virkelig ikke ment til at gøre det.
Det grundlæggende spørgsmål, jeg havde med webprogrammering, og en af hovedårsagerne til, at browsere lavede dårlige kunder til webapplikationer, er, at der ikke var nogen god måde at kommunikere med webserveren på. Faktisk, da var den eneste måde du kunne få oplysninger fra brugeren på, for at de kunne klikke på noget. Væsentligt kunne oplysninger kun overføres, når en ny side blev indlæst.
Som du kan forestille dig, det gjorde det meget svært at få en virkelig interaktiv applikation. Du kunne ikke have nogen skrive noget i en tekstboks og tjekke oplysninger om serveren, mens de skrev. Du skal vente på dem for at trykke på en knap.
Løsningen: Ajax.
Ajax står for asynkron JavaScript og XML. I det væsentlige er det en måde at gøre, hvad de ældre webbrowsere ikke kunne gøre: kommunikerer med webserveren uden at kræve, at klienten genindlæser siden. Dette opnås gennem et XMLHTTP ActiveX-objekt i Internet Explorer eller en XMLHttpRequest i næsten alle andre browsere.
I grund og grund, hvad dette gør det muligt for en webprogrammerer at gøre, er udvekslingsinformation mellem klienten og serveren som om brugeren havde genindlæst siden uden at brugeren nogensinde genopførte siden.
Det lyder godt, ikke? Det er et stort fremskridt, og det er hovedårsagen til, at Web 2.0-applikationer er så meget mere interaktive og nemme at bruge end tidligere webapplikationer. Men det er stadig en Band-Aid. I princippet sender klienten nogle oplysninger til serveren, og den sender en tekstblok tilbage, hvilket efterlader klienten arbejdet med at tolke teksten. Og så bruger klienten noget, der hedder Dynamic HTML, for at få siden til at virke interaktivt.
Dette er en smule anderledes end, hvordan normale klientserverapplikationer fungerer. Med ingen begrænsninger på data, der går frem og tilbage, og med hele arkitekturen bygget med et øje på at lade klienten manipulere skærmen i luften, er det ved at bruge Ajax teknikker til at opnå dette på nettet, som at hoppe gennem hoops for at komme derhen.
Webbrowsere er fremtidens operativsystemer
Microsoft vidste det tilbage i 90'erne. Derfor kom de ind i den browserkrig med Netscape, og derfor tog Microsoft ikke slag i at vinde den krig. Desværre - i hvert fald for Microsoft - eksisterer der en ny browserkrig, og den bekæmpes på mange forskellige platforme. Mozilla Firefox bruges nu af ca. 30% af internetbrugerne, mens Internet Explorer har oplevet en markedsandel fra over 80% til godt over 50% i de seneste fem år.
Med de nuværende webtendenser som Web 2.0 og Office 2.0, der bringer historisk desktop applikationer til nettet, bliver der mere uafhængighed i valget af operativsystemer og mere betydning for standardiserede browsere. Begge er ikke gode nyheder til Microsoft, hvis Internet Explorer-browser har tendens til at gøre ting anderledes end hvad de fleste andre browsere gør. Igen, ikke meget gode nyheder til Microsoft.
Men en stor ting ved at bruge udviklingsværktøjer på et operativsystem er, at du kan bruge standardiserede objekter til at oprette din grænseflade. Du har også stor kontrol over, hvordan du interagerer med disse objekter, og kan endda lave dine egne udskiftninger.Med webprogrammering er det vanskeligere at nå dette niveau af kontrol, hovedsagelig fordi browsere ikke oprindeligt var beregnet til at være sofistikerede kunder til en stor applikation - langt mindre fremtidens operativsystem.
Men mere og mere, det er det, de bliver. Google Docs indeholder allerede et tekstbehandlingsprogram, regneark og præsentationssoftware. Kombiner dette med Googles mailklient, og du har din grundlæggende softwarepakke til kontor software. Vi kommer langsomt, men sikkert til det punkt, hvor de fleste af vores applikationer vil være tilgængelige online.
Den stigende popularitet af Smartphones og PocketPCs skaber en helt ny grænse for internettet. Og mens den nuværende tendens er, at mobilt internet fusionerer med det 'rigtige' internet, diskuterer det ikke det mobile landskab som en nøgleaktør i udformningen af, hvordan "fremtidens internet" vil se ud.
Et centralt aspekt er, at det skaber en ny front i webbrowser krigen. Hvis Microsoft skal forblive dominerende med sin Internet Explorer-browser, skal den opnå dominans på mobile enheder med "Pocket IE", Microsofts Internet Explorer til Mobile-browser.
Et andet interessant aspekt af, hvordan mobile enheder har adgang til internettet, er brugen af Java-applikationer, der erstatter traditionelle webportaler. I stedet for at gå til Microsoft Live eller Yahoo kan mobile brugere downloade Java-versioner af disse websteder. Dette skaber en interaktiv oplevelse, der er den samme som enhver klient-server applikation uden alle de faldgruber, der opleves af webbrowsere.
Det viser også, at store web-spillere er villige til at designe deres websteder til en ny applikationsudviklingsplatform.
Fremtidens browser
Jeg ville ikke placere nogen væddemål, så vi får se en større ændring i, hvordan webbrowsere er designet, når som helst i den nærmeste fremtid. Hvorvidt Web 3.0 vil indvarsle en ny type browser eller gå i en helt anden retning, er nogens gæt på dette tidspunkt.
Men på samme tid ville jeg ikke være overrasket over at se en helt ny type browser fuldstændig omskrevet med webapplikationer med det formål at revolutionere internettet. Det kan tage en stor spiller, der designer det, og store spillere som Google og Yahoo og andre kommer bag det, hvilket ikke er det nemmeste at opnå, men det er muligt.
Hvad ville denne browser af fremtiden være? Jeg forestiller mig, at det ville være som at slå sammen vores nuværende browsere, ActiveX og Java for at skabe noget, der kan være både et mini-operativsystem og en udviklingsplatform.
For dig og mig ville det være som at indlæse vores kontoprogram, der uhindret skifter mellem et tekstbehandlingsprogram og et regneark, og lige så nemt at skifte til et massivt multiplayer online rollespil.
I det væsentlige ville hver hjemmeside være en egen ansøgning, og vi kunne nemt gå fra et websted / applikation til det næste.
Hvad tror du Web 3.0 vil medbringe?