In a move that has raised eyebrows, Microsoft has submitted a patch to the WebKit project to extend the open source rendering engine with a prototype implementation of the Pointer Events specification that the company is also working on together with Google, Mozilla, and Opera. WebKit is the rendering engine used in Apple's Safari and Google's Chrome browsers, making Microsoft's work a contribution to products that are in direct competition to its own.

The patch came from Microsoft Open Technologies, a subsidiary company that Microsoft created in April to serve as a home for all of Microsoft's work and relationships with open source projects and development of open standards.

Pointer Events is a draft specification that provides a unified event model for multi-touch, pen, and mouse input. It's the World Wide Web Consortium's (W3C) second attempt at a standard for handling touch input. The first specification, Touch Events, has been essentially abandoned. Touch Events were modeled on the proprietary touch API that Apple added to Safari for the iPhone. However, the specification was written without Apple's involvement, and the Cupertino company refuses to commit to disclosure and royalty-free licensing of any patented technology that might cover the Touch Events spec.

This blocked further development of Touch Events, and led to Microsoft proposing the new Pointer Events spec. Microsoft, unlike Apple, is participating in W3C's standardization process and has made the intellectual property commitments that W3C demands. Representatives from Google, Firefox developer Mozilla, and Opera, along with Nokia, Zynga, jQuery, and the Korea Advanced Institute of Science and Technology, are all working with Microsoft to refine and improve Pointer Events. As with Touch Events, Apple is deciding not to get involved.

The contribution comes not long after Redmond encouraged Web developers to remember Internet Explorer and not assume that WebKit is the only rendering engine that's used on the mobile, touch-oriented Web. At the moment, touch-driven Web content is leaving Internet Explorer 10 (and hence Windows 8 and Windows Phone 8) behind, because it is being written for WebKit and Touch Events, and WebKit and Touch Events alone.

Google developers expressed interest in adding Pointer Events support to WebKit in November citing both compatibility with Internet Explorer, and the IP problems with Touch Events as reasons to do so. However, the response from one of Apple's WebKit developers was negative; the developer claimed that the Pointer Events spec had (unspecified) problems and that there was no point in supporting Pointer Events until real Web content used it. Another Google developer invited Apple to join the Pointer Events Working Group to help improve the specification and address those unspecified problems, but thus far Apple appears to be unwilling to participate.

With Google's WebKit developers open to the use of Pointer Events, it's likely that WebKit will, at some point, gain support for the spec. Microsoft's contribution could well help speed this process along. Firefox and Opera are likely to implement the spec too, given their involvement with the standard. Should this happen, the ball will be squarely in Apple's court: it can either support actively-developed, royalty-free, interoperable Web standards, or it can stick with Touch Events and ignore the work being done.