MS Open Tech, W3C Pointer Events and the JavaScript Community at JSConf 2013

Adoption of Pointer Events Grows with Upcoming Implementation for Dojo Toolkit

The W3C Pointer Events emerging standard continues to gain traction, advancing support for interoperable mouse, touch, and pen interactions across the web. Pointer Events makes it easier to support a variety of browsers and devices by saving Web developers from writing unique code for each input type. The specification continues to receive positive feedback from the developer community -- many are already embracing it as a unified model for cross-browser multi-modal input.

In our previous Blog on W3C Pointer Events, we highlighted feedback shared by members of the jQuery and Cordova teams. The Dojo team are also working on implementing Pointer Events in an upcoming release of the Dojo Toolkit:

The Dojo team has been watching the progress of Pointer Events in the W3C standardization process as it moves to Candidate Recommendation. We see Pointer Events as a great way to unify the disparate models that exist today for mouse, touch, and other pointer devices. Our team looks forward to implementing Pointer Events in the 2.0 release of the Dojo Toolkit. – Bill Keese, Dijit Project Lead

Last month, Microsoft Open Technologies, Inc. (MS Open Tech) made the first step towards interoperable support for Pointer Events in Blink by submitting a formal Intent to Implement to enable our engineering team to actively collaborate and work toward a positive adoption of Pointer Events by the Blink developer community. Earlier this year, MS Open Tech published a Pointer Events prototype for WebKit on HTML5 Labs and submitted the patch to the WebKit developer forum - we plan to continue our collaboration with the WebKit community.

Pointer Events at JSConf 2013

Last week I was privileged to join around 700 participants at the 5th Annual JSConf (and CSSConf) which took place on Amelia Island, Florida. The sold out event was packed with excellent presentations, demonstrations, and entertaining activities throughout. Congratulations to organizers Chris and Laura Williams and their family for hosting such an outstanding event!

I attended the event for Microsoft Open Technologies, Inc. (MS Open Tech), alongside representatives from Microsoft’s Internet Explorer (IE) and DPE teams. Internet Explorer and Windows Azure both provided sponsorships for the Conference. In addition to learning about the world of JavaScript and meeting new friends, there were plenty of opportunities to share the latest news about W3C Pointer Events with the JavaScript community. W3C Pointer Events is an emerging standards specification that defines a device-independent approach to handling pointer input from devices like a mouse, pen, or touchscreen.

On Tuesday night, MS Open Tech and the Internet Explorer team hosted the ‘Reach the Beach’ Welcome Reception that took place right on the beach complete with an evening campfire and roasting of s’mores – you can see some photos below. During the Reception, Pointer Events gift boxes were handed out to celebrate the recent achievement of Pointer Events advancing to Candidate Recommendation (CR) status within W3C. Each gift box included a capacitive pen stylus, an Artist Edition 3500 mouse, and a screen cloth to represent the multi-model input support provided by the W3C Pointer Events specification.

 

image image image

image

On Wed May 29th, Josh Holmes (pictured above) of the IE team presented Pointer Events in his session ‘Touch Me, I Dare You’. Josh provided an overview of Pointer Events, and gave a demonstration using a Bricks paddle game to show how easy it is to code for multi-modal input using the Pointer Events specification. There were several questions after the presentation and it was evident that developers were particularly interested in the cross-browser platform support provided by Pointer Events. Josh referenced the Pointer Events polyfills that can be found on Web Platform Docs at http://docs.webplatform.org/wiki/PointerEvents – here’s a code sample below.

          // these are the polyfill events for hand.js.

           Event(leftOverlay, "pointerup", function() { if(Game.canStart()) { Balls.release(Player.ONE); } }, false);

           Event(rightOverlay, "pointerup", function() { if(Game.canStart()) { Balls.release(Player.TWO); } }, false);

           Event(leftOverlay, "pointermove", Game.movePaddle, false);

           Event(rightOverlay, "pointermove", Game.movePaddle, false);

                }                             

To showcase some of the cool innovation that can be done with W3C Pointer Events, last week an article was published describing an immersive website experience that resulted from a collaboration between the IE team and renowned Everest explorer David Breashears - IE piggybacks on Everest celebration to showcase new browser tech. Everest: Rivers of Ice is a new Web site built in HTML5 and CSS3 for touch screens and highlights the kind of modern Web experiences that can be created incorporating Pointer Events.

We welcome the Dojo team to the growing list of JavaScript libraries and frameworks working with W3C Pointer Events and we look forward to their upcoming implementation in Dojo Toolkit 2.0. As we continue to work with the vibrant JavaScript community, we look forward to seeing even more Pointer Events support across a growing number of JavaScript libraries and frameworks – there’s more to come! To learn more about using and implementing Pointer Events, feel free to check out and contribute to the Pointer Events Wiki on Web Platform Docs which includes community generated polyfills, tests, demos, and tutorials, or join the discussion at #PointerEvents. Point. Click. Touch.