Web standards, the three-legged race

A few days ago Molly threw a bit of a hand grenade into the community:

  1. COMPLETE HTML 4.1, XHTML 1.0 and CSS 2.1 in specs and browsers where applicable
  2. CALL for consistent implementation of these most basic specifications in all current browsers and devices to this point
  3. WAIT for future HTML, XHTML and CSS implementations until these implementations are complete
  4. FOCUS on JavaScript and DOM fixes and implementations as we come up to par with markup and style

Now, Molly, you know I love you so I’m going to assume that you were just looking to stir the pot to get people talking about this. I’ll bite.

Our industry is engaged in a prolonged three-legged race. On the one side you’ve got the folks building the user agents and on the other the content and application developers. Where the two come together — the composite third leg as it were — is in standards bodies like the W3C. Just as in a real three-legged race if we spend our time fighting against each other neither one of us will get anywhere. We either win together or lose together.

The more important parallel in this analogy, however, is that we also will not win the race if both sides lurch and pause in uncoordinated fits and starts. In order for us to move as quickly as possible we need steady, even forward progress from both sides.

Let’s set aside, for a moment, the case that others have already made and examine the effect of stopping and waiting for user agents to implement the current language specifications. Let’s even imagine that within the next couple of years a sufficient majority of user agents would have reached this point — hey, we’re imagining, right? The problem with that is that it presumes that the specs the user agents would have implemented are complete and correct themselves, which, I can promise you, they’re not. We would have just spent a couple (more) years catching up to where we thought we wanted to be over a decade earlier.

We have built mountains of practical experience in the relatively static period of the last several years; the Web we want now is not the same Web we thought we wanted (or thought we could achieve) back when HTML 4 was being formulated. Getting the current specs fully and consistently implemented would clearly not be a bad thing, but there would certainly be some bad things (or less good things) about it. More importantly, why should we give up any time at all that could be spent incorporating our current understanding of where we want to be heading? If we know the current specs don’t align closely enough with what we’ve come to need from them, why would we not continue to develop them?

This isn’t a problem, it’s the way it’s supposed to work. We determine what we think we want, build what we think we need, find where either of the two fall short or go too far, lather, rinse, repeat. It requires cooperation from both sides to keep moving forward. I think Molly’s right that we need user agents to catch up; I just disagree that waiting for them is the best choice for the long run.

Or, in the immortal words of Ace of Base, “Everyone everywhere, dance or fade out.”