Home > chrome, front-end development > Browser Market Pollution: IE[x] is the new IE6

Browser Market Pollution: IE[x] is the new IE6

September 27th, 2011
Goto comments Leave a comment

You may soon be developing for 76 browsers.

(╯°□°)╯︵ ┻━┻

Lemme take a step back… So it's fair to say that for most of us, IE6 has gone the way of the dodo. Good! Now in IE7, we have less CSS issues, working PNGs, but pretty much the exact same JavaScript engine (though faster). IE8 gives a few more goodies (localStorage, postMessage, hashchange event) that'll be nice to use when we retire IE7, but IE8 will be with us for a while.

spacer

Since Windows XP still accounts for 46.6% of Windows users, IE9+ adoption has a significant upper bound. More: How Microsoft is handicapping its own web browser and IE9 adoption is painfully slow. Google to the rescue?

IE6 has been a source of pain for… I'd say four years. IE8 will be a source of pain for the next 9, it appears. You're clearly aware that IE9 (and IE10…) are not available on Windows XP, even though Firefox and Chrome continue to ship versions for that operating system (still 40% of the Windows market), so unless the whole world shells out $79 for an upgraded OS, they won't get an upgraded browser, without switching. That's terrible, clearly. But this isn't the worst part. No, no…

How many browsers would you like to support?

Personally, I'm totally happy supporting the latest version of each of the five browsers. IE10 will be a very impressive browser, and the latest releases of Chrome, Firefox, Safari, and Opera are all incredible as well. Supporting the legacy versions is not exactly my idea of a good time, but ya know.. With IE6,7,8,9.. I'm used to it.

It's about to get worse

IE looks to be on a yearly release cycle. Great! IE10 out in March-ish.. IE11 a mere 52 weeks after that. (Mind you, Firefox and Chrome are shipping every 6 weeks these days). But what's far more important than shipping frequency, is the browser half-life.

Products like Windows and Office have a lifecycle policy that typically runs 10+ years because that’s what these organizations need. As part of Windows, IE honors that 10+ year commitment.

~Dean Hachamovitch, IE Corporate VP

IE9 and IE10 are both scheduled to be sunset (as far as official Microsoft support) in 2020. Since IE8 shipped with Windows 7, we can expect the same death date for it. Yes, IE8's death date is 9 years from now. Meanwhile, you won't have to worry about supporting Firefox 6 or Chrome 13 in November.

spacer

Extrapolating this, if they maintain the same policy, IE17 be released in 2019, before IE8, 9 and 10 finally die. So in a few years from now, you'll be supporting one version of Chrome, one version of Firefox, one of Opera, (probably) one of Safari, and ten versions of IE.

Did I say 10 versions of IE? I meant to say 72.

72 versions of IE on the wall, 72 versions of IE… Maybe drinking beer at this point in the post would be a smart move.

So you're aware that IE ships with multiple document modes. IE essentially ships with legacy versions of the renderer so that you can upgrade your browser but still see content that was terribly coded and cannot withstand the reality of web development, therefore it needs to be locked into a single version. I worded this differently a bit ago.

We seem to be using this term of “intranet apps” or “internal corporate apps” just as a euphemism for poorly written code.
Consumer facing apps have been handling new and unknown browser versions day in and day out for years. Like Kroc said, “Corporate users should be testing their applications against standards, not browser version numbers.”

So IE9 contains IE8, IE7, and IE5 modes. IE10 contains modes for IE9 and on down the line.

The problem percolates when you come to terms with the fact that many of these modes are not the same as the original browser. For example:

  • IE8's IE7 mode: adds sessionStorage & localStorage, false positives on a feature test for the hashchange event, mishandles rowspan, and some other event and attribute differences.
  • IE9's IE8 mode: intermittently false positives on a feature test for inline SVG. Renders CSS differently than true IE8, and is crashier than the real one.

