Husker du Wireless Markup Language?

Både Telenor, Trafikanten, DnB og drosjenæringen var spente på teknologien.

Nokia 7110 var den første telefonen på det norske markedet med WAP-støtte. Her fra InfoBase 2000-messen i Frankfurt. 📸: Frank Rumpenhorst / Scanpix
Nokia 7110 var den første telefonen på det norske markedet med WAP-støtte. Her fra InfoBase 2000-messen i Frankfurt. 📸: Frank Rumpenhorst / ScanpixVis mer

Nesten ti år før Steve Jobs viste frem Safari-nettleseren i den aller første iPhonen, var det en helt annen mobilteknologi nordmenn siklet på. Den het WAP og rett før årtusenskiftet rullet de første "WAP-kompatible"-telefonen inn på det norske markedet - et system som skulle gi den jevne nordmann tilgang til webben fra mobiltelefonen. Det var nesten ikke til å tro.

Men det var én hake. WAP-sider var ikke vanlig HTML, de var WML.

Mobile first?

Rundt årtusenskiftet fantes ikke begrepet "mobile first". De fleste nettsider var stort sett "Desktop only", og folk flest leste nettaviser og brukte online-tjenester primært fra hjemmedatamaskinen. Disse nettsidene var alt for tunge for datidens mobiltelefoner, som ofte ikke kunne overføre data raskere enn et modem fra midten av 90-tallet. Vi snakker en teoretisk makshastighet på 40-50 kbit per sekund.

Derfor bestemte Ericsson og Nokia - som på den tiden var ledende mobiltelefon-produsenter 🤔- seg for at det måtte en ny standard til, og slik ble WAP, eller Wireless Application Protocol, født.

Og siden WAP-standarden ikke kunne ta sjansen på å tolke potensielt gigantiske HTML-sider måtte et eget, mer begrensende, markup språk til, WML.

Til og med Google dukket opp på WAP. 📸: Alex Segre/REX / Scanpix
Til og med Google dukket opp på WAP. 📸: Alex Segre/REX / Scanpix Vis mer

Kortstokk istedenfor nettside

WML, eller Wireless Markup Language, var i utgangspunktet ikke så forskjellig fra HTML. Du hadde en del gjenkjennelige tags som IMG, A, BR, TABLE og til og med skjema-elementer som INPUT og SELECT.

Men det var ett punkt der WML skilte seg radikalt fra HTML. I motsetning til HTML, som tjener en nettside per forespørsel, tjente nemlig WML en såkalt kortstokk. Et WML dokument deles opp i mange kort med CARD-taggen, og en samling kort kalles en kortstokk. Tanken var at brukeren skulle kunne navigere mellom flere sider i en kortstokk via navigasjonspiler, uten å gjøre en ny og dyr forespørsel til serveren.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card id="one" title="First Card">
<p>
This is the first card in the deck

</p>
</card>

<card id="two" title="Second Card">
<p>
Ths is the second card in the deck
</p>
</card>

</wml>

WML ble overført i binærformat for å spare enda mer båndbredde, og formatet ble faktisk tjent fra helt vanlige webservere. Men, WAP-telefonene kommuniserte ikke direkte med dem. Når du ba telefonen din besøke en nettside, ble du først sendt til en gateway, ofte hos teleleverandøren, som igjen hentet data fra nettsiden og sendte videre til telefonen. Dette foregikk usynlig for brukeren.

Eget scriptespråk og bildefiler

Utfordringene med båndbredde gjorde at WML-språket ble hyperfokusert på kompresjon. Anbefalt maksstørrelse på bilder var 1,5 kilobyte, og i de fleste dokumenter på nett ble det sterkt anbefalt å ikke gå bananas med grafikk. Det var tross alt en del telefoner med WAP-støtte som ikke støttet bilder i det hele tatt.

WBMP var et monokromt bildeformat for WAP-telefoner. 📸: Markku Ulander / Scanpix
WBMP var et monokromt bildeformat for WAP-telefoner. 📸: Markku Ulander / Scanpix Vis mer

For å sikre at innholdsskapere fikk komprimert bildene sine nok ble det opprettet en egen bildestandard for WAP, WBMP, eller Wireless Application Protocol Bitmap Format. Et monokromt bildeformat som kun støttet sort og hvitt.

WML hadde også sitt eget scripte-språk kalt WMLScript, som kjørte på frontend. Språket var basert på ECMA-script-standarden og minnet derfor mye om JavaScript. Et par vesentlige forskjeller var at WMLScript ikke hadde objekter eller array-er, men i motsetning til JavaScript kunne det inkludere eksterne funksjoner fra andre script. Et klassisk WMLScript kunne se slik ut:

extern function helloWorld()
{
  WMLBrowser.setVar("message", "Hello World. Welcome to our WMLScript tutorial.");
  WMLBrowser.refresh();
}

Med en referanse til "message" i WML-koden:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd">

<wml>
  <card id="card1" title="WMLScript Tutorial">
    <p>
      <a href="helloWorldEg1.wmls#helloWorld()">Run WMLScript</a><br/>
      $(message)
    </p>
  </card>
</wml>

WMLScript ble kompilert av Gatewayene før de nådde brukerens telefon og kunne derfor ikke bygges rett inn i WML-filene. De måtte ligge i eksterne filer.

WAP i Norge

En av dem som var lengst fremme på WAP i Norge var Telenor, som stod klar med en såkalt "WAP-Portal" allerede før lansering av den første WAP-telefonen, Nokia 7110, i oktober 1999. Portalen skulle rett og slett gi brukeren tilgang til utvalget av WAP-tjenester som fantes.

Økonomiaviser som Hegnar spådde en lys fremtid for WAP og WML.

- Shopping kommer med museskritt, og snart kan du taste inn drosjebestillingen på en WAP-telefon, skrev de blant annet i februar 2000.

På den tiden var både TV2 og Dagbladet godt i gang med aviser på WAP, og både DnB og Trafikanten hadde lansert egne tjenester. For drosjenæringen var håpet at drosjebestilling via WAP skulle løse et problem med bomturer til bestillinger fra mobiltelefon, skriver Hegnar i samme artikkel.

Til og med blogging skulle komme til WAP i følge ITAvisen.

I 2006 så fortsatt nettsider slik ut på mobiltelefoner. Her viser Opera CEO Jon Von Tetsczner frem Opera-nettleseren på en Sony Ericsson-telefon.📸: Lenny Ignelzi / Scanpix
I 2006 så fortsatt nettsider slik ut på mobiltelefoner. Her viser Opera CEO Jon Von Tetsczner frem Opera-nettleseren på en Sony Ericsson-telefon.📸: Lenny Ignelzi / Scanpix Vis mer

WML 2.0

I 2001 kom neste versjon av WML, med støtte for blant annet CSS, BODY-taggen og mye mer. Men, uheldigvis ble WML 2.0 aldri inkludert i WAP 2.0-standarden som kom året etter. WAP 2.0 droppet nemlig de kronglete gatewayene, og fikk ende-til-ende HTTP-støtte. Dermed forsvant behovet for et så optimalisert språk, og WAP 2.0 gikk for XHTML Basic istedenfor.

Sakte men sikkert beveget telefonene seg mot uttegning av vanlige websider. I 2005 kom Opera Mini, med sin unike Small Screen Rendering-teknikk. Og i 2007 banket en viss amerikansk telefon på døra.