There is "WebKit on Mobile"

I’ve spent a lot of time cursing at my monitor developing various mobile applications over the past year. This has forced me to deal with proprietary and open platforms, various SDKs, a number of different distribution models and a plethora of devices. Many times, the test-device-of-the-day was banished from my desk and sent away to sit in a corner and sulk. Once they formed a coup d’état against me, I decided that was it. If you want to build an app for multiple different devices and OSes and you want the best bang-for-your-buck, you can’t beat developing and distributing within the mobile browser.

Today, by some stroke of pure luck (or possibly by the hand of an evil mad genius), more and more mobile OSes are moving towards a web developer’s wet dream–one standards based rendering engine. That engine of choice is WebKit which is supported by the Apple’s Mobile Safari in the iPhone OS, Google’s Android OS Browser, Palm’s WebOS Browser, The Java based Bolt browser and many others including a new browser rumoured for Rim’s BlackBerry devices.

Unfortunately, as PPK points out and shows us with his great Mobile WebKit compatibility table, not all is as utopian as we would ideally like:

I feel honour-bound to point out that there is no “WebKit on Mobile.” There’s iPhone WebKit, Android WebKit, S60 WebKit (at least two versions each), Bolt, Iris, Ozone, and Palm Pre, and I don’t doubt that I’ve overlooked a few minor WebKits along the way.

All 10 mobile WebKits I’ve identified so far are subtly or wildly different.

So at the moment, like the desktop environment, this does mean we still need to think progressive enhancement but there’s something else to consider. As Alex Russell points out, the data doesn’t reflect the nature of mobile browsers. Every new version of a mobile OS will improve the experience and we’re going to see a lot of new versions:

PPK’s data doesn’t reflect how fast the mobile market changes. The traditional difference between mobile and desktop, after all, has been that mobile is moving at all. If you figure a conservative 24 month average replacement cycle for smartphones, then the entire market for browsers turns over every two years. And that’s the historical view. An increasing percentage of smartphone owners now receive regular software updates that provide new browsers even faster. What matters then is how old the WebKit version in a particular firmware is and how prevalant that firmware is in the real world. As usual, distribution and market share are what matters in determining real-world compatibility, and if that’s a constantly changing secnario, the data should at least reflect how things are changing.

With such high turnover every new version of a mobile OS will bring them all closer together, not diverging apart. It may be only a matter of a few years before PPK’s table turns all green and we can forget the red and white block existed. We’ll finally be able to get away from the “if it exists, we have to support it” rut we’re stuck in with our handful of desktop browsers.

And as Alex Russell points out it’s key to remember:

The important takeaway for web developers in all of this is that WebKit is winning and that that is a good thing. The dynamics of the marketplace have thus far ensured that we don’t get “stuck” the way we did on the desktop. That is real progress.