Last week saw some interesting blogposts that neatly summarise the opposing world views that we’re seeing at the moment regarding the “problem” of the Web.
Alex Russell (of Google Chrome) wrote a considered blog post called Things the W3C Should Stop Doing in which he suggested
the W3C needs to find a ways to re-focus on the needs of the constituencies that give it credibility; namely web developers and browser vendors.
…it should be agreed that the W3C will divest itself of any and all Semantic Web, RDF, XML, Web Services, and Java related activities.
…What would that leave us with? CSS, DOM & JS APIs, HTML, a11y, i18n, and all the other stuff that has legs out on the public web.
…The time has come for the W3C to grab the mantle of the web, shake off its self-doubt, and move to a place where doing good isn’t measured by numbers of specs and activities, but by impact for web developers.
I found myself nodding frequently while reading it. I wrote two years ago about my belief that XML makes no sense on the Web. And there are no shortage of vital specifications to work on – just look at David Storey’s list The Open Web 1 stack: the HTML5 application age (even after removing EcmaScript and WebGL which arent’t W3C).
I fervently hope that the W3C continues to be the place where new Standards get hammered out. I worry that, because it dropped the ball so calamitously with XHTML 2 and left the WHATWG to begin work on HTML5, there is a feeling that other specs should be developed outside the W3C. We see this with Widget specifications, where organisations haven’t liked the W3C work but instead of participating in that group, they’ve developed their own variants in isolation.
Developer Joe Hewitt has nothing but scorn for the W3C or any standards body:
To thrive, HTML and company need what those other platforms have: a single source repository and a good owner to drive it. A standards body is not suited to perform this role. Browser vendors are innovating in some areas, but they are stalled by the standards process.
He similarly scorns diversity of user agents, wishing for a monoculture:
It would help if all the rendering engines but one were to die, but even that would not be enough. Even if WebKit was the only game in town, it would still be crucial for it to have competent, sympathetic, benevolent leaders. The closest thing we have to that today is Chromium…
Obviously, I’m hardly likely to agree with this (I work for Opera, but this post is personal opinion yada yada). I’ve written before about how the IE6 monoculture grew because people believed it was the finest browser (In praise of Internet Explorer 6) and you can read about the cost of a browser monoculture in Korea.
I’m with Uncle Timbo who dreamed of the Web as universal: independent of hardware platform, software platform (operating system), Application Software, Network access, Language and culture or disability. These are features not bugs. This universality is the strength of the Web, not a problem to be solved by a Strong Benevolent Leader and single user agent.
Web veteran John Allsopp writes
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.
Robert Nyman (of Mozilla) agrees:
The web is the true form of democracy: people from any part of the world – with any background, gender, social status or skin color – can take part in and build the future. Some things can take longer to reach consensus about than in a closed company-controlled environment, but I would have open and democratic standards every day over that.
In an interview I did (for .net magazine, unpublished) Scott Jehl (of the Filament Group who worked on Boston Globe) said
I find Opera Mini tends to be pretty easy to support if you build with Progressive Enhancement – it’s a great browser with lots of performance optimizations included, and of course it’s incredibly popular around the world so supporting it is a no-brainer. Our experience [at Filament] leading the jQuery Mobile project led some familiarity to a lot of platforms that aren’t commonly tested, but are quite popular throughout the world.
The baseline browser we were regularly testing was BlackBerry 4.6, which receives a basic, JS-free experience like most other non-media-query-supporting browsers. Somebody sent us a screenshot of the Globe site running on a Newton recently!
It’s not the case that to make sophisticated websites you need to abandon universality, creativity, and progressive enhancement.
Scott is one of those behind a manifesto site called Future Friendly that argues:
We want to make things that are future friendly. By anticipating what’s next, we can react to today’s concerns but also build long-term value for people and businesses…To manage in a world of ever-increasing device complexity, we need to focus on what matters most to our customers and businesses. Not by building lowest common-denominator solutions but by creating meaningful content and services…An ecosystem of devices demands to be interoperable, and robust data exchange is the easiest way to get going.
Once you remove the fluffiness from the manifesto, it boils down to a useful reminder to design with progressive enhancement; to use structured, semantic markup; to test across software and hardware platforms and to understand that things won’t look the same everywhere.
Future friendly or Forward to Yesterday? I know which I choose.