- Diem Do
Welcome to the standards jungle (we’ve got fun and games)
It is one thing to decide a new HTML element is needed. It’s quite another thing to actually navigate the stratified, labyrinthine world of Web standards—especially if no one on your team has ever done such a thing.
Perhaps the best thing about being naive, though, is that you tend to plow forward without the hesitation that attends someone who knows how difficult the road ahead will be. And so the developers working on the picture element took their ideas to the WHATWG, one of two groups that oversees the development of HTML. The WHATWG is made up primarily of browser vendors, which makes it a good place to gauge how likely it is that browsers will ship your ideas.
To paraphrase Tolstoy, every standards body is unhappy in its own way. As Marquis was about to learn, the WHATWG is perhaps most unhappy when people outside it make suggestions about what it ought to do. Suffice to say, Marquis and the rest of the developers involved did not get the WHATWG interested in a new HTML element.
Right around this time, the W3C—which is where the second group that oversees HTML, the HTML WG, is based—launched a new idea called “community groups.” Community groups are the W3C’s attempt to get outsiders involved in the standards process, a place to propose problems and work on solutions.
After being shot down by the WHATWG, someone suggested that the developers start a community group. The Responsive Images Community Group (RICG) was born.
The Responsive Images Community Group website.
The only problem with community groups is that no one in the actual working groups pays any attention to community groups. Or, at least, they didn’t in 2011.
Blissfully unaware of this, Marquis and hundreds of other developers hashed out a responsive image solution in the community group.
Much of that effort was thanks to Marcos Caceres, now at Mozilla. Unlike the rest of the group members, Caceres had some experience with writing Web standards. That experience allowed him to span the divide between two worlds—Web development and standards development. Caceres organized the RICG’s efforts and helped the group produce the kind of use cases and tests that standards bodies are looking for. As Marquis puts it, “Marcos saw us flailing around in IRC and helped get everything organized.”
“I tried to herd all the cats,” Caceres jokes. And herd he did. He set up the Github repos to get everything in one place, set up a space for the responsive images site, and helped bring everything together into the first use cases document. “This played a really critical role for me and for the community,” says Caceres. “It forced us to articulate what the actual problem was… and to set priorities.”
After months of effort, the RICG brought its ideas to the WHATWG IRC. This also did not go well. As Caceres puts it, “standards bodies like to say ‘oh, we want a lot of input for developers,’ but then when developers come it ends in tears. Or it used to.”
If you read the WHATWG IRC logs from that time, you’ll see that the WHATWG members fall into a classic “not invented here” trap. Not only did they reject the input from developers, they turned around and, without considering the RICG’s work at all, proposed their own solution. It was something called set, an attribute that solved only one of the many use cases Marquis and company had already identified.
Developers were, understandably, miffed.
With developers pushing Picture, and browser makers and standards bodies favoring the far more limited and very confusing (albeit still useful) set proposal, since renamed srcset, it looked like nothing would ever actually come of the RICG’s work.
As Paul Irish put it in the WHATWG IRC channel, “[Marquis] corralled and led a group of the best mobile Web developers, created a CG, isolated a solution (from many), fought for and won consensus within the group, wrote a draft spec, and proposed it. Basically he’s done the thing standards folks really want ‘authors’ to do. Which is why this feels so defeating.”
Irish was not alone. The developer outcry surrounding the WHATWG’s counter proposal was quite vocal, vocal enough that some entirely new proposals surfaced. But browser makers failed to agree on anything. Mozilla killed the WHATWG’s idea of srcset on img. And Chrome refused to implement Picture as it was defined at the time.
If this all sounds like a bad soap opera, well, it was. This process is, believe it or not, how the Web you’re using right now gets made.