Version targeting in IE 8, and an alternative path for Microsoft

There’s a fire spreading over the Internet right now, and it’s about the new Microsoft idea with version targeting in their new IE 8 web browser.

The idea is explained in detail in Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8 and Microsoft’s Chris Wilson discusses it in Compatibility and IE8. The gist is that in IE 8, a meta element (instead of a DOCTYPE) will decide what rendering mode you will get.

Like this:

<meta http-equiv="X-UA-Compatible" content="IE=8">
<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4">

My friend Snookums called it and interestingly (shockingly, to some), as Jeremy points out, IE 8 will behave exactly like IE 7, unless you specifically tell it to behave better (with the above meta element).

Why is this so?

The problem, as Microsoft see it, is that there are definitely more web sites, intranets etc out there with invalid, and usually (read: hopefully) old code which will break with each new web browser release, rather than properly built web sites. While the gut notion is to tell those companies to just fix their shit, it’s not that easy in reality. And we’re talking major companies here where the cost would be enormous for re-writing all the code.

My take

I can definitely relate to the problem, but not the solution. While, as PPK explains, The versioning switch is not a browser detect, it still leads us web developers back to superfluous code similar to DOCTYPE switching and such, and it’ll probably create hell for web browser vendors as well.

To me, it seems like such a waste for a new web browser to have backwards compatibility with old and incorrect code forever, and the bulk of the code base will be workarounds, fixes and patches, rather than new optimized functionality. Without a doubt, my work as an Interface Developer takes at least 25% longer when developing a web site to work out all sorts of bugs that IE 6 and IE 7 are riddled with.

Personally, I’d say I’ve had enough of wasting my clients’ time and money because of a poor product, and my sincere belief is that all (or at least most) these bugs are the result of being overly backwards compatible with poor code while trying to implement new features at the same time. The IE team is far from incompetent, but I think their legacy on their shoulders is pushing them down.

My alternative solution for Microsoft

Granted, a web browser need to work with bad and invalid code, so that has to be addressed. However, I only think that’s really valid for Intranets and other closed environments. If you have a public web site, you have to shape up to work with current web standards, accessibility and so on.

Therefore, my suggestions are as follows:

  • Offer an official way to have multiple versions of Internet Explorer installed side-by-side. This way, employees in these giant dragon companies can use IE 6, 7 or whatever for work on their internal applications, while they can have a proper web browser for surfing Internet.
  • IE 8 should only go for a standards mode, with no quirks mode support. That will lead to an incredibly lean web browser, much easier work for the IE team adding new things and for web developers coding web sites.
  • If needed, add an option in IE 8 (toolbar button, context menu option) to choose to open a web site in old IE. This means that if there’s no prior version of IE, a stand-alone version should be installed when the user installs IE 8. If there is indeed a previous version of IE on the system, let it stay there and make the IE 8 installation stand-alone.

Related reading

John did some great research and found that the HTML 5 DOCTYPE will triggers standards mode in all web browsers, including IE 8 (actually Almost Standards Mode in IE, which is the best they’ve ever gotten).

