The W3C is a restaurant

A fantasy lives in the head of a large number of people about the role of the W3C in the web ecosystem. This fantasy is that the W3C would decide what gets in the web platform and what doesn’t, or even that the W3C would set a vision for the web. This is completely false.

History of an API

XMLHttpRequest, am I right? If you think it’s an innovation from the W3C, you’re wrong and should read up its history. XMLHttpRequest was shipped in IE5 in March 1999 (accessible via ActiveX, but whatever). Mozilla mimicked the interface via a global XMLHttpRequest object and worked on it from December 2000 and June 2002.

The W3C comes into play by publishing a first draft as late as April 5th 2006. The W3C played its sole and only role which is setting up a table for implementors to discuss what goes in the spec based on what has been implemented and what websites rely on to work. This is the history of the vast majority of the APIs we have now on the web (and one of the reason they suck).

Necessary side note

Having had this discussions dozens of time, at this point, I know what a lot of readers think “this is dirty! The web would be much better if the W3C decided of the APIs upfront and implementors arrived later in the game.”. But this is not how things work. This is not how the web work. Get over it, otherwise we’re all wasting time discussing a fantasy world.

The reason the W3C has no decision power is that it has no mechanism to prevent implementors from doing whatever they want. Implementors decide, the W3C is looking at the side.

A bunch of tables

The W3C does not make a single decision when it comes to the web. They tried to push XML, implementors had no interest, so the W3C failed and XML use on the web is now largely anecdotal and absent of modern front-end developer practices.

The W3C is a restaurant. It has a lot of tables, it has a bunch of people paying to be here and discuss at the tables. The W3C at occasions moderates discussions, but that’s its only impact on the web platform. The people around the tables make the decisions, not the restaurant.

Sentence wording

“The W3C supports DRMs and is WRONG!!!!1!!1!ยง”. If a restaurant happens to have racist customers, does it support racism? Not really. Should a table be refused to those with different opinions than us? We’ve seen in the history that having discriminatory policies on who to accept in restaurant never ended well.
The W3C agreed to set a table for people who want to talk about protected content, but never forget the implementors around the table make the decisions, not the W3C. If the W3C didn’t set a table, chances are implementors would happily find another restaurant…


9 thoughts on “The W3C is a restaurant

  1. A restaurant ? It looks more like everybody comes with its own lunch, eventually pushing others to eat it.
    In a decent restaurant, when someone on a table is disturbing other clients by speaking loud about removing some of other clients’ rights, this person should be pushed outside.

  2. quote: “this person should be pushed outside.”
    Or they leave on their own. Then you get WHATWG, and how glorious it is for us low-level minimum-wage code monkey webdevs to now have the joys of perusing not one, but two separate and at times competing and contradicting, specs. Woo.

    • From your comment, I have the impression that you missed part of what I meant. As a developer, don’t code against standards. Code against browsers; more accurately, code against the subset of features interoperably implemented by the browsers you target.

      If there were 27 contradictory specs describing the DOM API, you still would have to deliver a product that runs in actual browsers.

      • Not sure why my reply to oranadoz is a separate comment. Maybe not enuff cc00ffee. But I disagree with him/her about pushing people out. They’ll leave and go to another restaurant. This actually has nothing to do with what you meant so far as I can tell.

        quote: “If there were 27 contradictory specs describing the DOM API, you still would have to deliver a product that runs in actual browsers.”

        If 27 different browsers each followed 27 different specs, do you really think I’d write code for 27 different browsers? If 27 browsers follow 90-something % of one spec, then very likely my code will be fine.

        So let’s fix this: “if there were 27 specs, we’d be delivering a product that runs in *an* actual browser.” Singular, unless there are 2.
        I remember those days. Surely you do too.
        And we have them again in mobile: no standarised API, everyone rewriting their entire crap in multiple languages for multilpe hardware vendors, meaning most people are just writing for one, or two. For most businesses I know, “mobile” only starts with a lower-case letter i, even if they’re still using Blackberries themselves.

        Meanwhile, everyone in the inky shadows is secretly hoping all users migrate to one platform and abandon choice, just as we once relished writing “enterprise” web stuff since that meant an ecosystem of… one browser. Which sounds a lot like your Devil’s Advocate in the article ๐Ÿ™‚

  3. Maybe implement only the one which does not step on openness ? (sorry for my english)
    A new technics, EME, will not solve a political problem, anyway.

  4. So what you’re saying is that we should blame and demand answers from Netflix, Google and Microsoft instead. Ok. Got it.

    • Don’t make me say what I didn’t ๐Ÿ˜‰ Blame and demand answers from whoever you want.

      One sure thing is that regardless of how accurate it might be, blaming the W3C and Tim Berners-Lee is a pure waste of time given that the W3C has no way to prevent Microsoft, Google or else from implementing whatever they want.
      The question then becomes: where is the best place for the spec they’re implementing to be standardized at?
      In my opinion, of all the options I can think of, the W3C is the least bad (a.k.a. “best”) option… and by a very long shot.

      • One could also ask the question: Does it have to be standardized *right now*, since it involves political questions which are currently debated (or kind of) ? What I mean is that, by producing standards, W3C actually helps Microsoft, Apple and so on doing something a lot of people are against. Sure, these actors can develop their own standards to include DRM in HTML pages. So what ? Would it be that bad ? Having a standard implies implementing this standard, thus helping spreading more and more DRMs. What would the absence of standard imply ? Having browsers not supporting some DRMs and so customers unable to consume ?

  5. “Does it have to be standardized *right now*, since it involves political questions which are currently debated (or kind of)”
    => It is implemented *right now*. It will be in IE11, that’s not negotiable. I receive emails from the chromium bug tracker any time there is progress on EME implementation (but I’m not sure when they’ll ship or if they already have)
    We’ve seen in the past that standardizing after implementation never ends well.
    Political questions are long term concerns. They are important, but unrelated to EME being implemented now.

    “W3C actually helps Microsoft, Apple and so on doing something”
    => The W3C sets a table. If you read the EME draft, you’ll see that the people writing the specs aren’t from the W3C. They are Microsoft, Google and Netflix employees. The W3C doesn’t really help anyone; the EME folks would do just fine writing the spec somewhere else, but I’m not sure it’d be desirable.

    “So what ? Would it be that bad ?”
    => I personally don’t know. If I knew how much worse that would be, I’d be less worried. At least, at the W3C, we have see spec drafts, the content providers are around the table, their concerns can be heard (sort of). We’d have none of that if the standard was happening behind closed doors or somewhere else than W3C.

    “What would the absence of standard imply ? Having browsers not supporting some DRMs and so customers unable to consume ?”
    => You’re on a good track, continue this train of thought ๐Ÿ™‚
    Hint: How I Met Your Mother and Breaking Bad
    (I am preparing a bunch of other posts where I’ll talk about that. I don’t want to spoil it in the comments ๐Ÿ˜‰ )

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s