Oli.jp

Articles…

A love letter to the CSS Working Group

Someone needs to do to CSS what WHATWG has done to HTML

Given the not-always-sunny relationship between some members of the WHATWG and W3C, this was perhaps a little provocative. Also the CSS Working Group has been making steady, albeit slow, progress, and in the right direction. So what’s my problem? Well, like you I love the web. And I want to make it better. So in the spirit of “I’m only telling you because I love you”, here are some areas I’ve had problems with or wanted to improve.

Community outreach

As a web developer one thing I really noticed about WHATWG was their desire to get feedback — anyone can become an “invited expert” and participate. In addition to multiple mailing lists, there’s a blog, an active IRC channel, a forum, a wiki, and a bug tracker. There’s even a script allowing feedback to be submitted while reading the specs. This has created some problems, but it has certainly made HTML5 the most accessible spec, with the lowest barriers to participation.

The CSS Working Group has an open mailing list in www-style, and an occasionally active IRC channel, but that’s about it (correct me if I’m wrong). There’s also no venue for general questions — newsnet does not count, sorry. This isn’t necessarily a bad state of affairs, but I get the feeling WHATWG is working more in the open, and doing a much better job of encouraging participation.

Specifications

The HTML5 specification is available as multiple versions of HTML, PDF and via Subversion, including a web-based history with diffs. In addition, WHATWG has been open to projects like HTML5 for Web Developers, a beautiful, usable version of the HTML5 spec by Ben Schwarz and friends. Taking other ‘for developers not implementors’ versions of the spec such as Mike™ Smith’s H:TML into account, there’s something for everyone.

CSS3 specs are available solely as ‘for implementors’ HTML files, in a visual design reminiscent of browser default. If you expect web designers and developers to actually read them, browser default styles don’t really cut it. I’m hoping Divya’s improvements will extend this far — you can see examples of the new styling in the Images and Flexbox editor’s drafts. Also, while there’s a list of specs and a list of specs with descriptions, neither are ordered to be useful for reference (by topic or alphabetically).

Tools

CSS Working Group specs are only available as HTML files — there’s no public repository access, not even a web interface. I can’t use versioning tools like git log -S or git diff if I want to check when something was added or removed. Thanks to Tab Atkins I now know about the W3C CVS repository — well hidden, indeed. There’s no issue tracker so I can’t subscribe to or easily search for issues, and no equivalent to the inline bug reporter. I’ve checked the HTTP headers for the CSS Regions Module editor’s draft last modified date because … it doesn’t have one. There’s not even a place that collates links to all versions of each spec (although this helps).

Ben Schwarz has waded into the CVS swamp and set up a CSSWG mirror on GitHub. This will make it much easier to duplicate some of the features WHATWG offers, in addition to making the specs more accessible.

Licensing

I’d like to make the CSS equivalent of HTML5 for Web Developers, but the W3C License Document states:

No right to create modifications or derivatives of W3C documents is granted pursuant to this license

For comparison the WHATWG license is:

You are granted a license to use, reproduce and create derivative works of this document

In conclusion

I don’t mean replace the CSS Working Group and rewrite everything, although CSS specs would certainly benefit from a single editorial voice (detailed style/language/grammar guides would help here). I mean I wish the CSS Working Group would realise that web developers are also your audience — a few of the things above would go a long way in helping us make beautiful music a better web together.

<3

If you have any feedback, please let me know via Twitter (@boblet) or Google+.

Changes

  1. Corrections minutes after publishing thanks to Tab Atkins — adding link to CVS
  2. Added links to Ben Schwarz’ GitHub mirror of the CSSWG CVS, plus links to specs using Divya Manian’s new styles