INNSIKT: XMLHTTP

Hva var det egentlig som var så galt med Internet Explorer?

Nettleseren kom med funksjonalitet som er helt sentralt i dagens webapplikasjoner, men greide likevel å bli hatobjekt blant webutviklere.

Microsofts webside for Internet Explorer 6, slik den så ut i november 2001.
Microsofts webside for Internet Explorer 6, slik den så ut i november 2001. (Skjermbilde: Digi.no)

Nettleseren kom med funksjonalitet som er helt sentralt i dagens webapplikasjoner, men greide likevel å bli hatobjekt blant webutviklere.

Ingen nettleser har vært mer elsket, og senere forhatt, enn Internet Explorer. Det første høres kanskje ut som en litt drøy påstand, men Internet Explorer var en gang en svært populær nettleser. Ikke bare fordi den fulgte med Windows, men også fordi den fungerte godt og lenge var et satsingsområde for Microsoft, noe som førte mye innovasjon. 

Men dette er rundt 20 år siden. 

Både toppen og bunnen ble nådd med Internet Explorer 6, nettleseren som fulgte med Windows XP i 2001 og som ikke ble erstattet før fem år senere. Det er langt tid uten noe fornyelse, ikke minst innen en plattform (weben) som hadde et enormt potensial. Dette potensialet viste seg ikke minst da det klamme taket til IE6 begynte å løsne. 

Så lenge Microsoft fortsatte å videreutvikle Internet Explorer, var det egentlig ikke så mange som klagde, selv om selskapet på denne tiden i begrenset grad brydde seg om åpne standarder. Dette førte til at mange webutviklere tilpasset tjenestene sine og ignorerte nettleserne som langt færre brukte. 

Les også

Så hva var det som var så galt? 

Det er sikkert mange ulike meninger om hva som gikk galt, men to ting som etter hvert har pekt seg ut, er ActiveX og den varierende støtten for webstandarder. 

ActiveX var i websammenheng Microsofts svar på Java Applets, altså små programmer som kunne gi websider funksjonalitet det ikke var mulig å få til med HTML, CSS og Javascript alene. Adobe Flash var et annet alternativ. 

I motsetning til de konkurrerende teknologiene, var ActiveX kun tilgjengelig i Microsofts nettleser. Det var nok like greit, for ActiveX i websammenheng ble ansett som en sikkerhetsrisiko av rang. Det ble likevel mye brukt, spesielt webbaserte fagsystemer rettet mot Microsoft-kunder.

Boksmodellen 

Microsoft var tidlig ute med å bygge inn støtte for Cascading Style Sheets (CSS) i Internet Explorer. IE3 var den første kommersielle nettleseren med CSS-støtte da den kom i august 1996.

Sammenligning av CSS-boksmodellen slik den fungerer i henhold til W3C-standarden og i eldre utgaver av Internet Explorer.
Sammenligning av CSS-boksmodellen slik den fungerer i henhold til W3C-standarden og i eldre utgaver av Internet Explorer. Illustrasjon: Wikimedia (CC BY-SA 3.0)

Det var mye i Internet Explorer som skapte problemer for webutviklere som også ville støtte andre nettlesere, men boksmodellen i CSS er nok den mest omtalte. Dette handler om noen av de sentrale egenskapene til HTML-elementer – nemlig størrelsen på rektangler, eller bokser om du vil – og måten dette kan bestemmes på av CSS. Det dreier seg om egenskapene height/width, padding, border og margin.

World Wide Web Consortium (W3C), standardiseringsorganisasjonen som står bak mange av webstandardene, definerte i den første CSS-standarden hvordan størrelsen på slike bokser skulle oppgis. Egenskapene height/width skulle beskrive høyden/bredden på selve innholdet. Tykkelsen på kantlinjene (border), samt utfyllingen (padding) mellom innholdet og kantlinjene, kom i tillegg. Samlet utgjør dette bokshøyden/-bredden. Slik er standarden også i dag. 

Det naturlige valget?

I Internet Explorer ble dette gjort på en annen måte. Her ble verdiene av height/width ansett som identiske med hele bokshøyden/-bredden. Det vil si at størrelsen på selve innholdet («content» i illustrasjonen over) tilsvarte height/width minus tykkelsen på padding og border. 

Mange mente at denne tilnærmingen var mer naturlig og logisk, men uansett var den et brudd på standarden som de fleste andre nettlesere etter hvert fulgte, og dermed ble det kluss. 

Internet Explorer 6 kom faktisk med støtte for den standardiserte boksmodellen, men på grunn av bakoverkompatibilitet ble den ikke standardvalget. 

Boksmodellen var ikke det eneste området hvor Internet Explorer avvek fra CSS-standarden. Flere andre er listet på denne siden.