These are not browsers with reliable replicated browser versions embedded, these are frankenstein versions that behave unpredictably. (To better understand the internals, the new JScript engine (these days it's called Chakra) is used in the compatibility modes, but IE engineers remove features and add bugs to make them "match" earlier behavior. Luckily they run at their modern speed, but run with a whitelist of bugs being put in place. MSFT has all reason to keep these compat modes as identical as possible, so we should expect fewer issues in IE10+'s compat modes.)

Of course, there is the matter of what % of market share it takes for you to "support" a browser (test against during dev / QA against / customize your experience for).. It's possible some of these IE versions won't have enough numbers for us to care. Kind of like how we support Firefox 3.6 and 6, but not 4 or 5. (btw, Mozilla will soon pull the lever to prompt 3.6 users to upgrade).

Where, from here? Do we have solutions?

All this news isn't the best, certainly. What are our options?

Asking your users to upgrade their IE version to the latest? We've been naively doing this for a while now, but we've only been shooting ourselves in the foot. Without an upgrade policy for IE that takes the web seriously, you can't responsibly ask your users to upgrade to the latest IE (the future's boat-anchor browser.)

boat-anchor browser (noun): the browser with enough users and not enough capability, holding back the potential of the web. [via]

spacer
spacer

IE version pigpile. Chrome's silent auto-updates (charts via arstechnica)

Microsoft's move. Maybe the IE team will introduce a way to upgrade their users well and also serve their business audience that are interested in a snapsnot of the web that doesn't change. Maybe they'll also introduce a better solution for testing in their browsers than running four (soon five) unique Windows OS images.

spacer

