Waarom draagt Microsoft bij aan Webkit?
Vorige week publiceerde Microsoft “een nieuw openbron HTML5 Labs Pointer Events prototype voor de W3C Working Draft” voor Webkit. Wacht, wat?
Nee, Microsoft is niet van plan om IE, Chakra en de Trident rendering engine te dumpen ten voordele van de alomtegenwoordige Webkit rendering engine. Het probeert wel om ontwikkelaars, die hun mobiele websites optimaliseren voor Safari en Webkit, te overtuigen de HTML5 standaarden zonder browser prefixes te gebruiken. Microsoft wil dat IE10-gebruikers op Windows RT en Windows Phone dezelfde ervaring hebben als iPhone- en Androidgebruikers, in plaats van moeten te horen krijgen dat ze beter een andere browser gebruiken om de mobiele website te bekijken.
Webkit-geoptimaliseerde websites lopen het gevaar om de nieuwe IE6 te worden. Een website die werd geoptimaliseerd voor Webkit maakt waarschijnlijk gebruik van experimentele versies van wat nu de W3C HTML5 standaarden zijn, en Internet Explorer kan die niet renderen. IE10 doet het best goed met de officiële W3C HTML5 standaarden, maar webontwikkelaars doen niet altijd de moeite om die toe te passen, omdat de Webkit-versie perfect werkt op de iPhone waar ze het op hebben uitgeprobeerd. Laat staan dat ze een JavaScript library als Modernizr zouden gebruiken om alle browser prefixes en de standaarden zonder prefix te verkrijgen, of even de simpele stappen van Microsoft toepassen om hun website te optimaliseren voor IE10.
[related_article id=”161452″]
Webkit-optimalisatie is zo sterk doorgedrongen, dat er al werd gesuggereerd dat andere browsers de -webkit prefixes implementeren. Dat is een erg slecht idee omdat je nu verschillende implementaties hebt van dezelfde prefix, en geen garantie hebt dat die overal hetzelfde zijn. Webkit zou veel beter de nieuwe W3C standaarden aannemen, en Webkit-ontwikkelaars kunnen deze dan implementeren, in plaats van enkel de experimentele -webkit prefix.
Het moet frustrerend zijn voor Microsoft. Ze slagen er eindelijk in het substantiële werk te verrichten om Internet Explorer up to date te krijgen met de W3C standaarden die voldoende stabiel zijn, en de webontwikkelaars die altijd kloegen dat Microsoft geen standaarden ondersteunt, klagen nu dat Microsoft niet gewoon overschakelt op Webkit.
Vandaar Microsofts bijdrage aan Webkit (een bijdrage die daarnaast ook een teken is van de nieuwe trend binnen het bedrijf om openbron meer te ondersteunen).
Microsoft probeert te evolueren in een gebied dat erg van belang is voor Windows 8; websites goed laten werken via aanraking. Apples touch events zijn erg low-level. Ze detecteren de positie van de vingers bij de start en het einde, en de beweging, maar niet of ik probeerde te zoomen of iets uit een venster te slepen. De Pointer events (die Microsoft aan het W3C heeft voorgelegd) vertellen hoe snel ik bewoog, en of ik probeerde te knijpen, draaien of slepen. Als de browser dat allemaal aan de webontwikkelaar kan laten weten, kan die een veel meer aanrakingsvriendelijke website maken.
De W3C Working Draft kwam vorige week pas uit, maar heeft wat hulp nodig. Google heeft de vraag gesteld of je aanraking anders moet behandelen dan muisbewegingen. De Pointer events behandelen klikken en tikken als hetzelfde, maar behandelen aanraking anders omdat we onze vingers niet op dezelfde manier als een muis gebruiken.
En Apple? Apples touch events zijn een de facto standaard maar Apple lijkt er niet in geïnteresseerd om ze gratis beschikbaar te stellen, wat het geval moet zijn om van een technologie een W3C standaard te maken. In plaats van gewoon een W3C standaard te gebruiken die andere browsers niet implementeren, geeft Microsoft Webkit dus een protoype van een implementatie, om van daaruit verder te werken.
Als het van proof of concept evolueert naar een Webkit-commando dat ontwikkelaars toepassen, moet het eenvoudig genoeg zijn om de Microsoft prefix en de standaarden zonder prefix in hun code te verwerken. Dan zullen de Webkit-geoptimaliseerde websites veel beter werken wanneer je ze via aanraking bedient op een Windows RT Surface of Windows 8 Phone.
Dat is alleszins de theorie – en het is een hele andere manier voor Microsoft om om te gaan met standaarden en de gemeenschap van ontwikkelaars. IE10 is niet meer de achterna hinkende Internet Explorer die je zomaar kan negeren.