Re: Formal definition of HTML5 (was Re: Version information)

On Tue, 17 Apr 2007, Henrik Dvergsdal wrote:
> On 17. apr. 2007, at 02.47, Ian Hickson wrote:
> 1. That we have made the correct decisions regarding what we want to 
> express in the standard. - I can see how competing browser 
> implementations could contribute to this, but I don't see how competing 
> schemas can.

We want to encourage an ecosystem where conformance checkers compete over 
how many errors they can test for, in the same way that browsers compete 
in how many test cases they pass, instead of having an ecosystem like 
HTML4's, where in the YEARS of HTML4 being the latest and greatest, no 
serious usable conformance checker was made that used more than the 
official schema.

> 2. That these decisions are expressed as correctly as possible in the 
> standard. Maybe different strategies towards this type of correctness is 
> the reason why we reach different conclusions on this point. My primary 
> strategy would be to achieve precision by utilizing formal, conceptual 
> tools like formal grammars etc. Your approach seems to be to rely less 
> on formal frameworks and more on continuous improvement based on input 
> from external competing formalizations.

There are two aspects to development:

 * The technique used, e.g. English prose, formal grammars, reference 
   implementations, normative test suites.

 * The development model, e.g. working in a metaphoric closed room and 
   coming out after many years and handing down the tablets to the people, 
   saying "and these shall be the laws of the land, and henceforth you 
   shall follow them, and following them shall be your destiny", ignoring 
   future feedback or, working directly with the community of web 
   developers, taking feedback into account, iterating continuously over 
   many years, improving the document as time passes.

I prefer using English prose and an iterative model.

I prefer English prose over the other techniques because in my experience 
it leads to better implementations. Formal grammars require that spec 
editors, implementors, and developers have training in the use of formal 
grammars, something which is not the case in this community. Reference 
implementations are workable with simple technologies, but with 
technologies as vastly complicated as HTML, CSS, the DOM, and the like, 
they are no better than your typical Oracle, and just as cryptic. 
Normative test suites are surprisingly effective, but tend to make it 
impossible to tell if the whole is actually fully implementable, as it is 
much harder to find contradictions in test suites of tens of thousands of 
tests than it is in a single (long) readable document.

I prefer the iterative development model over the Stone Tablet development 
model because the latter assumes the people writing the spec are 
infallible, which is an unrealistic assumption, especially if I'm 

> I think this is a question about at which level we want to stabilize 
> things. Development at one level is based on stability (or stagnation if 
> you like) at another. Thats why we have standards.

Stability is a myth in the development of specifications as complicated as 
HTML. We will be fixing errors in our specs for years if not decades to 
come; we cannot afford to freeze ("stabalise") parts of it to the point of 
ignoring feedback. (Though certainly, a time will come -- hopefully soon 
-- where we can put a hold on new features for HTML5, moving new feature 
development to HTML6.)

> As a web developer I will appreciate having one common official schema 
> run by a committee rather than having to choose between (and judge the 
> quality of) several competing schemas.

I don't understand why you think schemas should be officially blessed, but 
browser implementations should not (assuming you indeed think they should 
not). Conformance checkers are not substantially easier to write than 
browsers; why would the working group have the skills to write one, let 
alone the best one?

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

Received on Tuesday, 17 April 2007 09:30:21 UTC