opt-out version targeting is spam

So. There's been an idea. IE8 is going to pretend to be IE7 unless you explicitly ask it to be IE8. Sure, that makes... absolutely no sense.

[Update 2008.03.05 - Microsoft has now reversed this decision. See the 200ok weblog: IE8 to default to IE8 after all, hell chilly.]

You probably already know what I'm talking about. Let's do the run-down:

So I've been trying to work out what to make of this whole situation.

almost but not quite

The short version is this: I'm not wild about it, but I think it would be acceptable if the method was opt-in. That is, you should have to intentionally invoke the older rendering engine.

But that's not what's happening. What's being proposed is that to get IE8 to render your site in standards mode, you now have to put in a DOCTYPE and a new meta tag asking the browser to actually render in the mode specified by the DOCTYPE.

So I think this is a bad idea.

If the system was opt-in then it wouldn't be too bad. But instead it's opt-out (you know, like all those emails you never asked for). If a developer takes no action their site will initiate the old rendering mode in IE. So all those disinterested developers who only built for IE6 in the first place get rewarded for inaction.

Meanwhile those developers who build to standards have to cruft up their pages (or dick around with their server settings) just to get IE8 to render pages in IE8 mode. This is crap.

version targets are spam

IE8 version switching is like spam! Sure, let people have the option, if they're into that sort of thing. But don't force it on people who never asked for it.

we should not reward ignorance

Chris Wilson mentions on the IEBlog that this is all based on trying to keep badly written pages from breaking in newer, more standards-compliant versions of IE. While I understand it's been hard for MS to weather the storm as thousands of developers the world over discover their sites suck, that doesn't make those developers "right".

Chris says There's no easy answer, because it is impossible for us to tell whether the author wrote their content to standards or to IE's previous behavior.

But there is a way to tell! If they've included a DOCTYPE, they've declared they want to render to standards. If they did that in ignorance, it's time they started earning their money instead of letting Dreamweaver do their jobs.

Alternatively, MS can just throw them a bone and tell them how to bail out. People who didn't actually want that DOCTYPE are free to go and remove it from their pages and wear their Tag Soup badges as proudly as they like.

Or, more likely, just let them opt-in to the version target system. It'll still be less work for them than learning how to build to standards.

Yes, IE6 has created a legacy. But freezing half the world in IE7 isn't going to help move forward. It'll just keep things from progressing. People too disinterested to know what a DOCTYPE is aren't going to engage with this process. They're not going to learn anything or opt in to standards behavior on their own schedule.

once more with feeling...

If we're going to have a proprietary hack, or a new "standard" then for the love of Mike why can't we have an intentional selector hack?

Forget conditional comments or <meta> tags in every single document you maintain. Give us a legitimate version of * html to scope our tweaks to the browsers that need it. Something like ua[ie6] { } would be just dandy.

Sure, this will only suit those of us who know how to create pages that only need a few tweaks across browsers. But we've worked hard to get to that stage. Why shouldn't we get the love? :)

but basically...

Regardless of how many people support the version target idea - and regardless of just how scary-smart some of them are - right now I think it hurts the web to give bad developers a free pass like this. I think it will lead to many years of lazy developers keeping the web closed. Why bother building to standards? Why bother building for anything except IE7? They can just build in IE7, whack in a meta tag saying that's all they tested, then they can piss off back to the pub.

That's not the intention of version targets, you say? Sure, but that's how plenty of people out there will take it. The whole situation legitimises the approach of building for a restricted platform.

A cynical person might suggest that Microsoft is intentionally trying to lock the world down to IE; or try to get the other browser makers to bleed resources by trying to maintain legacy rendering engines. I have no doubt that individuals at MS do not want this result. But MS the company just might.

just make version targeting opt-in

IE8 should default to IE8, not IE7. I mean really, should I even have to say that?

So much of this situation hinges on the default behaviour. If there's a DOCTYPE and no meta tag, the browser should default to standards mode. It has received no instructions to contradict the W3C specifications, so why should it go ahead and load up a non-standards-compliant rendering engine?

