Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Google's retreat on Pointer Events makes life harder for web developers

Mary Branscombe | Aug. 21, 2014
For the next ten years, touch is all that matters, says Google. It's reversing its decision to add the Pointer Events standard to Chrome, meaning web developers lose what could be their best chance to get a single API for handling touch, mouse and pen input.

So why did they change their mind?

One reason is the same lazy behavior by web developers that meant Microsoft had to add Touch Events support to Windows Phone.

"Pointer events would likely never supplant touch events on the web (especially without support from Safari)," Google's Rick Byers explained. Plus he said Pointer Events wouldn't let you use scrolling to do other things on the page at the same time (like pulling down from the top of a web page to refresh it). 

But Google's most important objection will probably be performance: The time it takes to find out if you're touching or clicking or writing on a web page.

"The hit testing model required by pointer events imposes a non-trivial performance penalty (hit test on every movement event) that neither Android, iOS or touch events has. We're not willing to add any feature that increases the web's performance disadvantage relative to native mobile platforms," Byers said.

But IE 11 has pretty zippy performance and it has Pointer Events. How did Microsoft manage that?

Hardware acceleration, Jacob Rossi of the Internet Explorer Developer Platform Team told CITEworld.

"Our experience has shown panning and zooming to be the most performance critical of touch interactions and Pointer Events offers deliberate design considerations that enable browsers to hardware accelerate those interactions. This is a key reason why IE is able to deliver industry-leading touch response time, latency, and frame rate."

Hardware acceleration is one reason why Microsoft didn't create a version of IE 9 for Windows XP, which doesn't have the Direct2D technology that IE uses to hardware accelerate everything from rendering fonts to displaying images — including speeding up touch. Because Google supports Windows XP — not to mention Vista and Mac OS X — it can't use the same efficient hardware acceleration to speed everything up.

What about other performance issues apart from moving around and zooming?

"Pointer Events also includes additional features, notably element transition events and automatic hit-testing, which enable developers to more easily build complex UI," said Rossi. "Our testing indicates that these features typically attribute just a fraction of a millisecond per event. Developers tell us they value these advanced capabilities of Pointer Events so we will continue to work with the industry and community on moving the web forward."

The reason Google started putting Pointer Events support into Blink was that developers were asking for a better way to handle mouse and touch together. That's still the case, Rossi told us, so Pointer Events is still important.

"We believe a fundamental design principle of the web is that it has the ability to be accessible by anyone. Developers continue to tell us it's hard to write to both Touch and Mouse Events together. Further, we think the web platform should expose hardware to its fullest, allowing developers to innovate and differentiate. In support of this, we'll continue to work on Pointer Events because most developers tell us they prefer it conceptually."


Previous Page  1  2  3  4  5  Next Page 

Sign up for CIO Asia eNewsletters.