This story was written by Keith Dawson for UBM DeusM’s community Web site Develop in the Cloud, sponsored by AT&T. It is archived here for informational purposes only because the Develop in the Cloud site is no more. This material is Copyright 2012 by UBM DeusM.

Microsoft Offers a Webkit Patch

Redmond tries to get Apple to play in the touch input standards game.

Microsoft, trying to standardize its browser's Pointer Events input API, has offered a patch to the Webkit project. It's Apple's move.

This story brings together two threads we have been teasing out this year: browser monoculture based around Webkit, and Microsoft's surprising turn to standards with Internet Explorer 10.

Touchy subject
Do you remember when Microsoft's strategy for embracing mobile and tablet devices first came to light last spring? It became clear that Microsoft's new operating system was going to attempt to meld PCs, with their mice and keyboards, into a union with mobile devices, with their touch input.

Apple's Tim Cook famously scoffed, "Anything can be forced to converge... You can converge a toaster and refrigerator, but those things are probably not going to be pleasing to the user."

Microsoft's device philosophy is showcased in IE10, which offers a Pointer Events API that abstracts and merges input from pen, stylus, multi-touch, and mouse. They are all the same kind of event to IE10.

Apple had long since settled on a device strategy that clearly separated the desktop and laptop operating system from that running on phones and tablets. The OSs were related but not identical. Microsoft was going for a closer union.

Standards old
What sort of standards should apply to input from these portable devices? Apple has APIs for Mouse Events and Touch Events, and never the twain shall meet. The World Wide Web Consortium tried more than a year ago to standardize Touch Events with a spec based on Apple's API for iOS. But the standards work proceeded without any involvement from Apple, and in the end Apple refused to guarantee that its patents (if any) covering this area of technology would be offered for royalty-free use, as the W3C requires. The attempt to standardize Touch Events withered on the vine.

Meanwhile, Apple's Touch Events API is available in Webkit, the browser rendering engine used by both Apple's Safari and Google's Chrome browsers. Webkit is essentially the whole show in the world of mobile browsers (at least until Firefox OS comes out). People writing native apps for iOS and Android devices have little incentive to warp their code into a form that is compatible with IE10's Pointer Events.

Standards new
Microsoft, with support from almost everyone except Apple, is making another attempt to standardize mobile-device input. The W3C last month launched a Pointer Events Working Group. (A Google developer has invited Apple to join, to no avail so far.) Unlike Apple, Microsoft has made the patent concessions that the W3C demands. Participants in the working group have come from Google, Mozilla, Opera, Nokia, Zynga, jQuery, and the Korea Advanced Institute of Science and Technology, according to Ars Technica.

A gauntlet
Now a Microsoft subsidiary formed to handle open-source work has submitted a patch to the WebKit project. Its intent is extend Webkit with an early implementation of the Pointer Events spec. According to The H Developer News, "[Webkit's] initial reaction to the patch has been cautious and the submitter has pointed out that the code submission is for review and feedback rather than integration."

The ball is squarely in Apple's court. As Ars concludes, Apple can "either support actively-developed, royalty-free, interoperable Web standards, or it can stick with Touch Events and ignore the work being done."

Related links