XBL2 is dead.

I just read Anne's update (http://blog.whatwg.org/weekly-xbl-intents)
and realized that while Dominic shared the notes
(http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1513.html),
there wasn't a nice short summary of the discussion published
alongside. I should totally correct that.

But first things first: XBL2 is dead. To paraphrase
http://www.imdb.com/title/tt0093936/quotes?qt=qt0311047, there was a
funeral and we buried it.

There are chunks of it that are still viable and immensely useful.
However, there are large chunks that will have to be cut, some running
deep into the viable chunks. At the meeting, there was some discussion
on whether to keep the remaining living organs under the auspice
(hospice?) of XBL2, but it is fairly clear to anyone attempting this
exercise that the surgery will not produce a spec that can stand on
its own.

Further, instead of packaging Web Components into one omnibus
offering, we will likely end up with several free-standing specs or
spec addendums:

1) Shadow DOM, the largest bag of with XBL2's donated organs --
probably its own spec;
2) Constructible and extensible DOM objects  which should probably
just be part of DOM Core and HTML;
3) Declarative syntax for gluing the first 2 parts together -- HTML
spec seems like a good fit; and
4) Confinement primitives, which is platformization of the lessons
learned from Caja (http://code.google.com/p/google-caja/), integrated
with element registration.

Why split it like this? Several reasons:

a) they are independently moving parts. For example, just shadow DOM,
all by itself, is already a useful tool in the hands of Web
developers. It's our job as spec developers to ensure that these bits
comprise a coherent whole, but from implementation perspective, they
don't need to block one another.

b) each belongs in the right place. For example, making DOM objects
extensible is a concern inside of the DOM Core spec. Declarative
syntax really needs to live in HTML. Also...

c) some parts are too small to be their own spec.
Constructible/extensible DOM objects bit does not even have an API
surface.

d) And finally, every bit has potential of solving problems that are
more general than just about components. We shouldn't require making a
component if all developer wants is some shadow DOM. Similarly, lack
of needing a component shouldn't preclude the use of confinement
primitives.

Just to recap: XBL2 is dead, exploding into a pretty rainbow. I am a
pop tart cat in front of the rainbow.

:DG<

Received on Thursday, 22 September 2011 18:31:21 UTC