“Tired of Safari” and “Apple’s Web?”
The drama surrounding touch events is a long-standing one and Apple has done a good job of playing the villain in this particular farce.
This is just one facet of the core problem with the web as an application platform: we will never have a unified web app platform.
What Apple, Google, Microsoft, and Mozilla want from web applications is simply too divergent for them to settle on one unified platform. That’s the reason why we’re always going to get Google apps that only work in Chrome, Apple Touch APIs that are modelled on iOS’s native touch model, and Microsoft Pointer APIs that reflect their need to support both touch and mouse events on a single device at the same time. There really isn’t an easy way to solve this because standardisation hinges on a common set of needs and use cases which these organisations just don’t share.
The web continues to work well as a platform for structured documents that are progressively enhanced with interactivity. Just hypertext and forms alone will get you a lot further than you think towards solving most of the ‘app’ problems that organisations are facing today. With a bit of progressive enhancement you can create really productive systems that work everywhere because they are just bog-standard websites.
Unlike structured, interactive documents, complex web applications that are built on a common set of APIs — APIs which work the same everywhere — are very unlikely to happen. You’ll have your Chrome APIs. You’ll have your Safari APIs. You’ll have your MS and Firefox APIs (because their needs are quite similar). And you’ll have cross-platform frameworks that bridge the gap by making compromises everywhere. But a universal web application platform? That’s just another spin on the ‘write once, run anywhere’ chimera.
Of course, Apple is still being very annoying in this particular case and their reasons for objecting seem spurious and political. I’m not trying to defend Apple.
What I’m trying to say is that we should expect the drama surrounding Pointer Events to repeat itself a lot over the next few years. It’s a taste of things to come.