19 Comments

  • Phil says:

    Interesting ideas Robert, I particularly like the one about allowing multiple installs of IE. It would help with development and rolling software out to those companies with legacy systems that require ancient versions of IE to work.

    However, while mutiple installs may be a sufficient system for companies and legacy systems, this cannot be a good option for users. If you were surfing the web and a site gave you a "Please view this page in IE7" notice and you were using IE8, or 9, or 20, how long would you stick around for?

    I think the perspective actually has to be from a user in terms of this change. When IE7 "broke the web" there were developers panicking, but there were far more confused users. This is Microsoft's fault for not updating browsers and for getting standards wrong (I don't believe that other browsers should adopt this version targeting), so the emphasis is now on them to provide a solution that won't break anything for users in such a big way again. I think a lean, standards only IE8 would do that. Not forgetting that many sites out there don't follow standards and work based on browser quirks in the standards modes. In an ideal world, all sites would be coded to the standards and bringing out only one, standards compliant browser would fix the web.

    I have more thoughts on my blog

  • Anthony says:

    Great! Another rendering mode for IE…

    <blockquote cite="http://www.robertnyman.com/2008/01/23/version-targeting-in-ie-8-and-an-alternative-path-for-microsoft/"&gt;

    IE 8 will behave exactly like IE 7, unless you specifically tell it to behave better

    Well, I hope that it will at least be the exact same rendering mode if you don't specify this meta tag.

    Moreover, why not specify IE8 that you want to use the IE7 rendering mode by specifying the meta tag, and without it activate this "super new now really standard mode", thus making the new mode the default one?

    Your proposition to be able to have multiple versions of IE side by side (officially supported by MS) would a major step in the right direction. I am not sure we will see it anytime soon…

  • Lim Chee Aun says:

    I agree as well that multiple installs of IE is essential. It may not be useful for users/visitors, but it will be for 'concerned' web developers and webmasters. Even though the process of 'upgrading' IE6-optimized or quirks-mode-optimized web pages to standard-compliant ones may be 'difficult' now, but after some time, once this is over, it'll be easy when *all* browsers have the same high level implementation of standards.

  • Martin says:

    I was soooo upset when I red about it at ALA. IE8 is a piece of crap, it doesnt work as napoleon dynamite would say. +1 for multiple installs of IE though i really see their problem, building an rendering motor for the web cant be the easiest thing to do… while on that subject check this out: http://ejohn.org/blog/sub-pixel-problems-in-css/

  • RobertDM says:

    My biggest concern is that it will fuel the non-believers of web standards to stick with their bad habbits. They will be confirmed in their belief that they don't need standards, just use version targeting and things are just fine.

    I'm also afraid this will be convienient for Microsoft: if they can get everyone to use version targeting, switching to newer browserversions will not reveal code deficiënties and therefore lessen the need for fixes. I don't really follow Eric Meyer's view on this on ALA where he is confident it will lead to quicker bugfixing. (but then again who am I 😉 )

  • Gerben says:

    I think the version targeting is okay, but to get rid of the crappy IE rendering heritage they should make it opt-out instead of opt-in.

    Developers already had to fix sites to make them work in IE7. When IE8 comes out (lazy) developers only have to add a single meta IE=7 tag and they are done. I think this is a small sacrifice to make and it will make IE8, by default, behave like all the other standards compliant browsers.

    Also people new to the web, and not knowing about the meta element, won't have to bang their heads to their desks because IE isn't doing what all other browser are doing.

  • […] Robert Nyman’s Version targeting in IE 8, and an alternative path for Microsoft […]

  • […] Robert Nyman’s Version targeting in IE 8, and an alternative path for Microsoft […]

  • Steven Clark says:

    My gut instinct is this isn't the way to go… I've rewritten this comment every which way and the problem is complex. I like the separate IE install suggestion but wonder if their issue with that isn't the tight integration with their OS? Also, with multiple installs, someone like Amazon with ecommerce customers will lose business if there was a requirement for multiple versions – most customers barely use email correctly and couldn't install multiple versions of a word document they wrote yesterday lol… but I think multiple versions side by side is something they should do.

    Eric Meyer's article on ALA was very balanced but I'm left with prickles of caution from his closing paragraphs – bloatware might be an issue if IE7 will be a part of IE14 for example. And the inevitable new bugs introduced with iterations of software, where's the guarantee the legacy support for IE7 won't be broken somewhere down the track so we end up with IE7 original rendering of some features and IE14 rendering of IE7… bugs are inevitable in this.

    It seems like a trend of the last year to dumb down to meet the market for web standards. HTML 5 to meet the Flickr case study on alternate text, for example. This time to placate IE. The business case makes sense on the surface but we have to remind ourselves that just because WaSP sanctions something doesn't make it the holy grail of web standards… there was another company that took a big hit from rebuilding their browser from the ground up by the way…

    When it comes down to it we're really talking about the reality that IE owns the show right?

    All that being said I do appreciate the other side of the coin. If we could rejumble a bunch of stuff today that gave us a working across the board web development industry tomorrow (IE that is not broken for us) then how much are we willing to pay? Because at the end of the day IE coming into line will eventually cost us one way or another. Micro-costs alone for fixing IE bugs on each project on a worldwide basis must be billions for the industry…

    Sorry for the long babble… at this stage I only have my gut feeling of "Danger Will Robinson, aliens approaching!"

  • […] Version targeting in IE 8, and an alternative path for Microsoft […]

  • Robert Nyman says:

    Thanks for your comments!

    I think, now or later, that Microsoft will have to scrap the old, and in with the new. The bulk of IE must be becoming unbearable. Netscape came to that point, with the advent of Mozilla and Firefox, and Microsoft will too.

    In my opinion, its better to do that now than later. The web evolves, and products can't be backwards compatible forever, especially not with invalid code to begin with.

    Here's to hoping that Microsoft will care about web professionals interested in developing good web sites, instead of those that made a non-successful attempt five years ago.

  • […] in the most recent ALA issue (got some time to read up?): #1, #2, #3, #4, #5, #6, #7, #8, #9, #10, #11, #12, #13 and – my favorite – #14. *phew* Spread the […]

  • Aldrik says:

    I think a proprietary css property perhaps could have been a better way to trigger compatibility modes rather than a meta tag (you know separation of style from content). I agree with Gerben and think that another opt-in approach can only hurt web standards.

    I also refuse to put anything in my pages that's going to course users to get a message saying they have to update their browser (and quite possibly go buy a newer version on windows), instead of seeing the site they came to view.

  • Robert Nyman says:

    Aldrik,

    Well, there are a number of alternative routes they could've gone with adding something more to distinguish mode, support etc, but personally I don't t adding anything more is the way to go.

  • […] Version Targeting In IE 8, And An Alternative Path For Microsoft by Robert Nyman […]

  • […] Version targeting in IE 8, and an alternative path for Microsoft by Robert Nyman […]

  • […] It’s a recommended read, Jeremy’s a smart and eloquent man. I do think it’s vital that we try to convince the IE team why we definitely don’t want that. My suggested solution for Microsoft is described in Version Targeting In IE 8, And An Alternative Path For Microsoft. […]

  • […] expressed my concern in Version targeting in IE 8, and an alternative path for Microsoft and IE 8, shooting browsers and what to do, and was even willing to compromise if they delivered a […]

  • […] Version targeting in IE 8, and an alternative path for Microsoft […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.