Internet Explorer 8 er død
Akkurat som med IE6 for syv år siden er det på tide å vrake støtte for nåtidens teknologiske sinke blant nettlesere – IE8.
I 2009 hadde bransjen sett seg lei på å fortsatt støtte Internet Explorer 6 (IE6), som da ble 8 år gammel – en evighet i internettets tidsperspektiv. Norske webutviklere var heldige at det var såpass få på IE6 i Norge den gang; internasjonalt måtte man støtte den enda et par år.
Vi vendte IE6 ryggen og sluttet å kaste bort kunders penger på å støtte det.
Den teknologiske utviklingen på internett har bare økt hastighet siden det og i 2015 kom slutten på Internet Explorer som produkt; Edge overtar som Microsofts nettleser med Windows 10.
Internet Explorer 7 døde en stille død uten noe særlig oppmerksomhet, men vi har sett oss nødt til å fortsette støtte for Internet Explorer 8. Og det har vært nesten like kjipt som det var å måtte støtte IE6.
IE8 holder oss tilbake – og koster deg penger
På mange områder er IE8 en teknologisk sinke som skaper hodebry for webutviklere. Uten å måtte ta hensyn til IE8 vil webutvikling bli enklere og smidigere – og dermed mindre kostbart.
Først og fremst: IE8 støtter ikke HTML5.
Hvis Tinder var en møteplass for webløsninger, hadde du aldri gått videre med en som ikke var basert på HTML5.
HTML5 er bærebjelken for, ikke bare alt som skjer på web, men også mye som skjer på mobilen din. Mange apps til mobile enheter er laget med HTML5.
Så hvorfor i alle dager skal vi fortsette å støtte en nettleser som ikke forstår grunnspråket som alle moderne webløsninger bruker?
Det går an å "jukse" inn delvis støtte for HTML 5 i IE8 med et Javascript, men altså bare HTML-delen av HTML5-plattformen, som inkluderer langt mer enn bare hvordan webdokumenter skrives.
Når man må støtte IE8, må man ha slike backup-løsninger for mange forskjellige teknologier som vi i dag tar for gitt. Dette kompliserer enhver webløsning og øker risikoen for at noe skal gå galt.
Javascript og Javascript-rammeverk
En god grunn til å skille ut IE8 for seg selv innenfor Javascript-verden er at Internet Explorer ikke fikk støtte for Javascript 5 (ECMAScript 5) før IE9.
Er det en ting utviklere hater, så er det å måtte kode ting med en utdatert versjon av et programmeringsspråk som ikke har de nyeste og smidigste (les: kostnadseffektive) måtene å gjøre ting på.
jQuery, det mest brukte Javascript-rammeverket i verden, har to forskjellige versjoner – en som støtter Internet Explorer før versjon 9, og en som støtter alt annet.
I kommende versjon 3 av jQuery skiller de kun på IE8-støtte.
Med andre ord, alle løsninger som skal ta hensyn til IE8 må servere to forskjellige versjoner av jQuery avhengig av om de bruker IE8 eller ikke. Urk.
Angular er et Google-støttet Javascript-rammeverk for å lage kompliserte webapplikasjoner som har blitt mer og mer populært de siste årene.
14. oktober 2014 ble versjon 1.3 av Angular lansert – uten støtte for IE8. Angular 2.0, en fullstending omskriving av rammeverket, er nå ute i betaversjon og skal støtte Internet Explorer tilbake til versjon 9.
ReactJS er et annet rammeverk som er i vinden, som i utgangspunktet fungerer med IE8 så lenge du har lagt inn andre backup-løsninger de tar for gitt at du allerede har med.
Og til og med da er det noen ting som rett og slett ikke fungerer i IE8, uansett hvor mye hacking du gjør.
(12. jan: React avvikler IE8-støtte fra versjon 15.)
SVG
En av de deiligste delene av webplattformen er SVG – Scalable Vector Graphics – en XML-basert måte å lage grafikk. Spesielt med inntoget av "responsive design" har SVG blitt desto viktigere fordi det er "Scalable", derav responsivt av natur.
IE8 støtter selvfølgelig ikke SVG.
Det betyr at man igjen må lage masse PNG- eller GIF-bilder til IE8 mens alle andre nettlesere får SVG, som igjen tar mer tid og kompliserer løsningen.
Fordelen med SVG er at det er XML, man kan lese det som man gjør et HTML-dokument og gjøre endringer på det manuelt i et tekstredigeringsprogram. PNG-er og GIF-er kan man kun lage med bilderedigeringsprogrammer som Photoshop (les: tidkrevende).
Enda en fordel med SVG er at man kan endre på bildets egenskaper ved hjelp av noe alle nettsider bruker i dag: CSS (stilark).
La oss si at du har et ikon som skal ha forskjellige farger avhengig av hvor det brukes i løsningen. Med SVG kan du lage én fil med ikonet definert, og endre fargen så mye du bare vil med å endre stilreglene i CSS.
Med IE8, må du generere opp én bildefil (PNG/GIF) per farge, og håndtere at riktig fil(bane) vises frem i alle de forskjellige tilfellene. Urk.
CSS
Apropos CSS har IE8 så godt som null støtte for egenskaper som bare finnes i CSS3, nyeste versjon av stilspråket som brukes til å innføre design på nettsider.
- Runde hjørner uten å bruke bilder? Sorry, IE8 kan ikke det.
- Flere bakgrunnsbilder definert opp på hverandre i en boks? Sorry.
- Transformasjoner, f.eks. rotering og skalering av objekter? Sorry.
- Skygge på bokser? Nei.
- Gjennomsiktige farger? Aldeles ikke.
- Responsiv design? Ha ha... nei.
Det er rett og slett utrolig irriterende å skulle innføre et moderne webdesign som fungerer i IE8.
I beste fall blir man enig om at ting ser kjipere ut i IE8 enn andre nettlesere. I verste fall kaster man bort masse tid (les: penger) på å få det til å se "pixel perfect" ut ved å ty til all slags mulige hacks og backup-løsninger – eller gjøre løsningen kjipere for alle nettlesere.
Kan vi ikke slippe alt dette?!
En varslet død
Helt tilbake i november 2012 fyrte Google av et varselskudd om at IE8-støtte var i ferd med å kollapse. Google avviklet støtte for IE8 i sin Google Apps-plattform 15. november 2012. Siden man måtte være kunde for å bruke denne plattformen, var det trygt for Google å stille krav til brukerne av systemet. Det var ikke trygt å avvikle støtte for gratisløsninger som var fritt tilgjengelig, ennå.
En måned etter Windows 10 ble lansert gav Google derimot et tydeligere signal om at IE8 nå må ut. Etter 31. august 2015 fjernet Google støtte for IE8 i sin Google Maps-plattform, et av Googles mest brukte produkter.
Microsoft vil drepe IE8
I november 2013 ble Internet Explorer 11 lansert og Microsoft bestemte seg da for å tvinge brukere av Windows 7 over på denne nye versjonen. Noen av disse brukerne satt fortsatt med IE8.
Microsoft annonserte nylig at alle tidligere versjoner av Internet Explorer nå fases ut fra deres støtteregime. Etter 12. januar 2016 vil ikke Microsoft lenger gi støtte for noe annet enn Internet Explorer 11.
12. januar kommer også Microsoft til å mase på Windows 7-brukerne sine om å oppgradere nettleseren sin.
It's not us – it's you, IE8. It's over.
Vi dropper IE8-støtte
Her i Epinova besluttet vi ifjor høst å droppe IE8-støtte som en del av våre vanlige utviklingsrutiner. Det vil si at vi ikke lenger kommer til å anbefale kunder å ha med IE8-støtte som en del av en leveranse – med mindre det foreligger særlig grunn til det.
I noen tilfeller vil man måtte fortsette å ha en viss støtte for IE8, f.eks. i offentlige løsninger. Her er det viktig å skille mellom funksjonell støtte og visuell støtte.
Det er overhodet ikke kostnadseffektivt eller forsvarlig å sikre at IE8 får den samme visuelle opplevelsen som alle andre nettlesere, men den kan gjerne fortsatt fungere.
I andre tilfeller kan man se fra besøksstatistikken at noen løsninger har en spesiell brukergruppe som har høy andel bruk av IE8 (eller andre eldre nettlesere). Dersom man vurderer det nødvendig, kan man ta med IE8-støtte i disse tilfellene.
Utover særtilfellene – dropp IE8.
Innen utgangen av 2015 har bruken av IE8 falt under 1 % i Norge – faktisk så lavt som 0,1 % i de største løsningene vi sitter på tall for.
For å sette dette litt i perspektiv: det er flere som ser nettsiden din fra innenfor en app, enn med IE8. Tester du hvordan nettsiden din ser ut innenfor app'er? Jeg tviler på at du sa ja nå.
Det er flere som bruker Opera 12, lansert i 2012, enn Internet Explorer 8. Tester du Opera 12? Nei, jeg trodde ikke det.
Internet Explorer 8 er ferdig.
Sett pengene du sparer på å ikke støtte IE8 i løsningen din på konto – eller bruk de til å forbedre løsningen din på andre måter.
Universell utforming, kanskje?
Men der får vi et dilemma: er det i strid med universell utforming å ha en løsning som ikke fungerer i eldre nettlesere? En diskusjon til en annen gang.