Re: legacy of incompetence? [was: a compromise to the versioning debate]

On 16/04/07, Henk-Jan de Boer <html-wg@hjdeboer.nl> wrote:
> If that is to be the planned implementation route for Apple, Opera and
> Mozilla, wouldn't postponing the decision on versioning be the best
> compromise to this versioning debate at the moment? Is it unrealistic to
> say: let Safari, Opera and Mozilla implement the spec and let them prove
> that it's useful for rendering legacy HTML? That proof should convince
> Microsoft in the end, shouldn't it?

No. First of all, the mode switch is about more than rendering. It's
about CSS sure, but also DOM, handling of HTML elements and
attributes, HTML error correction, maybe about handling of content
types and other HTTP stuff.

To use an example Chris Wilson already brought up, Microsoft can't
change getElementById to ignoring names without breaking current web
content - while other browsers already implement it correctly. There
is content out there that is written for IE, there is content that is
written to a common subset supported by all major browsers, and
content that is written for other browsers and hacked to support IE.

Content out there rely on a whole slew of bugs and features. So just
because the other browser vendors can do something, that doesn't mean
Microsoft can do the same. They don't start from quite the same
position.

> I get the feeling that Microsoft tries to keep a back door open with
> proposing versioning, simply because the don't really believe that HTML5
> will be fully backwards compatible for IE (that is, compatible with all
> or at least nearly all content that relies on their old bugs), while
> others simply state that it should be possible. Wouldn't it be better to
> pick up the versioning debate later on, when Apple, Opera and Mozilla
> can claim that HTML5 is fully backwards compatible with existing content?

That is one thing I do agree with. I just don't think Microsoft have
the option of not using a mode switch. Versioning on the other hand is
a whole different issue. I personally believe the best way out would
be to have add a single mode switch to a single implementation and
leave it at that.

> Is further development and implementation without a decision on
> versioning possible?

I don't see why not. Even Microsoft can implement it without the
switch as long as they are able to add the switch for public release.

> If yes, shouldn't we all work on being as much backwards compatible as
> possible and let the practical outcome decide the versioning debate in a
> few years?

It's hard to be backwards compatible with content that is relying on
both standards compliant behaviour and proprietary behaviour. I don't
think it's possible for Microsoft without removing the entire set of
bugs and features that can be used to set it apart from other
browsers, and that is something I don't believe anyone even wants
Microsoft to do.

> Then, the outcome of the versioning debate IMHO should be of no effect to
> the development of the spec, based on WHATWG's HTML5 working draft and
> the proposed design principles, should it?

In my opinion, no, it shouldn't, except for if Microsoft asks for some
kind of official versioning/bug mode opt in. A bugmode="IE8" attribute
for instance. They are entirely free to implement one such attribute
without getting a rubber stamp for it, however. HTML5 defines how to
handle unknown attributes.

> Moreover, the outcome of the way HTML5 is being developed and implemented,
> will affect the choice whether to add versioning or not, I guess.

Versioning, yes. Mode switching on the other hand I don't see any way to avoid.

> Or am I being naive and would my view of things frustrate implementation
> or even, would implementation and testing be impossible without a
> decision on what doctype to use (or other identifiers on which a version
> switch could be based)? I cannot really judge what the implications are,
> but still wanted to add this extra 'compromise' to the discussion, even
> though I might be terribly wrong in my assumptions.

Implementations needing a mode switch may require some string,
somewhere, for implementing it inside the current engine. However,
<!DOCTYPE html> provides this string as the WhatWG spec looks at the
moment.
-- 
David "liorean" Andersson

Received on Tuesday, 17 April 2007 15:11:30 UTC