loge.hixie.ch

Hixie's Natural Log

2006-10-02 06:52 UTC Real sacrifices (and some notes on what I've been up to)

Over the last few weeks I've finished several key parts of the HTML5 specification, most notably innerHTML for HTML elements, document.write() in HTML documents, the new datagrid element, and the drag and drop APIs.

Yay! This makes me happy.

Speccing innerHTML was hard (by which I mean "fun") because despite the fact that every Web browser implements it, none of them agree on exactly what it should do. Which is normal of course when you don't have a spec! I had to come up with rules that are compatible with what browsers do, while being sane for the bits where they differ (none of the browsers exactly match the spec, because I found clear bugs in all of the browsers).

Now I have to work out what to do next.

The problem, of course, is that by specifying things like document.write(), while we hopefully will gain better interoperability and thus less hassles for authors, we symbolically lose the battle for cleanliness in Web authoring. That, of course, is the argument that most of the non-WHATWG-supporting Web standards community keep making: by defining exactly how tag soup should work, we are losing the ability to switch entirely to a clean XML world. Obviously (since I keep working on it!), I'm not really convinced. Authors are using HTML, there's no point pretending they aren't.

Sometimes we lose, but when that happens we have to accept it and hope that we'll have an opportunity to get something better later. That's what I think (and hope!) is happening.

Thankfully, there's at least some hope that myself (and the more than eighty contributors to the HTML5 spec so far) have the agreement of a wider community — several browsers are implementing some of the various proposals, and some of the things to come out of the WHATWG have now ended up on the W3C TR page.

That this would happen so fast was unthinkable when we started it all.