Having a browser arbitrarily pick a rendering mode against the definition of the document makes a mockery of standards. Allowing a developer to specifically ask for the old rendering mode is a soft option, but it at least the document would contain an explicit instruction to override the DOCTYPE.

If version targeting became an opt-in system, for all that it'd feel like a dirty little secret it would be an acceptable tool. If version targeting remains opt-out, it's spam.

...ready or not!

But sadly it's not really something that's open to discussion. As Lachlan has already observed, Microsoft doesn’t tell you it’s going to do something of this scale unless it means it.

Microsoft is clearly going to go ahead with this idea. After all the blue monster isn't going to backflip into a higher level of standards purity. The announcement came through A List Apart and apparently they have more articles to come on the subject. Eric Meyer was enlisted to comment on the announcement. Passionate, smart people with serious NDAs were involved in the internal discussions at Microsoft and we still got this result (can you imagine the options that got rejected?).

So it's spam time.

Labels: , ,

Comments

  1. Anonymous Lachlan Hunt, January 24, 2008 12:43 AM:

    Although your terminology confused me a bit, I think I agree with you. But you seem to be using opt-in and opt-out backwards.

    The current Microsoft proposal is an opt-in to standards mode, not an opt-out. Just like the DOCTYPE is considered an opt-in for standards mode in current browsers.

    So, ideally, it would be an opt-out (or what you referred to as an opt-in) to allow authors to opt-out of the latest standards mode when new browsers ship.

  2. OpenID madpilot, January 24, 2008 1:02 AM:

    I've expressed my opinions on this on my blog, but what is getting to me is the possible reasons for Microsoft's decision to default to IE7. I'm assuming the thinking behind it is that IE 7 already exists, so future browsers will break what is already out there.

    However, IE 7 has only been out a few months, and I doubt anyone has really done much IE 7.0 specific stuff (I would say the majority of browser targetting is still for IE 6 in government etc).

    It is easier for those few sites to be retro fitted, than to expect ever developer from here on in to have to include such a tag.

  3. Blogger 200ok, January 24, 2008 10:28 AM:

    @lachlan hunt: I'm phrasing it as the version switch thing being opt-out. As in, you have to opt-out of being locked to IE7. Whereas you should have to opt-in to be locked to IE7. I got confused a bit too, to be honest. Hey it was late ;) But my point is MS's big idea should be opt-in, web standards should not be opt-in.

    @madpilot: Well that's a big question to my mind - why the focus on IE7? Exactly who had their site break? For me all my sites either sailed on happily in IE7 or required only the most minor of tweaks. I keep getting a sensation of MS trying to fix a problem that seems bigger to them than it does to any developer I know. But then, I really only know standards developers so my data may be skewed.

    But yes, I do think the broken sites should be retrofitted; as opposed to making the good sites bloat up with yet another IE-focussed tag. I don't see why any other browser maker would have an actual need to implement this system, given that the others have focussed on implementing standards and don't have such a massive legacy issue.

  4. Anonymous jason b, January 24, 2008 5:32 PM:

    Thanks for the neat summary.

    100% agree that Microsoft just need to hold their breath and take this bigger step into standards compliance.

    This proposal by MS is dangerous. For the first time a new IE version would not represent (default) improved standards compliance.

    If we go two versions of IE without such improvement, does that mean the standards movement is in recession?

  5. Anonymous Nathan, March 03, 2008 9:38 PM:

    Ben, I fully agree with everything you said.

    Although it may seem like I'm joining this debate late, I'm not, I have been reading thousands of comments on so many blogs for the last month and a bit and all I'm seeing is a massive reluctance to take a 10 year backward step.

    I think I'll be joining others who have already opted to drop support for IE, I don't see any reason to support MS if MS has no intention to support the developers who have carried its retarded browsers for so long. I need respite, as do many developers who have had to nurse IE along for all these years, this is (to me) an opportunity to take that respite.

    I'm in a position that will allow this, some may not be, but as a freelancer who has a steady client base it won't be that hard to convince my clients to make the switch (I mostly have them using FF already), the only thing left to do is convert their audience which over 20% of are already using FF anyway.

    Maybe this is what the web needs, but I'm positive that for IE this will be a bad thing, I think we are about to see a massive drop in their market share.