Pointer events is a new standard which Microsoft initiated at first and later developed by the W3C to define a unified device input model – pen, mouse and touch – across multiple browsers. 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. To demonstrate cross browser interoperability for Pointer Events, Microsoft contributed patches to Blink and Mozilla browser engines, and developed interoperability prototypes, including a Pointer Events prototype for WebKit. Also, Pointer Events was well received by the web community. Few weeks back, Chrome team posted that they are planning to drop Pointer Events support in Chrome citing some lame reasons. Read about it here.
There is a huge discussion going on regarding this removal of support from Chrome. In response to Google engineer’s argument, Microsoft’s engineer posted a statement, read it here. He reaffirmed that to help make this happen for web developers in an open and interoperable way, Microsoft is even ready share internal design docs, architecture diagrams, testing methodologies, and even code.
Microsoft today published a official blog post on this matter. They highlighted that IE now supports all three major pointing input APIs: Mouse Events, Touch Events, and Pointer Events. Also, they posted a comparison chart showing the characteristics of Mouse Events, Touch Events, and Pointer Events.
Microsoft also highlighted the fact that Touch Events require running synchronous JavaScript before starting a pan or zoom, which can cause significant performance issues on the order of 100s of milliseconds or more. For this reason, switching to Pointer Events may dramatically improve the touch experience.
Microsoft concluded their blog post with the following message,
To make both the user touch experience and developers’ life easier, we want to do the following:
- Add Touch Event support to IE on Windows Phone (done)
- Work with site developers to fix the issues mentioned above in hopes that one day we can enable the APIs in a responsible way (work in progress: watch out for emails or tweets from our outreach team and webcompat.com).
- Bring Touch Events to all of our platforms to make the support matrix less confusing for developers (work in progress)
- Contribute to the implementation of Pointer Events on other platforms (work in progress on Firefox and Chrome)
- Actively engage with site and framework developers to hear their feedback and desired direction for the web platform
- Share our internal design docs, architectural diagrams, testing methodologies, and our code to other browsers (work in progress)
Read more on it here.