Les også

Et innovativt miljø

De fleste husker nok det negative med Internet Explorer, men det var ikke bare det at den fulgte med Windows som gjorde den populær både blant utviklere og vanlige brukere. Det er temmelig mye webteknologi som ble introdusert i Internet Explorer, som er svært vanlig å bruke den dag i dag.

Iframe-taggen er ett eksempel på dette. Denne ble introdusert i Internet Explorer 3 før den ble en del av HTML 4-standarden i 1997. 

Fant opp XMLHTTP

Viktigere i dag er nok en nyhet som i det stille ble introdusert med Internet Explorer 5 i 1999, nemlig XMLHTTP.  Den var utviklet av Microsofts Exchange-team og ble tatt i bruk i den webbaserte e-postklienten Outlook Web Access (OWA). 

XMLHTTP, kanskje mer kjent ved navnet på selve det JavaScript-baserte programmeringsgrensesnittet XMLHttpRequest (XHR), gjør det mulig å sende data fram og tilbake mellom nettleseren og webserveren i bakgrunnen, uten at det åpne HTML-dokumentet må lastes på nytt.

Alex Hopmann, en utvikler som i dag er ansatt hos Facebook, skrev for en god del år siden et blogginnlegg om historien bak XMLHTTP. Innlegget finnes nå bare i en arkivert utgave

På slutten av 1990-tallet jobbet Hopmann med Outlook Web Access i Exchange 2000. I løpet av en helg – trolig på slutten av 1998 – laget han den første versjonen av det som skulle bli XMLHTTP. 

Exchange Server 2000 ble lansert i november 2000. Senere ble XMLHTTP tatt i bruk av Gmail, som ble lansert 1. april 2004, men ifølge Hopmann var det først da Google noe senere begynte å bruke XMLHTTP i den daværende Suggest-tjenesten, at andre utviklere begynte å kikke på kildekoden for å finne ut hvordan det hele fungerte. 

Les også

Mest kjent som Ajax

I februar 2005 skrev utvikleren Jesse James Garrett et blogginnlegg (arkivert) hvor han ga det samlede konseptet et felles navn, nemlig Ajax (Asynchronous JavaScript + XML). 

Ifølge Garrets definisjon omfattet konseptet også standarder som XHTML, CSS og dynamisk visning og samhandling med DOM (Document Object Model), datautveksling og manipulering ved å bruke XML og XSLT, asynkront datamottak med XMLHttpRequest, samt Javascript for å binde det hele sammen.

I dag brukes Ajax av massevis av webapplikasjoner. Men trolig har mange begynt å bytte ut XMLHttpRequest med det kraftigere og mer fleksible Fetch-API-et som siden mars 2017 har vært støttet av alle moderne nettlesere. 

Vista-fadesen

En vanlig forklaring på hvorfor Microsoft sluttet å videreutvikle Internet Explorer, setter søkelyset på vanskelighetene med det som etter hvert skulle bli Windows Vista. I 2004, tre år etter lanseringen av Windows XP, kom det stadige signaler om nye forsinkelser i Longhorn-prosjektet, som Windows Vista opprinnelig ble kalt. Det viste seg at prosjektet var i ferd med å møte veggen. Årsaken skal ha vært knyttet til måten Microsoft fram til da hadde utviklet Windows på, ved at tusenvis av utviklere hadde laget hver sin bit av koden, som så ble heftet sammen til et eneste, utflytende program, noe som til slutt ble uhåndterlig. 

Resten av forklaringen kan leses i denne artikkelen fra september 2005, mer enn ett år før Windows Vista faktisk ble lansert: Derfor ble Windows Vista så forsinket

Til tross for, eller kanskje på grunn av, all denne innsatsen, ble Windows Vista i manges øyne en fiasko

Hva hadde så dette med Internet Explorer å gjøre? Relativt mye. Allerede den gang var det lenge siden Internet Explorer for Windows var et separat produkt. I stedet var det en integrert del av operativsystemet. 

Alle problemene med Windows Vista førte trolig til at selskapet hadde begrenset med ledige utviklingsressurser til å lage en ny versjon av IE. Men selskapet skyldte også på helt andre ting: 

Problematisk å gi IE ny funksjonalitet

Med Windows Vista kom riktignok IE7, som var en kraftig modernisering. Blant annet fikk nettleseren støtte for faner. Microsoft var nå blitt langt mer opptatt av webstandarder, men greide aldri å hevde seg på dette området før selskapet til slutt ga opp hele satsingen på egen nettlesermotor (Trident/EdgeHTML) for å gå over til å bruke Google Chromium som utgangspunkt for nettleseren Edge i begynnelsen av 2020.

Les også

Kommentarer (10)

Kommentarer (10)
Til toppen