On Tuesday 2005-06-28 20:31 +0200, Robin Berjon wrote:
> Ian Hickson wrote:
> >It's not appropriate for a spec to take positions on other technologies.
> >Technologies should succeed or fail on their own merits, not because they
> >were dragged kicking and screaming into implementations by virtue of other
> >specs requiring them.
>
> That is quite incorrect. CSS, on it's complete own, is 100% useless. A
> CSS user agent would probably be the dumbest piece of software one could
> ever write.
>
> It is *very* appropriate for user-agent orientated specs to take a stand
> on which technologies are applicable. At the other end of the spectrum
> you get toolbox specs that are just there to be reused for whatever.
Adding nonessential dependencies to specifications for improving
interoperability can do more harm than good, for the following reason.
Most groups in the Interaction Domain of the W3C are driven by one of
two groups of user agents, desktop Web browsers and mobile devices.
These two groups of user agents have much better interoperability within
the groups than between them. They tend to implement different sets of
specifications, with some intersection. (I say that based on what I
know about the first and what others have told me about the second.)
Consider a specification that is followed strictly by one group of user
agents and loosely or not at all by the other. This specification's
adding nonessential dependencies is likely to improve interoperability
*within* these groups of user agents, but do nothing to help the already
poor interoperability *between* these groups of user agents. It may
even suppress potential improvements in interoperability between the
groups of user agents since resources within one group will be diverted
to implementing the nonessential dependencies rather than improving
interoperability between the groups.
Making these separate clusters of interoperability more distinct is the
logical result of nonessential dependencies in the current market. This
makes it easier to write content that works on one group of user agents
but not the other, which increases the chances of a fork between the
desktop Web and the mobile Web. Such a fork would be horrible and that
maintaining one Web should be among the W3C's top priorities.
This is why I oppose other groups (e.g., SVG) adding nonessential
dependencies to their specifications, and why I think CSS should set an
example by not doing so.
(Note that I didn't state a position on where I would stand, if the
improvement to interoperability didn't have this problem in the current
market, on the issue of interoperability versus letting the market
decide.)
-David
--
L. David Baron <URL: http://dbaron.org/ >
Technical Lead, Layout & CSS, The Mozilla Foundation