RE: Microsoft versioning proposal

Anne van Kesteren [mailto:annevk@opera.com]  wrote:
>Do I understand it correctly that the following is your proposal for HTML
>versioning:
>
>   1. Microsoft implements HTML5.
>   2. Microsoft ships an IE release which triggers "HTML5-mode"
>      when a page uses <!doctype html5>.
>   3. Microsoft fixes bugs.
>   4. When more than 0.5% of the content out there uses
>      <!doctype html5> Microsoft stops fixing bugs.
>   5. Back to step one incrementing the HTML version number by one.
>
>(Instead of <!doctype html5> some other identifier could have been used of
>course, such as the suggested <!doctype html> or <!doctype html><html
>version=5>, etc.)

No.  That is a reflection of what I've said, but I think it twists the details.  Let me try again.  There are two things, an informative statement and a proposal.

Informative statement(s):
        Microsoft believes significant changes to adopted content carries with it great risk of damaging the user and developer experience by breaking current web applications and content.  This means, for example, that our current "standards mode", as used by roughly half the Top 200 sites, will not benefit from improved standards support.  Instead, web developers will have to opt in to improved standards compliance via some marker in their content, e.g. <!-- compatible with IE 8 -->.  This will opt developers in to improved standards support.  I believe this is unfortunately much more of a problem for IE than for other browsers, probably due to 1) more IE-specific content authoring in the past, and 2) authors expecting IE to be broken, and serving us different content.

        Further, we cannot definitely state at this time that this would be the last opt-in.  As content markers become widely adopted, the risk of changes in that format become much greater.  It is quite possible we would have to say again "developers have to opt in to changes", e.g. <!-- compatible with IE 9 -->.  There is no definitive percentage of adoption or other quantitative measure that uniformly controls this - this will be due to market pressures - and we (Microsoft) must remain in control of when we choose to offer/require additional opt-ins.  I find it distressing that other vendors consider protecting our users from breakage "vendor lock-in", without any seeming empathy with the fact that IE is offered different content today, that is not expecting standards behavior.  Yes, it is our own fault; no, that's not enough for me to break those users and developers.

        We can, and will, automatically opt in content when the DOCTYPE or other HTML version marker tells us content is significantly "modern" enough.  For example, we would likely automatically opt HTML5 content in to our best standards-compliant mode when we ship IE.next.  However, as per above, if HTML5 is widely enough adopted and IE.next+1 needs to change in significantly breaking ways, we may require opting in.  Obviously, if subsequent HTML version markers are introduced in the standard, we will make them opt in to the best standards compliance in IE at the time.  We hope that the market changes over time such that the breakages are minor (perhaps because we start out being more standards-compliant) and therefore acceptable to make in-place with no opt-in; we do not believe this reflects today's reality.

        We do not believe, at this time, that evangelizing a mode of "no, really, I know what I'm doing - always break me by adhering to the specification" is a realistic, market-appropriate tenet.  Our experience, particularly that of analyzing and working with the community on IE7 "failures", is that many web developers are ignorant of what their current cargo-cult boilerplate (to use Ian's term that I really like) means or does, and consider any change to the behavior of their pages to be an error on the part of the browser.  A depressing number of them cannot immediately answer the question "is your content in quirks or standards mode?" for example; they simply copied and pasted something, and then tweaked it in IE to get it to work.  Explicitly, I can guarantee it would be a bad idea for us to say "<!DOCTYPE html> is always the best standards-compliant mode", because its brevity would mean it would be immediately used everywhere.  If we were to always opt some mode into "always standards," it would far more likely be something like
        <!DOCTYPE html PUBLIC "I hereby swear I want great standards, even if my pages break">
Or
        <!-- compatible with standards - I will update this page to follow the standard -->

In short - despite a contingent of the WG arguing they are "competent enough to make informed decisions for ourselves," our experience leads us to believe that such is not the case for a huge number of web authors.  And we do care about them.  Saying we have a "get out" clause does not help when a user is staring at a broken site, and an author is ignorantly blogging about the break and blaming it on IE's crappy standards implementation.  (Can you sense a little tiny bit of bitterness at all the times I had to follow up on issues like this in IE7?  :) )  Our responsibility to make the web continue to work (i.e. render) outweighs our personal responsibility (and I'm speaking of the IE team here, not our authoring tools) to educate web developer about proper use of the standards.

Proposal:
        Unrelated to the form and largely unrelated to the function of our UA-specific opt-in mechanisms, which we recognize we do not need sanction from the WG or any other standards body for, we believe it is foolish to identify HTML as simply "HTML" - without some form of provenance to identify what version of HTML the document author thought they were writing to.  It seems arrogant to suggest that HTML5 will be the last significant change to the standard.  Therefore, we propose that the identifier for HTML5 be:
        <!DOCTYPE html PUBLIC "html5">
...as that appears to be the shortest properly identifying string that triggers standards mode in all current browsers that support it.  This is, of course, presuming that the WG does not believe that DOCTYPE must adhere to the SGML DOCTYPE form.

I think I'm done with this thread for a bit.

-Chris

Received on Tuesday, 17 April 2007 22:08:31 UTC