Googles Chrome-team har besluttet å droppe implementeringen av Microsofts foreslåtte webstandard for pekerenheter, Pointer Events. I stedet vil Google jobbe for å utvide funksjonaliteten til Touch Events, som allerede er en W3C-standard opprinnelig utviklet av Apple.
Touch Events hadde en litt vanskelig fødsel som W3C-standard. Årsaken var patenter og patentsøknader som Apple ikke var villige til å tilby royaltyfritt, noe som er et krav i forbindelse med W3C-standarder. Men ifølge Ars Technica konkludert W3C til slutt at Apples patenter var irrelevante og at lisensiering dermed ikke var nødvendig. Touch Events ble derfor en offisiell W3C-standard i oktober 2013.
I mellomtiden utviklet Microsoft den konkurrerende teknologien Pointer Events, både for å unngå Apples patentkrav og for å tilby noe funksjonalitet som ikke finnes i Touch Events. Teknologien støttes av Internet Explorer, men også Mozilla og Google har vært i ferd med å bygge inn støtte for Pointer Events i sine respektive nettlesermotorer.
Men sent i forrige uke ble det klart at Chrome-teamet ikke lenger vil fortsette dette arbeidet med Pointer Events. Det er flere årsaker, men den viktigste ser ut til å være at det er ingenting som tyder på at Apple noen gang vil støtte Pointer Events i Safari, at Safari fortsatt spiller en betydelig rolle i den mobile weben, og at det dermed er usannsynlig at Point Events noensinne vil erstatte Touch Events på weben.
– I stedet for å implementere Pointer Events, mener vi at det vil være bedre for weben med en gradvis utvidelse av et API (programmeringsgrensesnitt, journ. anm.) som allerede brukes bredt, skriver et medlem av Chrome-teamet.
– Vi ser ingen troverdig vei mot å erstatte Touch Events fullstendig på weben, og i stedet for å introdusere en ny og i stor grad redundant modell for Blink, ønsker vi å jobbe internt i webstandard-fellesskapet for å forbedre API-ene vi har på en kompatibel måte.
Noe av det Pointer Events bidrar med av ny funksjonalitet, er en maskinvare-agnostisk tilnærming til flere typer pekeenheter, inkludert berøringsskjermer, mus og pekepenn. Dette løser utfordringene med enheter hvor brukerne benytter en kombinasjon av mus og berøringsskjerm.
Et forslag til hvordan dette kan løses gjennom en utvidelse av Touch Events-spesifikasjonen, finnes her.
Ytelse
Det er dog også andre problemer med Pointer Events, ifølge Chrome-teamet. Det ene dreier seg om ytelse. Pointer Events innfører det som omtales som et ikke-triviell ytelseshandicap fordi det kreves hit-testing for hver bevegelseshendelse. Verken Touch Events eller mobilplattformene Android og iOS har noe tilsvarende.
I tillegg vil implementering av Pointer Events i Chrome gjøre nettleseren mer komplisert, noe som også kan gå utover ytelsen.
– Vi er ikke villige til å øke weben ytelsesmessige ulempe, sammenlignet med rene mobilplattformer, skriver Chrome-teammedlemmet.
Et annet problem som nevnes er at Pointer Events krever at scrolling og event-håndtering er gjensidig utelukket, noe hindrer visse brukergrensesnitt-effekter som allerede er vanlige på mobile plattformer, for eksempel «pull to refresh». Chrome har nylig blitt endret i stikk motsatt retning på grunn av det Chrome-teamet omtaler som sterke ønsker fra utviklere.
Resultatet?
Dermed står man igjen med to separate, men temmelig overlappende teknologier. Touch Events støttes av fire av de fem største nettleserne. Pointer Events støttes foreløpig bare av Internet Explorer, men alt tyder på at Mozilla fortsatt jobber med å implementere teknologien i Firefox. Det betyr at det Pointer Events på sikt vil støttes av to nettlesere – men ikke av nettleserne som brukes mest på de mest solgte enhetene med berøringsskjerm.
Til syvende og sist vil framtiden til Pointer Events avgjøres av vanlige webutviklere. For å tilby webapplikasjoner med berøringsfunksjonalitet til alle nettlesere, må applikasjonene støtte både Touch Events og Pointer Events. Dette betyr i alle fall økt kompleksitet og merarbeid.
Men i motsetning til diskusjonen tidligere i sommer om blant annet mobilnettsteders bruk av CSS-regler som i utgangspunktet bare fungerer i WebKit-motoren, er Touch Events en offisiell W3C-standard. Pointer Events er det foreløpig ikke. Den vil heller ikke kunne bli det før spesifikasjonen er implementert i to ulike nettlesere.
Samtidig er det langt fra sikkert at Google får med seg webstandard-fellesskapet når selskapet nå ønsker å utvide Touch Events med funksjonalitet som Pointer Events i alle fall delvis dekker. Ikke minst gjelder dette Apple, som ifølge Ars Technica nekter å delta i enhver W3C-gruppe som jobber med input-standarder.
Les også:
- [01.08.2014] Tilpasser mobil IE11 til virkeligheten
- [19.06.2013] Microsoft bidrar til Firefox
- [22.05.2013] Microsoft bidrar til Google Chrome
- [21.12.2012] Microsoft bidrar med kode til WebKit
- [27.09.2012] IE10-teknikk kan bli webstandard
- [17.08.2011] Bedre Firefox for nettbrett