Re: Versioning re-visited (was : mixed signals on "Writing HTML documents", tutorial, etc.)

Hi Ian Hickson,
The purpose of my e-mail was not to debate, but to try to summarize
the arguments in favour and against versioning. I was also asking for
a better Wiki [http://esw.w3.org/topic/HTML/DocTypes02] on the topic
to help people make their choice.

Anyway, since we are there, I have problems with your argumentation
since you do not really explain why we should /not/ have versioning,
but instead you try to show that versioning is sometimes superfluous.

> > * An explicit version helps a browser or any reader to know the
> > intention of the author.
>
> This only works if the author actually knows what his intent is. 50% of
> pages on the Web have no DOCTYPE [1]. So it's not clear to me that you can
> actually determine the intention of the author from the version.

Your reasoning is strange to me: if the author of a Web page did not
chose to include an explicit version, then there is none...
Furthermore, from your own statistics, 50% of the Web pages /do/ have
versioning. It would also be interesting to know how this proportion
evolves over time, with the CMS, editors and Web masters becoming
better. For all those people who /chose/ to have explicit versioning,
your argument does not seem to be valid.

> Furthermore, if you keep your language backwards-compatible, the intent of
> the author is independent of which version was current when the document
> was written. So versioning isn't the only way to catch author intent.

That is not a point against versioning. You just say that /maybe/
versioning is superfluous in some cases.

> > * Versioning is needed to update the HTML recommendation without
> > breaking existing content.
>
> This is clearly untrue, since the version has never been used for this
> purpose despite HTML being on its 9th revision (HTML1, HTML+, HTML2,
> HTML3.2, HTML4, HTML4.01, XHTML1, XHTML 1.1, HTML5/XHTML5). (Some of those
> revisions did have version information -- though not all -- but in no case
> was the version identifier used to avoid breaking content.)

There are differences between all those version, both in the syntax,
grammar and semantics.

> > * It allows the automatic validation of the HTML documents against the
> > precise HTML version they are targeting.
>
> This is still possible without version information, you just need to tell
> the conformance checker what you intend to test against. CSS works like
> this, for instance.

By definition, "automatic" means that there is no such a "you just
need to tell"... So the point for versioning is still valid. While it
is true that it is possible to pick up by hand the version to use (if
the author has a way to remember which version was used for one given
document), it is harder when you face thousands of documents from
various generations.

> > * Allows "flavours" of HTML such as "XHTML Basic".
>
> Profiling the data-level language is harmful, but even if it wasn't,
> versioning isn't actually required to do it. CSS, for example, is not
> versioned but has been successfully profiled many more times than HTML.

Well, I do not know if CSS is a good example, but I personally do miss
a version and profile, for instance to do automatic validation.

> > * A validator may advise updating to a newer version if it can
> > automatically tell what version was used, and another tool may provide
> > some help in the conversion to the newer version.
>
> If you omit versioning information and ensure the language remains
> backwards compatible, there is actually no need to update anything.

Here again, you say that /if/ we are lucky and things stay as you want
them to be, versioning  may be superfluous. No point against it there.

> > * A special extra knowledge will be needed to know that <!DOCTYPE html>
> > means HTML 5 (or any later version until a version mechanism is
> > re-introduced).
>
> It doesn't mean "HTML5", it means "HTML".

Well, this depends on the view point. Since HTML 4 is not valid HTML5,
you may have to tell the authors of all those HTML 4 pages that they
are not doing HTML pages after all.

> > * There will be no consistency with previous HTML versions if we use
> > <!DOCTYPE html> for HTML 5 and need to reintroduce the public identifier
> > in later versions.
>
> True. Of the ones you listed, this seems to be the only valid reason to
> have versioning.

Good, at least we agree on one point.

> So in conclusion, as I see it the arguments in favour of versioning boil
> down to aesthetics, and the arguments against include dire things like us
> losing competitiveness in the browser space. [2]
> [2] http://lists.w3.org/Archives/Public/www-archive/2007Jun/0024.html

Actually, regarding "competitiveness in the browser space", I would
like to point you again to the arguments from the Internet Explorer
team:

Chris Wilson (Microsoft):
> The Microsoft IE team is committed to implementing standards compliance.
> At the same time, we can't change current behavior for current content.
> That paradox requires us to require authors to opt in - which they can do through
> IE-specific goo (which, as I said, I think is sub-optimal), or telling us what era of the
> implementation they wrote their content. [...].
> As for the details of version, I have to object strongly to the idea that the DOCTYPE
> for HTML5 should just be: <!DOCTYPE html>
[http://lists.w3.org/Archives/Public/public-html/2007Apr/0612.html]

See also the message from David Hyatt (Apple)
[http://lists.w3.org/Archives/Public/public-html/2007Apr/1408.html]

Regards,
Alexandre
http://alexandre.alapetite.fr

Received on Friday, 22 June 2007 12:07:53 UTC