Efter mange års tovtrækkeri er den næste udgave af webbets sprog, HTML, ved at tage form. HTML5 skal gøre gabet mellem skrivebordsprogrammer og webapplikationer væsentligt mindre, og på papiret ser det ud til at blive en lille revolution, i form af de muligheder, som den kommende standard kan byde udviklerne – når den engang bliver færdiggjort. Hvornår det sker, er endnu usikkert.
Video for alle – måske
Det nye video-tag er måske det, der har fået mest omtale i forbindelse med HTML5. I stedet for at benytte plugins til at indlejre videoafspilning i browseren er der nu et selvstændigt HTML-tag, som kan klare opgaven. Men specifikationen har ikke taget misteltenen i ed, for der er ingen enighed om, hvilket videoformat der skal benyttes.
Indtil videre bruger Firefox og Opera den temmelig ringe Theora-codec, som ingen andre bakker op om, mens Microsoft og Apple kun vil implementere den gængse codec H.264, som også benyttes i Flash-afspilleren, i Internet Explorer 9 og Safari. Google vil muligvis satse på sin egen codec VP8 i Chrome.
Det kan i værste fald ende med en situation, hvor de store browserproducenter implementerer hver deres codec, hvilket nedsætter anvendelsesmulighederne væsentligt.
Smid din middleware på porten
Den HTML5-funktion, som har det største potentiale til at ryste web-verdenen, er nok websockets, som gør det muligt at benytte noget, der ligner en almindelig TCP-forbindelse fra et Javascript. Ajax-teknologien gjorde det muligt at hente data fra browseren uden at genindlæse websiden, men det kræver en http-forespørgsel hver gang. Hvis man ønsker en permanent åben forbindelse til serveren, kræver det hacks kendt under navne som Comet og "long polling", hvor http-forbindelsen holdes åben gennem netværk og firewalls. Websockets fjerner behovet for hacks ved at tilbyde en permanent tovejs serverforbindelse uden det væsentlige overhead, som http-protokollen anvender.
Websockets gør det muligt at skubbe data fra server til browser i realtid, for eksempel chat-beskeder eller børsnoteringer. Hvis der benyttes XML som format, kan browseren via Javascript nemt transformere data til noget, der kan præsenteres til brugeren uden de store dikkedarer. Det kan eliminere eller i hvert fald simplificere meget af den middleware, som applikationsservere benytter i øjeblikket. Chrome kan allerede byde på websockets, og på serversiden findes der også mange implementeringer.
Offline webapplikationer
For at skabe programmer med webteknologi, som til forveksling ligner dagens skrivebordsapplikationer, kræves det, at programmerne også fungerer uden netværksforbindelse, og det giver behov for at gemme data lokalt samt benytte Javascript og websider lokalt.
Alt dette findes i Googles Gears-plugin, som har gjort det muligt delvist at benytte Googles webapplikationer såsom Google Docs og Gmail i offline-tilstand. Google har sendt Gears på pension, men nye muligheder, som formelt ikke er en del af HTML5, men en sideløbende specifikation, minder meget om Gears, dog heldigvis på en simplere facon end hvad der kendes fra Googles plugin.
På datasiden findes den nye localStorage-funktion i Javascript. Den gemmer nøgler og værdier i en hashtabel, som skrives til disk lokalt og gemmes fra session til session.
På den længere bane arbejdes der med at udvide lagringsmulighederne til at omfatte en SQL-baseret database, som det også kendes fra Google Gears. Her er der endnu et stykke udestående arbejde med specifikationen, der altså ikke er en del af HTML5, men en foreløbig implementering findes allerede i Chrome og Safari.
Webapplikationer understøttes også med muligheden for at cache ressourcer lokalt og på den måde give mulighed for begrænset funktionalitet i offline-tilstand, som at opdatere en web-kalender offline, hvorefter kalenderen kan synkroniseres med en server, når netforbindelsen er tilbage igen. Det klares på simpel vis, som i Gears, ved at erklære en manifest-fil, der beskriver, hvilke ressourcer såsom HTML, Javascript, CSS og medie-filer der kan tilgås lokalt.
Plugins spiller stadig en rolle
Blandt andre nyheder i HTML5-standarden er det nye Canvas-element, som gør det muligt at tegne grafik i browseren via Javascript. Dertil kommer en række nye HTML-tags, som for eksempel muligheden for at benytte drag-and-drop i webapplikationer.
Mens nogle, som Apples Steve Jobs, ser de mange nyskabelser i HTML5 som afløser for den rolle, browserplugins har spillet hidtil, så afviser analysefirmaet Forrester Research denne mulighed:
"I de næste fem år er svaret et definitivt 'nej'. Usammenhængende implementeringer af udkastet til HTML5-specifikationen og umodne værktøjer gør det til en stor udfordring at skrive HTLM5-programmer, der fungerer ensartet på tværs af styresystemer og browsere," konkluderede Forrester for nylig i en rapport om HTML5.