Re: Extensibility strategies, was: Deciding in public (Was: SVGWG SVG-in-HTML proposal)

Ian Hickson wrote on 08/06/2008 04:01:27 PM:
>
> On Wed, 6 Aug 2008, Sam Ruby wrote:
>
> > Suffice it to say that I now see some potential promise for the
proposal
> > that you have outlined. I'm not yet convinced that it is usable enough
> > for people to actually consider trying it, but if it does end up
getting
> > documented and used (which may involve tweaking the proposal), I can
see
> > it as the basis for closing issue 41..
>
> Ok... What changes would the spec need to get us there?

Note that I'm not the one that opened isue 41.  What placates me may not
suffice for others.

As to your question: I'm not sure yet.  And, given the hyperbole that has
pervaded this discussion (e.g., collisions are not a colossal problem, nor
is it an ignorable problem, it is merely a problem, i.e., something that
needs to be worked), I want to tread lightly.

First an analogy that works for me.  It might not work for anybody else,
but it helped me.

A lot of Rails applications produce well-formed XML (modulo the mime type),
at least to the limits that REXML cares about well-formedness.  The reason:
there is a strong test-first ethos in the Ruby community, and REXML and
XPath initially were the tools of choice for extracting the data upon which
test assertions are made.  Lately, however, there has been a trend to do
assertions based on CSS style selectors.  Ultimately, this will have an
affect on the way pages are produced.

I agree with much of the GRDDL discussion, an in particular with the
sentiments that however HTML5 turns out, those that currently use GRDDL
will find a way to adapt.  But GRDDL doesn't own a monopoly in this space
(and, to be fair, nobody is suggesting that it does).  GRDDL is XSLT based,
and therefore relies heavily on XPATH.

What would a solution that was based instead on CSS selectors look like,
and how would it affect content?  One thing is certain: any such solution
would have a number of familiar problems: for example, usability,
collisions, compactness vs. explicitness tradeoffs.  But having familiar
problems doesn't mean that there will be familiar solutions.  XML
Namespaces went with URIs.  Simply reserving a '-' as the first character
in CSS property names has been a "good enough" collision avoidance strategy
in that domain.  If other domains require solutions that adversely impact
compactness of expression, then perhaps some non-locality might be
required, but perhaps not as the default or perhaps not implicitly.  I
don't know yet.  I suspect that none of us do.

To be clear: I understand the skepticism on uses of indirection in general,
and *required* forms of indirection in particular, but I encourage
everybody to keep an open mind; just like with URIs as class names, there
may (for example) be use cases where opt-in explicit indirection is
appropriate.

Note: I don't mean to conflate GRDDL and distributed extensibility; they
are in fact different things.  But they share a number of common
characteristics.  After all, when designing a vocabulary, you want to make
sure that the content is expressed in a manner that it can be readily
extracted by tools.

> --
> Ian Hickson               U+1047E                )\._.,--....,'``.    fL
> http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
> Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

- Sam Ruby

Received on Thursday, 7 August 2008 12:32:44 UTC