Asir Vedamuthu Selvasingh, Principal Program Manager
Microsoft Open Technologies, Inc.
Adalberto Foresti, Principal Program Manager
Microsoft Open Technologies, Inc.
Developers can start building multi-input websites and apps with greater confidence that an emerging industry standard will enable building a single website targeting multiple devices and platforms.
Only three months after its creation, the W3C Pointer Events Working Group has announced that Pointer Events has reached “Last Call Working Draft” status and is considered feature complete by the Working Group. The W3C Pointer Events Working Group has been hard at work over the last few months to standardize a single device input model – mouse, pen and touch – across multiple browsers. Congratulations to the W3C Pointer Events Working Group!
Microsoft Open Technologies, Inc. (MS Open Tech), and the Microsoft Corp. Internet Explorer teams have been working with our colleagues across the industry, engaging developers to test and provide feedback on the specification, and incorporating all the received feedback into this Last Call Working Draft.
“Last Call Working Draft” means that members of the Working Group, including representatives from Google, jQuery Foundation, KAIST, Microsoft, Mozilla, Nokia, Opera, Zynga, and others, consider that this specification has satisfied all the technical requirements outlined in the Working Group Charter. The working group intends to advance the specification to implementation after this Last Call review.
Build now with Pointer Events
What’s cool is that you can go build websites using Pointer Events today. The Working Group is using Microsoft’s member submission as a starting point for the specification, which is based on the APIs available today in IE10 on Windows 8 and Windows Phone 8.
If you are building your apps using Pointer Events and testing these apps on various browsers, you should try out the hand.js polyfill developed by David Catuhe from Microsoft France. Check out a demo that uses hand.js - universal virtual joystick. We expect that native implementations for WebKit-based browsers will follow shortly.
To demonstrate cross-browser interoperability for Pointer Events, MS Open Tech developed a Pointer Events prototype for WebKit on HTML5 Labs and submitted the patch to the WebKit community. Today MS Open Tech posted an updated version of the patch on HTML5 Labs and on the WebKit issue tracker, incorporating community feedback received on the previous version. Working with the WebKit community, MS Open Tech will continue updating this prototype to implement the latest draft of the specification.
Recently, MS Open Tech hosted an HTML5 Labs Test Jam event on Feb. 11 to share an early preview of the new prototype and collect feedback, and the browser community has been playing with the prototype as noted in a blog post by our friends at AppendTo. AppendTo shares Chromium builds for OSx and for Windows that integrate the Pointer Events patch by MS Open Tech.
Learn more about Pointer Events
If you are attending W3Conf this week in San Francisco, you don’t want to miss “Pointing Forward” at 3:00 pm on Thursday, February 21, presented by Jacob Rossi, program manager for Internet Explorer and co-editor of the W3C Pointer Events specification. You also can watch a live stream of his conference presentation on the W3Conf site and UStream, or later on video on demand.
And, you can learn more by checking out the Pointer Events Primer on WebPlatform.org, developed by Rob Dolin, senior program manager at MS Open Tech. The primer provides guidance on how to use Pointer Events in ways similar to mouse events, and how to access and use additional attributes such as pointer type, button(s) pressed, touch size and pen tilt. The primer is a great resource if you are migrating your code from handling mouse, to consistently handling input from mouse, pen and touch.
We’ve been happy to share the great progress for the W3C Pointer Events emerging standard. Stay tuned for more updates as we work together on this open standard that can further enable natural and simple computing interfaces on the Web.