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

On Fri, 22 Jun 2007, Alexandre Alapetite wrote:
> 
> === In favour of a versioning system ===
> On the other hand, I see some strong good reasons to have such as 
> versioning system.
> 
> The main arguments seem to be:
> 
> * 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.

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.

[1] Based on a sample of several billion documents that I did back in 
September of last year.


> * 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.)


> * 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.


> * 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.


> * 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.


> * 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".


> * 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.


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

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

Received on Friday, 22 June 2007 03:43:01 UTC