Etter hvert som webben tas mer i bruk som applikasjonsplattform, oppdages det stadig nye behov – behov som ulike aktører forsøker å løse på måter som hele fellesskapet kan ta del i. Et eksempel på dette er kommunikasjon og datautveksling på klientnivå mellom ellers uavhengige, webstandard-baserte applikasjoner.
Britiske Paul Kinland, som er tilknyttet Googles Chrome-team, regnes som hovedperson bak den foreslåtte webstandarden Web Intents, som først og fremst introduserer en lettvekts RPC-mekanisme (Remote Procedure Call) mellom webapplikasjoner som ikke eksplisitt vet om hverandre.
I et blogginnlegg kommer Kinland med et eksempel. Dersom du lager en bildegalleriapplikasjon og ønsker å la brukerne redigere bildene slik at de kan fjerne røde øyne fra et foto. Hva om man enkelt kan få en helt separat tjeneste til å utføre denne oppgaven på fotografiet, for så å sende det redigerte fotografiet sømløst tilbake til bildegalleriet?
Det er noe som kan bli mulig med Web Intents, som Kinland første gang presenterte i slutten av 2010. Ideen er hentet fra Intent-systemet i Android. Målet er at utviklere kan lage applikasjoner og tjenester som kan samarbeide, uten at de uttrykkelig vet om hverandre.
En «Intent» er i spesifikasjonen en brukerinitiert handling som gis fullmakt til å bli utført av en tjeneste. Den består av en «handling-streng», en «type-streng» som spesifiserer hva slags data tjenesten kan forvente å ta imot, samt selve dataene.
Livssyklusen til en Intent er at den en klient først ber om at en Intent skal håndteres. Intent-dataene blir sent til nettleseren («User Agent»), som vil la brukeren velge mellom et potensielt stor utvalg av tjenester å bruke. Deretter sendes Intent-dataene til tjenesten, som tilbys et brukergrensesnitt av nettleseren hvor handlingen som er spesifisert i Intent-en kan utføres. Deretter kan tjenesten om ønskelig returnere data til klienten.
I tillegg til eksempelet med røde øyne, kan Web Intents for eksempel brukes i forbindelse med valg av søketjeneste, deling av innhold til for eksempel epost eller sosiale nettverk, lagring til en nettskybasert tjeneste eller lokalt på disken eller valg av innloggingspartner.
Implementeringer
Wired-bloggen WebMonkey skriver at Web Intents helt grunnleggende fungerer litt som mailto:-lenker, som definerer en handling og som deretter sender den til nettleseren, som gjør det opp til brukeren å velge hvordan handlingen skal håndteres. Men i stedet for at et epostskjema åpnes i for eksempel Outlook eller Thunderbird, opprettes det en forbindelse til en webbasert tjeneste.
Årsaken til at WebMonkey skriver om dette akkurat nå, er at WebKit-motoren som benyttes av blant annet Safari og Chrome, denne uken har fått støtte for Web Intent. Canary-utgaver av Chrome har hatt støtte for teknologien siden februar i år. Google har en stund samarbeidet Mozilla om å forene Web Intents med Mozillas tilsvarende Web Activities/Web Discovery-teknologier. Så man kan nok vente eksperimentell støtte for Web Intents i Firefox om ikke så lenge også.
En håndfull eksempler på hvordan Web Intents kan brukes, finnes på denne siden.