Applikasjoner til datamaskiner, smarttelefoner og andre digitale dingser er helt avhengig av å overføre data fra et sted på nettet til et annet, eller fra et dataprogram til et annet. Til dette brukes et programmeringsgrensesnitt, det som gjerne kalles en API (application programming interface).
– Når applikasjonsutviklere skal sende data over nett, benytter de seg av en API som er veldig gammeldags og statisk, sier professor Michael Welzl ved Institutt for informatikk.
Med dagens API-er velger utviklere seg en protokoll, en oppskrift, på hvordan dataoverføringen skal foregå. TCP, UDP og QUIC er eksempler på slike protokoller. Utviklere skriver inn en slik protokoll i applikasjonen de utvikler. De ulike protokollene kan ha sine fordeler og ulemper, for eksempel når det gjelder hastighet, stabilitet eller sikkerhet.
Problemet, ifølge Welzl, er at utviklerne er låst til den protokollen de velger. Hvis de vil at denne kommunikasjonen skje på en annen måte eller hvis det kommer en ny og bedre protokoll, må de skrive hele applikasjonen på nytt.
– Jeg har lenge vært opptatt av å fikse dette og skape en API som ikke er knyttet strikt til én bestemt protokoll, sier Welzl til Titan.uio.no.
![](bilder/michael.jpg)
Allerede for seks år siden fortalte han om den nye standarden til teknologinettstedet Digi.no.
– Det er bevist at teknologien fungerer bra, og at den har mange fordeler, sa Welzl til Digi.no.
Den gangen var prosjektet fortsatt på utviklingsstadiet. Nå er han endelig nær ved å nå målet.
Apple ville med på laget
Welzl tok i sin tid initiativ til, og har vært sentral i TAPS (Transport Services), en gruppe i standardiseringsorganisasjonen IETF, som har jobbet med å utvikle API-en.
Underveis ble Apple interessert. Storselskapet har allerede tatt den nye standarden i bruk, men først i forrige uke lanserte de fleksibiliteten i utvalget av protokoller under Apple Worldwide Developers Conference.
– Dette er en ny API som gjør at man har et større utvalg av tjenester og som er mer fleksibel. Nå kan applikasjoner automatisk få nytte av for eksempel den nye QUIC-protokollen fra Google, sier Welzl.
Ideen bak er at en utvikler heller skal kunne si hva som er viktig for dem, om det er hastighet, sikkerhet, stabilitet eller noe annet, og så velger API-en en passende protokoll. Hvis stabilitet er det viktigste for deg, velger TAPS en protokoll som er god på nettopp det.
– Og den kan oppgraderes hvis man finner ut at det har kommet noe nytt som passer enda bedre til den tjenesten man skal tilby, uten at man trenger å skrive hele applikasjonen på nytt, sier Welzl.
Kommer det en ny protokoll som er enda mer stabil, vil API-en automatisk velge denne hvis stabilitet var det viktigste.
– Utviklere trenger ikke lenger å bry seg med om det kommer nye protokoller. Det blir enklere, og det blir mindre arbeid.
Litt finpuss gjenstår
Også vanlige forbrukere, som bare benytter seg av applikasjonene, vil dra nytte av den nye standarden, selv om de ikke nødvendigvis har et bevisst forhold til verken protokoller eller API-er.
– Dette gjør det enklere å forbedre en applikasjon, for eksempel med tanke på hastighet, eller for å sørge for mindre forsinkelser hvis du bruker flere applikasjoner samtidig.
At Apple allerede har tatt TAPS i bruk, og ikke minst at de når går offentlig ut med det, er et tegn på at Welzl og kollegaene hans nesten er i mål.
– Vi er ikke helt ferdig ennå, men i løpet av ett år regner jeg med at alt er klart. Det er bare veldig små detaljer som mangler, sier Welzl.