Re: A Concrete Example for the HTML Versioning Debate

On 4/18/07, Ian Hickson <ian@hixie.ch> wrote:
> I agree we'll evolve it again. I just think that we won't do so in a way
> that will require user agents to know the difference between HTML5 and
> HTML6 (even Microsoft's proposal isn't spec version based, but browser
> version based).

I think this is where the difference in opinion lies.  Primarily this
is because I do not think it's possible to write a spec that supports
all existing web content, only a spec that minimizes the breakages of
content.  And we can only determine what breakages MIGHT happen by:

1) combing the spec (and probably how it interacts with its related
technologies) for cases where feature implementations differ

2) using whatever web pages are indexed by large search engines as an
indicator of how much that feature has been deployed and if
implementation-specific details matter.  This is admittedly a good
source, but a very large one.

3) soliciting vendors who then have to solicit customers who developer
internal applications.  These web pages/applications are likely much
more sensitive to one browser's specific behavior because of a
controlled deployment.  You can never be confident you're reaching all
possible clients.

4) changing the spec, changing implementations and catching sh*t in
Beta or later.  Not good for implementors reputations.

This means despite all best efforts and intentions there WILL BE
compatible differences between HTML5 and HTML4 (de-facto or specified)
behavior on some levels - we hope insignificant.  We can either be
confident in our ability to perform due diligence with #1-3 and risk
some (potentially small) breakages or we can let user agents switch
their behavior based on the version of the content.  To me the latter
is safer.

My premise here is that it is much easier to know as a browser vendor
that HTML5 will cause me to change my implementation of feature X
(because I control the source code) than it will be to know all
possible impacts this could have to all past, present and future web
authors using feature X (because this is ultimately an unknown).

Anyway, it seems that WHATWG's "<!DOCTYPE html>" means "this content
is HTML5 or later" so at the very least it will be possible for
browser vendors to use this as an opt-in for the first phase of
deployment.  IE-specific "compatibility" modes will have to be
introduced later to deal with Microsoft's own belief system in this
area.

If there is a compatibility change needed in a future version (HTML6)
it seems that at least you, Ian, have agreed it would require a new
DOCTYPE (in which case "<!DOCTYPE html>" will be retroactively changed
to mean only HTML5 and its point versions 5.01, etc).

The only problem I have with this is whether the convenient DOCTYPE
will later be used an excuse for not changing the spec at some future
point - but I don't think this is a realistic scenario.

Jeff

Received on Wednesday, 18 April 2007 15:25:50 UTC