April 30 2012

On Opera & Vendor Prefixes

Reacting to Opera’s announcement that their latest experimental builds of their browser software would be spoofing certain -webkit vendor prefixes, I somewhat antagonistically vented on Twitter:

Okay, the first part is most certainly not true; a lot of people use Opera (and as it happens, they have just published their State of the Mobile Web report for March 2012, so we can see what the data looks like right now). But whilst what I wrote was undoubtedly confrontational, having now looked some more into the situation I’m convinced that Opera have made a terrible decision out of desperation that will permanently damage web standards for little gain.

Opera is actively involved in the development of two mobile-oriented browsers: the enormously popular but atypical Opera Mini which mostly runs on older and non-smartphone devices, and the more modern smartphone-oriented Opera Mobile. When I asked, I was told that separate figures for how many people use each browser are unavailable. Given how eager Opera are to boast about how many Opera Mini users they have, it’s pretty easy to conclude that the number of Opera Mobile users is a lot smaller. This is significant, as a major justification given for spoofing vendor prefixes is that it affects a lot of people; Opera currently only intend to make the change within Opera Desktop and Mobile.

Opera have tried to throw a feint by insinuating that this is to prevent their users from being locked out:

When people block access by certain browsers, whether by omitting CSS rules or actively blocking, we have a duty to our users to access that content.

This is an egregious straw man: the prefixes Opera are implementing are limited to transitions, transforms, border radius and box shadows. None of these are barriers to being able to access content; this is just how progressive enhancement works.

As it stands today, Opera Software is a profitable and growing business, as their latest quarterly report attests (PDF link). But this masks the underlying sea change that’s happening with mobile Internet-enabled devices. Opera (along with Mozilla and Microsoft, the other parties intending to make this vendor prefix change) know full well that they’re sitting on sand castles as the tide comes in. An increasingly large number of the mobile phone devices sold today are either iOS or Android-based, and as the technology matures and economies of scale improve, the share of the market that once belonged to feature phones will be swallowed up by cheaper iOS or Android devices.

Experienced web developers know that encouraging customers to install another browser is a difficult if not impossible task. It’s even less likely that smartphone users will feel any need to install a third-party browser on their device when the default browser is easily good enough to begin with. Opera are faced with the knowledge that within a few short years, their user base could be eroded to almost nothing. This move is reflective of this realisation, and is one made out of desperation, with little concern for the long term implications to web developers and the standards process.

Vendor prefixes are, to be sure, a mess. But the situation we find ourselves in is not the fault of vendors implementing features this way, but of the glacial pace of the CSS Working Group in ratifying features that are already in widespread use. That another browser vendor feels able to spoof them shows the feature is already mature. The danger now is that ‘bad’ web developers will treat -webkit as more than just a de facto standard, and the march towards a single dominant browser in the mobile space will gather pace.