Google Chrome software engineer Rick Byers announced through the Chromium developer mailing list that Chrome will be adopting the Pointer Events API of Microsoft Internet Explorer in the Blink rendering engine.
The Pointer Events API merges all the interactions of a browser with the user's mouse, touchscreen or stylus into one set of programmable events. The API has been used by Internet Explorer since the launch of IE 10 and has also received support from the Mozilla Firefox browser, although the API is now only found in the Windows Metro version of Firefox.
Last year, the developers of Chrome said that it would not be supporting the Pointer Events API, and instead will proceed with developing separate APIs for different hardware and touch-based input devices.
It seems that Chrome is now reversing this earlier direction with the announcement that it will adopt the Pointer Events API after all.
Just having one API to work with all the pointing is very attractive to developers, believes Scott Gonzalez, project lead for jQuery UI. According to Gonzalez, the Pointer Events API is great because not only does it support all the common devices for input being used today, but it also allows for future devices to be easily added, with the current codes of the API geared to automatically accept new devices.
However, because Chrome was not implementing the Pointer Events API, developers tempered their excitement due to there not being enough support to the API.
The Chrome team may have initially decided not to go with the Pointer Events API because not all browsers are being designed to support all the different input devices, with browsers designed for touch-based devices primarily not required to support mouse commands as an example.
However, while the Chrome team has decided to support the Pointer Events API, Byers has noted a limitation on the technology with the fact that every movement of the user's finger or mouse requires a hit-test, enforcing a cost on the performance of the engine, which would affect major mobile platforms and browsers.
Fixing the limitation may need for all developers that are already using the Pointer Events API to work together to identify changes that can be made to the API to avoid the performance cost.
Addressing the limitation could prove to be a challenge, which may be why the Safari team of Apple has remained with its decision to develop different APIs for touch and mouse.
Photo: MDrX | Flickr