One of the most persistent criticisms of web technologies is that they evolve slowly, indeed, too slowly. Often the argument is raised that the process of standards is antithetical to “innovation” (for innovation read “making cool stuff up”).
To contrast with this glacial change, we’re typically pointed toward the wonders of platforms like iOS and Android, where change takes place at breakneck speed. Or we’re pointed toward any number of open source projects, for example SASS, to demonstrate that we can evolve web standards faster outside the W3C (afterall, CSS hasn’t kept place with SASS/LESS… therefor the W3C is clearly useless)
And occasionally, this erupts in an orgy of revolutionary fervour, where we need to man the barricades, and
dissolve the W3C, and run the web like an open source project. No more specs, just commits. Does Linux need a standards body?
I guess Joe hasn’t taken a look at the WHATWG’s “HTML”lately. An unversioned. constantly, continuously evolving potage, wherein creeps all kinds of at the every least questionable “innovations”, whose trajectory is unburdened by such trifling challenges as the need for intellectual property policies, or getting anyone to actually implement their stuff.
But let’s step back a pace. Is there really actually such a problem here? And if so, exactly what is that problem? And, are the proposals, to the extent they do exist, likely to help, or make matters worse?
The last three or four years have however seen an explosion of innovation at the browser level. This has included:
- Fantastic new CSS features, that have within a couple of years landed in all modern browsers
- Sophisticated new APIs across a broad range of functionality, again now widespread across most if not all modern browsers (Selectors API, Geolocation, offline, localStorage, 2D and 3D canvas to name just a few)
Before we throw the baby out with the bathwater, we should ask, is there a problem at all? Are we really seeing innovation – from standards proposal to widespread browser adoption in the order of 10 years?
Let’s take a look at an actual example. Dave Hyatt announced CSS Gradients in WebKit nightlies April 14th 2008. More or less simultaneously, Apple formally proposed these as part of CSS3. Gradients have been supported in Firefox since 3.6 (released Jan 2010), Opera since 11.1 (final release mid 2011), Internet Explorer 10 (developer releases early 2011). So, from first released and proposed as a standard to very widespread adoption in around 3 years.
We’ve seen similar timeframes for other CSS features, as well as “HTML5” features like the Selectors API, appcache, geolocation, localStorage.
So, to put it bluntly, I think the problem is overstated. We seem to have arrived at an approach that both enables the exploration and implementation of novel features in browsers, which are also widely adopted across browsers. It’s that second part that is most important, and I’ll return to it in a moment.
But I also want to quickly address why I think we seem to have thrown off the stagnation of previous years. I’d argue it comes down to stepping back from the monolithic approach of earlier W3C recommendations (CSS 1 and 2, XHTML2, SVG), toward a much more modular approach, as exemplified by CSS3, but as also seen with geolocation and the selectors API. A corollary to this is, I’d argue, that HTML5 is too monolithic and needs to be fragmented (which in some ways is happening).
But back to the real issue. The web is a different problem. It makes little if any sense to compare innovation of the web ecosystem with that of iOS, Android or other platforms. The web faces challenges far far greater (and has goals far more important). A platform such as iOS can abandon legacy applications, content and hardware, (along with their users) with little compunction. It can (and does) make developers and content creators wishing to participate jump through any number of hoops. It has a single dictatorial decision maker, beholden to no one, and nothing other than itself. And it generates extraordinary revenues, which can be reinvested into the ongoing development of the platform.
The web is different. It values interoperablity, backwards compatibility. It’s goal is to bring access to the same information to billions across the world, on all manner of devices.
Its custodians are, in my opinion, scandalously under-resourced, given just how much wealth the web has created for so many, perhaps above all Google and Apple.
Without the web, Google would not exist, and Apple’s core engine of growth, iOS devices would essentially not either.
So, rather than generally criticising the W3C, or going so far as calling for its dissolution, we should focus on how well in many ways it has done an almost impossible task – getting companies which are fierce commercial rivals to sit down, work together and agree on core technologies they will each, and all, implement, even while at the same time, these same competitors are involved in significant legal conflicts with one another.
Can the W3C be improved? Certainly. But before suggesting solutions, let’s identify, and demonstrate with evidence, genuine problems. Then, when devising solutions, it pays to ask what evidence there is that those solutions will not only solve the problems identified, but also ensure the ongoing cooperation that has given rise to the web.