Chrome Frame gives us a solid option for handling this situation. (Also, if you haven't read these three posts by Alex Russell… do so.)
At the very least, Chrome Frame will automatically update and has the user-perceived benefit of being "just a plugin" (that all users can install) instead of switching to a whole new browser.

I'm almost done, I swear

Clearly, having your users on a browser that not only iterates quickly but appreciates developers by guaranteeing a short browser half-life is a boon to you and the success of the experiences you can deliver. All the browsers are racing to deliver features and speed to you and your users (including IE).

Seriously, all browser engineers are doing incredible, fantastic work. But without a strategy for how this turns out in the long term, this IE situation will become a complete mess—costing you enormous time in designing how scale your design to 76+ browsers, testing it, QA'ing it, and maintaining it.

The IE team is incredibly talented and wise; I think they have a great opportunity here to make the right move (like when they reversed policy on X-UA-Compatible). Perhaps with Win8 and Metro we'll see a more aggressive approach towards bringing the full potential to the web to all its users.


Now, I apologize for writing what seems to be a less-than-optimistic post. But truly, from the conversations I've had with the IE team to everything said publicly on the matter, this looks to be the impending reality. I'd be happy to correct or amend this post with any facts that conflict with the picture I've painted above.

Macha posted a thoughtful response ruminating on what browsers will be most at-play for us in 5 years time. I like it,

It's also worth pointing out (thx James Pearce) that this post doesn't mention mobile. Are desktop browsers relevant in 5-10 years?

Sylvain Galineau, who works on the standards side of IE, indicates the document mode situation painted above is probably unlikely. I admit it seems preposterous. Perhaps I should have left the document mode aspect out of this post entirely.

Anyway, Sylvain says: "Bottom line: I think all you have established is that things will probably not turn out that way." So that's good! :) Exchange here: spacer

Paul Irish chrome, front-end development

Comments (155) Leave a comment
  1. spacer
    Jamie
    September 27th, 2011 at 09:07 #1
    Reply

    Who's to say we'll even be "browsing" in 10 years? In the last 10 years alone, mobile browsing has been introduced, which this article does not account for.

    Sure it's fun to think of all the iterations of browsers out there, but who knows what may change in the next 10 years given the insanely fast evolution of the internet.

  2. spacer
    fady
    September 27th, 2011 at 09:10 #2
    Reply

    a great dose of reality..thanks paul for putting this in perspective.

  3. spacer
    Stephen Sweetland
    September 27th, 2011 at 09:11 #3
    Reply

    Excellently written article. I would like to posit the notion that FF are heading to causing similar issues also. You referenced that we wouldn't need to worry about supporting FF6 from November, but while Chrome's updates are enforced, FF's aren't.

    I often find people using FF, more than IE, but they are also often using 3.5, or 4… Certainly not 6 or 7.

    I'm not suggesting that FF has as much to answer for as IE, but their delivery method really needs to be more proactive and Chrome-like, or we'll end up in the same mess as we are with IE… asking older browser users to please update, if it's OK.

  4. spacer
    Paul Irish
    September 27th, 2011 at 09:15 #4
    Reply

    @Stephen Sweetland
    Currently there is a good crop of users on FF 3.6. None on 4 or 5. Then most on 6.
    Mozilla plans to "pull the lever" for 3.6 users to bring them up to date, but hasn't done that yet, intentionally.

    They are moving towards an update method similar to Chrome very rapidly, so I'm not too worried. They're def on the right track.

  5. spacer
    Andrew Rabon
    September 27th, 2011 at 09:16 #5
    Reply

    Well, time to find a new profession. :(

    Either that or force Chrome Frame on everyone… which might not lose as much money as wasted time testing all these IE's…

  6. spacer
    Grgur
    September 27th, 2011 at 09:17 #6
    Reply

    I wish you were less gentle :)
    IE fornever

  7. spacer
    Rob
    September 27th, 2011 at 09:18 #7
    Reply

    You've stated things very well but it proves a point I always make. Internet Explorer has been a thorn in every web developer's side for a decade and will continue to do so. A million souls would heave a collective sigh of relief if it were to go away but, unfortunately, it may never happen.

  8. spacer
    Max Smolev
    September 27th, 2011 at 09:18 #8
    Reply

    Shouldn't you also add a dozen or so revisions of FireFox? Because FF's fast iteration also doesn't guarantee user's swift update, and while technically FF's revisions are much closer together you still have to QA everything?

  9. spacer
    Jamie
    September 27th, 2011 at 09:20 #9
    Reply

    One of the biggest obstacles to users upgrading IE is that the process historically been an extensive and potentially dangerous ordeal. It's a rare IE upgrade that hasn't required a number of steps, a reboot, and probably some tinkering to get it to work the way you want once that's done.

    Chrome upgrades, on the other hand, are absolutely invisible. Firefox a little less so, but still not scary.

    In any event, the damage is done. I am not sure what the upgrade procedure for IE9 is going to look like, compared to older IEs, but hopefully it's a little less intertwined into the workings of Windows and can be updated more easily. But if it's still going to require a wizard with a half-dozen steps and a reboot, then I think we can expect the stagnant upgrade situation to continue.

  10. spacer
    Eric Steinborn
    September 27th, 2011 at 09:23 #10
    Reply

    Paul,
    I've been fretting on this topic myself for some time. How can we kickstart a change in the corporate mindset (and IE mindset) to stop supporting this bad code and re-write it to be standards-based code? That's what needs to happen. I think we need to find a way for it to seem profitable to them :) They need to know that it will make them X dollars and X cents before they will make the change.
    I deal with that every day at my job, "We're sorry, but that new Windows 7 PC you just bought wont work with our portal software because of IE8."
    To me, Its a matter of pride. All my apps are written to be cross-browser compatible. But that pride stops with me, because they don't see any money in it.
    This is a really great post, and I'm glad you wrote it. Thanks.

  11. spacer
    Adam J. McIntyre
    September 27th, 2011 at 09:24 #11
    Reply

    Typo: I think

    ↁ_ↁ

    should have been

    (╯°□°)╯︵ ┻━┻

  12. spacer
    Nick Sloan
    September 27th, 2011 at 09:24 #12
    Reply

    I posted on Google+ a short overview of why IE8 will doom the web. This is a much more thorough post, and I appreciate seeing this explained so thoughtfully.

    It seems to me that Microsoft has the web by the balls, and they know it. Facebook and Google are perhaps best prepared to combat Microsoft's tyrannical grasp by simply not supporting Internet Explorer PERIOD. No development for IE, no testing in IE, nothing. If something breaks in IE, who gives a shit?

    Even better would be to simply refuse to serve content to users running IE, and give them a message to download the latest version of another (any other) browser instead.

    You can point fingers all you want, but Microsoft's responsibility is not to make the web a better (or even a good) place, there responsibility is to maximize shareholder value. In this case, wasting resources on making Internet Explorer a responsible web citizen would likely be contrary to that responsibility. Microsoft isn't ever going to change for us. We need to force them to change.

    The other enemy is the legion of "Enterprise" software developers that are developing against standards. These developers have corporations in a chokehold with long service agreements, and poor data liberation strategies. They make it vastly cheaper for a corporation to suffer with what they have than to switch to something better. Most major corporations are still suffering the consequences of decisions made before anyone even thought the web was going to be a big deal.

    If we ever want Internet Explorer to grow up into a responsible adult, we need to fight the status quo aggressively. Unfortunately no one (least of all the organizations that actually have the power to do something about it) has any real incentive to fight this war.

  13. spacer
    Chris Jacob
    September 27th, 2011 at 09:24 #13
    Reply

    Thank you Paul for writing this very detailed post! It shall now be passed over to the "business people" I work for … they are the ones that need "enlightenment". I'm pushing Chrome Frame at any chance I get.

    Are there any public stats on Chrome Frame adoption rates? Surely this is going to boom as larger companies drop OldIE support….?

    Also Eric Meyer maintains a nice Browser History Timeline you might be interested in: meyerweb.com/eric/browsers/timeline-structured.html

  14. spacer
    Paul Irish
    September 27th, 2011 at 09:24 #14
    Reply

    @Adam J. McIntyre
    Typo fixed. :)

  15. spacer
    Henri Sivonen
    September 27th, 2011 at 09:28 #15
    Reply

    Why doesn't the spreadsheet show the modes for IE6 (IE5.5, IE6), IE7 (IE5.5, IE7) and IE8 (IE5.5, IE7, IE8 Standards, IE8 Almost Standards)? Fortunately, there's only one difference between IE8 Standards and IE8 Almost Standards and only one between IE9 Standards and IE9 Almost Standards. Well, AFAIK, at least.

  16. spacer
    Paul Irish
    September 27th, 2011 at 09:29 #16
    Reply

    @Henri Sivonen
    Good call Henri. I left out quirks and almost-quirks but you're definitely right that we've got many modes at play already. :/

    I basically simplified how many versions there are, in reality there's more. :(

  17. spacer
    Jeremy Alt
    September 27th, 2011 at 09:32 #17
    Reply

    Does Safari also suffer this problem, coming bundled with versions of OSX? AFAIK only Chrome and Firefox do inline upgrades in the browser, could be wrong.

  18. spacer
    Adam J. McIntyre
    September 27th, 2011 at 09:32 #18
    Reply

    @Jeremy Alt

    Safari's handled through OSX's Software Update, so yes, it would suffer from potential lock-in due to users neglecting to upgrade.

    What (sort of) saves us is Mac users are generally fairly rapid upgraders.

  19. spacer
    Lance
    September 27th, 2011 at 09:33 #19
    Reply

    I was thinking a similar thing about Firefox… but worse in that they upgrade every six weeks. They will have 720 versions by the time MS has 72.

  20. spacer
    Adam J. McIntyre
    September 27th, 2011 at 09:34 #20
    Reply

    Most organizations will be forced to choose which browsers to support due to their limited resources (time, money, developers…) and we'll wind up back in the land of "Optimized for …" or a million different polyfills or one giant IE-backward-compatibility stylesheet to rule them all.

    However, being forced to support OldIE for so long, we've created new best practices around supporting old (read: terrible browsers): would we have graceful degradation without old browsers to degrade our experiences in? Eventually, the community will develop the same best practices around supporting IE∞ as we did around supporting IE6, things will evolve, and we'll make do somehow.

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.