Indrømmet: Denne artikel skulle egentlig have handlet om noget helt andet. Den skulle beskrive de seneste trends inden for webudvikling og viderebringe et magisk glimt ind i krystalkuglen for at komme med en tvivlsom besvarelse af spørgsmålet: Hvad bliver det næste hotte inden for webudvikling? Hvad er det, alle vil tage for givet, når vi engang kigger tilbage på HTML5 på samme måde, som vi nu kigger tilbage på Flash?
Anledningen var webudvikler-konferencen At The Front End, hvor flere ledende webudviklere blev samlet for at øse ud af deres indsigt.
Men jeg må desværre skuffe. Efter at have konfronteret webudvikler-evangelisten Chris Heilmann fra Microsoft med spørgsmålet, kommer der et lidt anderledes svar:
»Det spørgsmål hører man alt for meget i tech-pressen. Vi er blevet for begejstrede for ny teknologi i branchen, og det er blandt andet mediernes skyld. Der foregår et rotteræs i teknologi-virksomheder og blandt udviklere for hele tiden at lave nye udgivelser. Det er en farlig ting, fordi vi kommer til at udgive halvfærdige ting,« siger han og fortsætter:
»Vi er inde i en teknologi-boble, hvor vi er en lille elite med adgang til en masse teknologi, mens den gennemsnitlige bruger kun sidder med sin skrivebordscomputer eller bærbare. Men i stedet forventer vi, at folk har adgang til den sejeste teknologi og bygger derfor i virkeligheden tingene for os selv i stedet for folket.«
Chris Heilmann bruger pixel-perfekte hjemmesider, som eksempler på, hvordan udviklere bruger mere krudt på at smide lækre effekter på som parallax-scrolling i stedet for at sørge for, at hjemmesiden også er brugbar for dem, der sidder med en gammel uddateret browser.
Alt for ofte er det tilfældet, at hjemmesider er optimeret til en bestemt browser og er afhængig af eksempelvis javascript, lyder det fra Microsoft-udvikleren, der blandt andet har været med til at udvikle den kommende Microsoft Edge-browser til Windows 10.
Der var engang - især i 90’erne - da de fleste hjemmesider som standard krævede, at man besøgte dem med Internet Explorer. Forsøgte man sig med andre browsere, kunne det betyde, at hjemmesiden slet ikke kunne vises. Dette er heldigvis ved at være ovre, men det betyder ikke nødvendigvis, at alle udviklere har lært lektien og gjort sig platformsuafhængige ifølge Chris Heilmann, der også er tilknyttet Mozilla Developer Network.
»Vi er ved at gentage de samme fejltagelser fra 90’erne igen med Chrome, fordi det er den mest coole browser lige nu. Men vi er nødt til at holde os uafhængige af browsere og kapabilitet, ellers så kommer vi til at sidde her om fem år og være irriterede over, at folk måske ikke bruger Chrome længere,« siger han og påpeger, at den største vækst i internetbrugere sker fra Kina, hvor folk går på nettet med alt fra gamle mobiler til ældre version af Windows til de nyeste smartphones.
»Vi kan ikke kontrollere brugernes miljø, og hvis vi kunne, ville det være enden på internettet,« siger han og fortsætter:
»Det er noget fis, når man som bruger får at vide, at ens ‘device ikke er understøttet’. Lad være med at gentage denne fejl, bare fordi en anden browser er fancy lige nu, ellers ender du med at gøre folk sure.«
Javascript-afhængighed kan ødelægge web-oplevelsen
Den primære fejltagelse fra mange webudviklere består ifølge Chris Heilmann i, at de ikke designer hjemmesiderne ud fra en grundlæggende forståelse af, hvordan man gør kernefunktionaliteten tilgængelig for brugerne på tværs af alle platforme - også de ældre. Denne metode kaldes også for Progressive Enhancement (PE).
Et eksempel på dette er den meget udbredte brug af javascript med tilhørende populære frameworks som eksempelvis AngularJS. Det er ikke så meget det, at udviklere bruger javascript, der er problemet ifølge Chris Heilmann, men snarere det, at mange hjemmesider slet ikke fungerer, hvis javascriptet ikke loader.
»Javascript er ikke fejl-tolerant. Hvis der er en fejl, så er der ofte intet, der virker. Og der er mange måder, som javascript kan fejle på,« siger Chris Heilmann.
I stedet bør man som webudvikler designe en hjemmeside således, at brugeren stadig har adgang til kernefunktionaliteterne, selvom javascriptet fejler, lyder anbefalingen.
Et eksempel på dette er Googles søgninger. Som bekendt begynder Google allerede at vise nogle resultater på ens søgning i det øjeblik, man begynder at skrive i søgeboksen, og denne funktionalitet bliver leveret med javascript. Men hvis javascript er slået fra, vil søge-funktionaliteten stadig fungere fint, selvom man som bruger ikke får den ekstra oplevelse af øjeblikkelige søgeresultater.
»Du kan godt bruge Google uden javascript. Det er ikke smukt, men det er heller ikke defekt,« siger Chris Heilmann og uddyber:
»På den måde bliver oplevelsen bedre, hvis brugeren har et bedre miljø, men det er ikke et krav at have et bedre miljø for at benytte sig af tjenesten. Det er med til at beskytte Googles kerneforretning: at facilitere søgninger og vise reklamer.«
Idéen med Progressive Enhancement er, at man lægger forskellige lag oven på hjemmesiden, hvor de mest basale funktioner er tilgængelige lige meget hvad. Det kan ifølge Chris Heilmann sammenlignes med en rulletrappe: Selvom der ikke er strøm, så kan man stadig bruge den som en almindelig trappe. Rullefunktionen er en ekstra luksus, som dog ikke er afgørende for, at folk kommer fra a til b.
»Progressive Enhancement er et varmt emne lige nu inden for webudvikling,« siger han.
Et par eksempler:
I stedet for at lade brugeren vente i lang tid på at indlæse en tung web font, bør udviklere ifølge Chris Heilmann vælge en standard-font og så erstatte den med den nye font, efter at den er indlæst.
Og det er også en dårlig idé at lave sign up-formularer, der kræver javascript til validering af brugernes input for at virke.
»Så kan brugeren altid slå javascript fra og skrive ting, der ikke er tilladt. Du åbner dig selv for hackere på denne måde,« siger han.
Heilmann: Progressive Enhancement betaler sig i det lange løb
Progressive Enhancement kan oversættes som ‘trinvise forbedringer’ og er en tankegang, der begynder allerede før, man som udvikler begynder at skrive den første linje kode. På et konkret plan handler det om at omgive de forskellige funktionaliteter med en if-erklæring, der kun tillader en feature, hvis brugerens browser understøtter den.
»Når du tester for kapabiliteter, så slipper du for problemet med at antage, om noget virker eller ej. På den måde undgår du også at skulle registrere, hvilken browser brugeren har og holde styr på, hvad de forskellige versioner understøtter,« siger Chris Heilmann.
Et andet udbredt eksempel på, hvordan webudviklere glemmer Progressive Enhancement, er i de knapper med farveovergange på hjemmesiderne, som især blev kendte med iPhonens udbredelse. Problemet opstår ifølge Chris Heilmann, fordi mange af knapperne blev lavet med en webkit gradient, som virker specifikt til iPhonens Safari-browser, men som ikke bliver vist korrekt i andre browsere. Hvis teksten på knappen er hvid, og knappens farveovergange ikke bliver vist, ender brugeren med at se på en uforståelig knap, hvor det ikke er til at læse en hvid skrift på en hvid baggrund.
»Så har man glemt at definere en anden baggrundsfarve at falde tilbage på, hvis effekten med farveovergangen ikke virker,« siger Chris Heilmann.
Der ligger mere udviklerarbejde med at indtænke Progressive Enhancement i en hjemmeside, fordi det kræver en nøje overvejelse af, hvordan man bedst tester, om brugeren kan benytte sig af de forskellige funktionaliteter, og samtidig opstiller brugbare alternativer.
Alligevel betaler det sig i det lange løb, når et site skal videreudvikles, og der kommer nye versioner af de forskellige browsere på markedet, som vælger nye teknologier og fravælger at understøtte gamle. Eksempelvis trak Google med version 42 af Chrome-browseren i april stikket for understøttelsen af Java. De hjemmesider, som var afhængige af Java for at fungere, havde derfor en større udviklingsopgave foran sig.
»Progressive Enhancement beskytter din virksomheds kerneforretning. Dem, som ikke benytter sig af PE, kommer til at betale mange penge for ekstra-udvikling, når der kommer nye telefoner og tablets på markedet,« siger Chris Heilmann.

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.