Cruelly Slow Slog

The CSS 2.1 specification was recently refused entry into the (almost) safe harbour of Candidate Recommendation (CR) status again (for what is it? the fourth time?). This means that the spec is still in a you-can’t-believe-a-word-of-this Working Draft state, just like it was seven years ago. This can be summed up in the word frustrating.

To be fair the goalposts have not only been shifted from when Tantek Çelik originally suggested CSS 2.1 one Sunday afternoon, but completely replaced. Originally the idea was just to remove the parts of CSS 2 that nobody wanted to implement. This could have been done in months. It would essentially be a profile of CSS 2, “CSS 2—The useful bits”.

Instead CSS 2 was fully rewritten in tedious detail, the goal was now the interoperable CSS 2. This in itself was a good thing. It is much better that the spec is unambiguous than having incompatible implementations of the same, vague, spec. The ones having already implemented CSS 2 would need to adjust their products, but for new CSS 2.1 user agents getting it right the first time is much cheaper, not to speak of the millions of web designers that don’t have to make specific hacks for every browser in existence.

But there is a diminishing return. The optimal time/clarity moment was probably when it was first submitted for CR, three years or so ago. This is not to say that what was done after that was unnecessary, but the extra clarity we have gotten for increasingly obscure issues have simply not been worth the additional years. They would have to be resolved at one point or another, but are errata or CSS3 material. The fatigue in the working group and impatience in the designer community is also starting to show, those that haven’t given up on it years ago.

It is also slightly unfair. SMIL 2.1 had its first (and last!) working draft in February 2005, and a finished recommendation in December 2005. Were they that more efficient? No, but evidently their goal was to push out a spec as soon as possible rather than solving underlying problems, and crucially nobody outside the working group cared.

With this as a background it is none too surprising that a discussion on wither working group, even in some cases whether working group, has started. One solution I find particularly unconvincing is the argument that the CSS working group should follow the lead of the new HTML working group which currently has 405 self-invited experts, and the number is growing. That is the classic “the project is late, let’s throw in many more people” approach. This behind the scenes report may be the best summing up of the situation.

The other symptom is an earlier call for CSS 2.2, reminiscent of my suggestion in 2002 or thereabout of a CSS 3.1. The big problem was as evident then as now. CSS 2.1 may have taken way more time and effort than was originally intended, and now we suffer from it. But sooner or more likely later it will be done. CSS3 on the other hand is a monster many times bigger than CSS 2(.1), the chances of it being fully done, let alone implemented, any time soon is nil. So what about the designers that have waited patiently on rounded corners for a decade and now have the outlook of having to wait another decade so that at least their children will be able to specify it in their style sheet?

Join the Conversation

  1. We could at least hope that browser vendors/makers implement the CSS3 modules in more or less the same order. Would that be to much to ask…- ØØ –

  2. I am afraid that the answer is yes… Different use means different priorities. Since we are used on a wide variety of devices, things like media queries are important to us, while printing extensions are important to Prince, and so on. But there are parts I would expect everyone to support, like the selectors.

  3. I did a test on the selectors not too long ago. Doesn’t look too bad really. And I hear the next version of Opera should be getting close to perfect sooner rather than later. Only time will show, and it looks like we will at least have a lot of time to pounder on it. – ØØ –

  4. Thanks Jonny for that link to fantasai’s posting. As Scott Adams said, the last thing I read always seems the most persuasive. So everything is going to be fine 🙂

  5. Originally posted by Rijk:So everything is going to be fineAhh, everything is going to be fine.(For those who don’t like indirection, here is a direct link to Fantasai’s entry.)

  6. Indeed, so it seems. I choose to believe that this time it in is for good. Now comes the fun part, writing test cases and testing it against implementations. Features not supported by at least two independent implementations will have to be dropped, and CSS 2.1 can’t advance to the next level, Proposed Recommendation, until all of it is thusly supported.


Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.