Hixie's Natural Log

2007-06-06 08:21 UTC The CSS working group is irrelevant

Back in March, Google hosted the CSS working group for a three day meeting.

At the time, we were just starting with the HTML working group, and the openness of the WHATWG over the past few years was just starting to be adopted by the HTML working group, after several months of pushing for it in the W3C (mostly in secret, though my own posts on the matter were all public, as were a few others).

One of the things I brought up in the CSS face-to-face meeting was the problem of the CSS working group not being open. Many of the members of the CSS working group have a mentality that view the Web community (such as those who e-mail the www-style mailing list) as a resource, not as potentially equal members of the community. Of the forty or so members of the working group (those subscribed to the secret internal mailing list), only a dozen subscribe to the public list. This actually makes it harder for members of the group to try to be more open — when someone posts a proposal to the public list, there's a good chance that the majority of the members of the working group will miss it. During the meeting, I opined that if the group continued along in this direction, the group ran the risk of becoming irrelevant; two of the other members suggested that the group was already irrelevant. Sadly we were in the minority.

The CSS working group right now is chronically dysfunctional, as most close observers have noticed.

A great example of this is the difference in how the WHATWG got a blog and how the CSS working group set one up. In the WHATWG, the idea was floated for a while, and then one day someone volunteered to run it, and the blog was up and running within hours. Anyone (literally anyone) can post to the WHATWG blog (there's a moderation step that we added to deal with the spammers, but all it takes now is to get onto IRC and ask for the post you wrote to be published). The CSS working group, on the other hand, has been discussing how to set up a blog, and what the first entry should say, and what tool to use, for over two months! Nearly every phone call (the group has weekly teleconferences) for the past nine weeks has had the blog discussed at some point.

The blog was finally made available last week. To post, you have to be a group member. The first post can be summarised as follows: the CSS working group members don't want to bother going out of their way to get feedback on their specs; instead, people should post their comments on CSS to the public CSS mailing list (despite the fact that most CSS working group members aren't subscribed to this list). The blog post then goes on to apologise for the blog's existence, and claims that the blog's aim is to reach the people who won't subscribe to the public mailing list (the working group itself, maybe?). The post doesn't make it clear how the blog is expected to reach this wider audience, since the blog has no comment feature.

Another example of the problems of the CSS group is visible on the W3C's Technical Reports page. The group's primary deliverables are specifications. The last candidate recommendation published by the group was published in 2004. That was the Basic UI module, which was Tantek's baby (he has since left the group). Meanwhile, drafts like the Backgrounds and Borders draft, which has had big parts implemented by Safari for months, and small parts implemented by Mozilla for years, have iterated several times but make no public process (the backgrounds and borders draft was published in 2005, but the internal draft was last modified in February of this year).

Meanwhile, CSS2.1, the working group's most important deliverable, keeps getting tied up, with the group discussing irrelevant details and some members repeatedly reopening old resolved issues. The W3C process doesn't help much here either; the group actually tried taking CSS 2.1 to Candidate Recommendation stage recently, but was blocked by the W3C management over an issue which was already present in CSS2. (In all fairness to Tim, the issue he raised is one which was already raised by several other people, but which the group had dismissed. I actually agree with him that it should be resolved. The group has since resolved to change the spec in a way that continues to leave the issue undefined, but at least it no longer contradicts what Web browsers do.)

The group is also supposed to work on test suites. I had volunteered to work on the CSS 2.1 test suite, but due to lack of time, I bailed on that last year (Google mainly employs me to work on HTML5; any test work that I do is done in my free time, which is mostly spent near aquariums now). Since then basically nothing has happened.

Being public would expose a lot of these problems, forcing the working group to act more responsibly. It would also allow people to contribute — as specification editors, as test suite editors, as reviewers, as community leaders, and in other roles.

But to be honest, the problems go even further than what I've described above.

The CSS specs show their age; they come from a time where specifications were much vaguer than those of the modern day. Someone really needs to do to CSS what the WHATWG has been doing to HTML, defining everything in detail, explicitly, with strict and clear normative conformance criteria, taking implementations into account, defining things like quirks mode. (The WHATWG community refers to such a hypothetical project as "CSS 5", as a reference to the way the current WHATWG specs define HTML5, XHTML5, and DOM5 HTML.)

The CSS working group also doesn't really have the nimbleness needed to respond to threats to the Web platform like Silverlight. We need things like flowing-to-shapes, automatic declarative transition animations, gradients, filters, styling of form controls, and so on. (The WHATWG is already handling some related, non-presentational, things, like client-side SQL databases, video, and rich controls.) We need these things this year, in enough detail that they can be implemented. An open group can iterate much faster than a closed group. With an open group we can get test implementations, feedback, tests, and discussion straight away, instead of waiting months and then pulling back the curtain and presenting a fait accompli, at which points comments are perceived more as a pain than a help.

One way to address this would be for the WHATWG to start a "subproject" to address CSS, while we wait for the W3C CSS group to learn from the W3C HTML group and become open. The biggest problem would be finding editors who would be willing and capable of doing the incredible work of rewriting CSS from scratch.

Pingbacks: 1 2 3 4 5