<rant>

I am so entirely bored by the “IE6 must die” movement. All you people out there who think you’re on some high horse of morality and rightness for the web’s future — this is a complete waste of effort. It’s useless windbaggery and nonsense. To date, I don’t think a single user has ever upgraded their IE6 simply because some douche-bag developer told them to. You live in a bubble if that’s how you think the real world works.

And while we’re at it, you sites out there who intentionally abandon IE6 support, not because it makes sense for your site (and not because you’ve provided a reasonable fallback graceful degradation for the less fortunate), but instead just because you want to flip the finger at Microsoft… well, you suck. And you know who else sucks? The sites who intentionally employ techniques they know will cause IE6 to crash, as sort of a holier-than-thou “screw you” to a user who still surfs any of the web with IE6.

Then there are those who feel that we can create self-fulfilling prophecies and that will make this problem go away. Or the nagging site banners and twitter icon overlays reminding everyone just how much of a jack ass you are about IE6. Yeah right. Amusing, I guess, but not productive.

Get over yourselves, already. There, I said it. Deal with it.

Why won’t you just upgrade already?

Somehow, the conventional wisdom has become, if we screw users who are using IE6 by breaking the web for them, then they will either be forced to finally upgrade (because grandma really doesn’t want to lose that pretty looking icon on her desktop) or they will complain loudly enough to their sysadmins that they will be forced to upgrade everyone.

I’ve got news for you. If someone is still using IE6 (and I feel sorry for them if they are), they are not going to upgrade, ever. If by now, we haven’t figured out enough different ways to screw those unfortunate souls out of what the web of 2010 is, I assure you that Youtube dropping IE6 support is not going to be the lynchpin that does it.

You really think all those sysadmins who stubbornly stick with WinXP SP1 and IE6 (circa 9 years ago) give a damn about whether the employees can view the latest <canvas> powered sites? Or, lemme guess… you think they really care so much about all those missing rounded-corners and ugly semi-opaque PNG images that hurt their users’ eyes? Riiiiiightt.

</rant>

An inconvenient truth

Before you go crazy on me, let me state for the record, I hate IE6. News Flash: So does Microsoft. And while we’re at it, I dislike IE7 and IE8 as well. I still use them (IE8) though, mostly because they still comprise better than 50% of the browser market share world wide and so that helps me keep in touch with the little people (the silent majority) in terms of performance and functionality. I wish my job was so ivory-tower that I could exclusively mess around with bleeding edge nightlies of Webkit and HTML5/CSS3 wizardry and conveniently ignore the IE crowd.

But that’s not my world. I get the “privilege” of dealing with all the crap that is the IE6 box model, float bugs, CSS 0.8 support, etc. Oh, and I like my visitors. If they happen to choose a crappy browser to view my site in, I assume they probably know by now how crappy their lot in life is and that I probably don’t need to piss on them again by reminding them for the 10 millionth time. I’d rather just grin and bear with the pain, and try to make something passable (albeit not pretty) for those users to experience when they land on my site.

And you know why I feel this way? Because IE6 users are still 11% of the user base my company sees. This is a fact. You may not like it (I don’t either). You may think it shouldn’t be that way (I do too). But you can’t deny that it’s reality. If you think the “better” 89% of the web community is all you need to care about, go right ahead. Me? I still care about 100% of the web community. Welcome to my world, just for the next few minutes while you read this.

Aside…

Why is it that so many people readily prescribe to social liberalism and believe we (ie, the government) should make sure to stick up for the disenfranchised, the poor, the sick and needy, every last homeless person — we all recognize with social conscience how important those efforts are. But we freely dismiss the lowly and poor IE6 users as rabble that aren’t worth fighting to keep? That’s technological bigotry.

So what?

So, I have bluntly stated that I think it’s a waste of time to try and kill off IE6. Not only is it a waste of time, I think it’s actually hurting the web because we aren’t focusing on the things that would actually progress it. But I also don’t think it’s good to bury our heads in the sand and pretend that nothing can be done about it… there are ways to make the web better in a productive and realistic way. What are those ways? I’m glad you asked.

I hereby propose to the world (mostly Microsoft) the following 2 “solutions”:

  1. “IE6frame” (much like ChromeFrame, but built by Microsoft, for Microsoft).
  2. Fork the IE team into two distinct and irrevocably totally separate units. We need two Microsoft browsers: IE (Consumer Edition) and IE (Platform Edition).

Radical? Apparently. Am I a lunatic? Probably. Will either of these two things ever happen? Probably not. But here goes my rationale anyway, and you decide.

IE6Frame

Update

This idea might be becoming a reality, of sorts: UniBrows. Good news, but Microsoft needs to throw their guarantee behind it if any corporate IE6 installs are going to be able to upgrade to a newer IE and rely on this plugin for intranet compatibility.

We all know the common explanation for the amount of people still on IE6: primarily from the corporate world, where so many legacy corporate intranet applications were built around the Microsoft platform (and thus IE6) that sysadmins just simply cannot justify the time and expense of rebuilding (or even reverifying) all those apps in a newer browser. Not to mention the likely OS upgrades that would also become necessary.

Whether you agree with the premise of this argument or not, there’s a good chance at least a decent amount of corporations (rightly or wrongly) feel exactly this way. In fact, I believe that most of the IE6 argument still centers around this issue. But even if I’m mostly wrong and only 25% of corporate installs of IE6 have anything to do with app compatibility, IE6Frame is still a great solution for that 25%.

By the numbers

Here’s how it works: Microsoft takes the rendering engine and the JScript engine from IE6, liberates it from the IE6 browser “chrome” code and OS, and makes it into a plugin — IE6Frame. This plugin is designed to be installed in IE7, IE8, and even IE9+ browsers. It 100% completely and totally guarantees the IE6 web experience (even security defaults, etc), but inside a newer (and more secure) host browser.

Microsoft must then issue the plugin with a corporate guarantee that they stand behind for all their platform customers — that IE6Frame will identically run their legacy IE6′ish web apps in whichever newer IE browser it’s installed in.

The activation of IE6Frame can be as simple as a white list in the plugin settings which indicates which URL’s should switch the plugin on. ChromeFrame does something similar, but uses an HTTP Response Header or <meta> tag to switch it on. However, this would require some (minimal) changes to legacy web apps to accomplish, so the settings opt-in list is more ideal.

Any site which isn’t on that list just renders the same as the host browser, no questions asked. Just like with ChromeFrame, users get the benefits of an upgraded browser for all newer sites, and transparent graceful downgrading for the subset of sites/apps they still depend on but which are stuck in 2001.

Not just “compatibility mode”

No, this is not merely a re-statement of the existing “compatibility mode”. Maybe it’s a restatement of what “compatibility mode” should or could have been… but IE6Frame is quite different than what we have now.

First, it has to be absolutely the identical code base… “Compatibility Mode” only emulates old behavior, and in true form, not exactly as it was. For this idea to have any success at all, corporate sysadmins have to be assured that their apps will run identically in IE6Frame. If there’s any emulation layer at all, I expect most sysadmins will outright reject IE6Frame as a waste of bytes. But maybe, just maybe, if it really is that awful IE6 code adapted to run directly inside IE8 or IE9, sysadmins might take a look at it.

Second, Microsoft has to be wholeheartedly invested in IE6Frame enough that they issue a corporate guarantee they stand behind. It’s not as difficult as if they said they had to manage to get IE6 running in Windows 7, and that they had to maintain the code base for security (they’re already doing that through 2014). It’s actually easier. They just have to get the code base to run in their latest and greatest browser host environment — the one that can be patched regularly for security. The IE6Frame would sort of be like a sandboxed VM… inside the outer host browser, which wouldn’t let through any evil code that IE6Frame might otherwise be susceptible to.

If anyone can pull off such a feat, it’s Microsoft

As great as ChromeFrame is, Microsoft still holds the browser’s keys. ChromeFrame will never fully be smoothly integrated because it didn’t come from the guys who wrote the browser in the first place. Let’s face it: that’s some pretty deep stuff to be getting into the internals of how the browser operates and to hijack rendering and script execution. Microsoft is best up to the task.

What does the web stand to gain? No more IE6 coding. Why? Because then there’s a plausible alternative for all those IE6 users and if they still don’t take the carrot, they have no justifiable argument otherwise and then they really can be dismissed as fringe. If corporations still refuse to upgrade, they’re either just dumb or they’re too poor. Not much we can do about either of those cases.

What does Microsoft stand to gain? A whole segment of the market in terms of OS sales and corporate platform upgrades.

Again, IE6Frame is the key to removing the only plausible argument any sysadmin has against upgrading.

IE vs. IE

Of my ideas on Microsoft and IE(6), this is probably my most crazy and least likely to be taken seriously. But I still stand by it 100% as what I think is best for Microsoft and the web.

Here’s the deal: Microsoft has (at least in recent memory) always been about their platform. The Microsoft platform, from Visual Studio to Sharepoint to Office to Exchange to SQL Server… it’s all at some point or another come back to IE as the central hub — well, Windows OS as the hub, but IE itself as the primary face. Of course, Microsoft had to liberate IE from the internals of the OS because of the anti-trust lawsuits several years back, but that doesn’t mean that IE is any less a part of Microsoft’s Grand Platform Strategy.

In fact, the more the web becomes part of everything we do in computing (cloud, grid, mobile, etc), the more Microsoft will rely on IE. Look at Silverlight: this is not just a “we can too” aimed at Adobe.. it’s a fundamental part of Microsoft’s strategy to extend their platform into the web experience. Office online is yet another example.

And there are tens of thousands of corporations from small to gigantic that have fully bitten into this (sometimes bitter) pie. And I frankly don’t begrudge Microsoft from making this their play. That is how they make a LOT of money, and so I don’t blame them for wanting to constantly evolve and progress it — any good company would do the same.

IE the Platform

So, if IE has been a focal point of the Microsoft Platform Strategy for many years, it should come as no surprise why they have kept it stable and slow-moving (to change). That’s also an easy explanation for all the JScript extensions that Microsoft stuffed into IE. You need the browser to automatically pick up on windows-auth for intranet sites? Sure, we can do that. But Firefox and Safari can’t. For that matter, the W3C is pretty silent on host-OS integration points all together.

Moreover, corporations (who pay Microsoft’s bills) don’t want to build platform-wide applications around a browser which constantly changes with updates for the latest CSS tricks every few weeks. They certainly don’t want the browser to “auto-upgrade” underneath them without their control. Can you imagine the extra manpower and overhead of continually re-validating a legacy corporate application every week when a new CSS transform leaks into the browser?

The Platform itself moves at a snail’s pace, by necessity, and so must its critical components, like the IE we know (and often don’t love so much) today.

Tale of two browsers

On the other hand, Microsoft doesn’t want to get left behind in the consumer browser market either. Nor do I think they should be left out of that race. Clearly Microsoft has been, in the overall sense, a very healthy thing for the web. (hint: they invented Ajax… thanks Microsoft!). And btw, Firefox was born specifically to challenge IE to get better (when it was shut down for awhile). You may not like it, but Microsoft has a place in today’s (and yesterday’s and tomorrow’s) web.

But the game of consumer browser is a fundamentally different game than platform browser. In consumer browsing, the most important features are performance (JS engine wars), productivity enhancements (tab previews, toolbars, etc), and new technology (CSS3, HTML5, etc). If a consumer browser is stable and doesn’t progress, it gets left behind.

The IE (Consumer Edition) would at its heart be a very different browser than the IE (Platform Edition). Instead of releasing once every couple of years, IE-CE could release every couple of months. IE-CE could ditch all that legacy JScript extension junk (and ActiveX!) and fully conform to open web standards. They could embrace SVG, <canvas>, <video>, CSS3, and all the other amazing things that IE9 is only barely now giving us a glimpse of. Microsoft could stop being the joke of the open web community, stop playing catch up, and actually take the lead in helping innovate in the consumer browser space.

And all the while, they could keep (and from time to time, back-port to) IE-PE stable and reliable for the Platform world. IE-PE would be Microsoft’s proprietary extensions on the open-web consumer browser experience. IE-PE would serve the needs of corporations and sysadmins by giving them stability and security and not be bothered by all the “noise” of the rapidly changing consumer browser market.

The primary motivator for suggesting two different browsers is so that we never get into the browser lock-down mess we got into with IE6. If Microsoft ever convinces corporations to move to IE9 (or IE11 or whatever!?) as the new platform browser, that browser will become the new hated IE6 a few years from now.

The problem is that any platform centric browser will by definition quickly become too static for any usefulness in the dynamic consumer browser market.

Don’t make ‘em choose

If Microsoft were really smart about it, both browsers could run side-by-side on the same systems. In fact, maybe users don’t even have to decide… maybe the OS is intelligent enough to give them the right browser for the right task. Of course, the user could be given control if they wanted it, but it doesn’t have to be such a scary messy idea that there could be two IE’s on the same machine for two very different reasons.

Ok, so maybe the names need to be different. IE-CE and IE-PE might be lost on most people. I am not a marketing guru, so I’ll leave that up to them.

But my suggestion still stands: if you want to play in both the platform and consumer browser markets, you need a different browser for each. One browser is exactly one too few to get the job done.

Go forth and prosper

There you have it, my two open proposals for how Microsoft can fix this problem. I believe wholeheartedly that however unrealistic my ideas may be, they are far more practical and productive than the “IE6 must die” droll that permeates the dev community today. Can we please try to talk about something a little more original and productive?

This entry was written by getify , posted on Friday April 23 2010at 01:04 pm , filed under Misc and tagged , , , , . Bookmark the permalink . Post a comment below or leave a trackback: Trackback URL.

11 Responses to “Yawn, “IE6 must die”, yawn…”

  • Nick Carter says:

    Loved the idea when I heard it initially (at least once I understood it) and it still sounds pretty smart/doable/worth doing.

  • Mike Taylor says:

    To date, I don’t think a single user has ever upgraded their IE6 simply because some douche-bag developer told them to.

    I love blanket statements. But you forgot to mention that Microsoft is a part of this IE6 must die movement too, if you watched any of the their talks at Mixx 2010.

  • getify says:

    Mike… obviously some of those first few paragraphs were a rant and a little exaggatory. I’m sure at least one IE6 user switched only because they love HTML5. :)

    I did say that Microsoft clearly hates IE6 (probably because it keeps giving them a black eye), which should be roughly equivalent to them wanting it to die. But, it’s irrelevant to me who’s actually part of the “IE6 must die” movement (since i think it’s a farce and unrealistic anyway)… so is Crockford and I respect him, but I disagree with him on that point, as well as his thoughts on HTML5 (which I recall you do too).

    I want IE6 to die, but not in the same way that everyone else seems to. The point of this post is to call attention to other ways we might all achieve this goal. Just saying the same trite thing over and over again hasn’t worked, isn’t working now, and isn’t ever going to work.

    I haven’t seen any compelling evidence that the “IE6 must die” movement has contributed any significant impact to the decline of IE6 usage (especially since my sites are still at 11%) — the decline we’ve seen can easily also be attributed to attrition or many other things. Instead of wanting to completely kill the browser and screw those users who can’t upgrade, I’m trying to find a solution that helps developers and helps users/sysadmins.

  • James S says:

    I’ve dropped IE6 support and use CSS3 for rounded corners and let IE show the boring square corners. I test in IE 7 & 8 maybe once a month and knock out all the bugs at once.

    It’s not that I think IE is crap (okay maybe I do), or that the people using it are morons, it’s just that I’ve come to the conclusion that IE is not worth supporting beyond the cursory glance now and then. It’s a question of time and complexity. Complicating markup and code in order to support a broken browser just isn’t worth the improved impression of that 6-11% of IE6 users.

    Chances are, by this point, IE6 users are aware that sites are starting to display kind of wonky in their browser — that is, if their computers aren’t infested to the point of uselessness due to security flaws — so it’s not like compatibility problems are anything new. Frustrating those users isn’t a good thing, of course.

    Rather than an “IE6Frame” solution, which I actually find pretty repulsive (gut reaction), I would prefer to see a suite of software that could be used to simplify the process of updating IE6-dependant content. Scanning for CSS that displays differently in proper browsers, dependencies on old plugins that might have modern components, etc. Such a piece of software is certainly a great undertaking, but it would probably be more than worth it to get sysadmins on board with updating their work environments to something more modern.

    I can’t imagine continuing IE6 support is any less difficult than kicking it, really, over time. How many times do you have to get rid of viruses, deal with crashes, and other crap, before the support time consumed by IE6-related issues exceeds the time required to drop support for it?

  • getify says:

    Regarding “IE6 support”, I think there’s a big and important difference between a page that simply renders a little wonky in IE6 and a page that flat out has functionality broken. I’m not at all ranting against those whose pages just look a little weird in IE6… I’m really only concerned with those who chose not to even care about testing basic fallback functionality in IE6, therefore completely breaking experience for those users.

    For instance, consider a lightbox effect for a login box. If the code used to create the floating overlay box is done ignoring IE6 quirks, it’s quite possible that it will work in modern browsers and flat out fail to render in a useable way in IE6 (not z-index layered properly, <select> box or flash bleedthru, etc) with obscured elements or elements that are positioned off screen, therefore completely breaking functionality for those users. With a few more non-semantic <div> tags and maybe a few extra CSS hacks, you can help the lightbox to at least display in a functionally useful, if not the prettiest, way.

    I personally still think that with 6-11% stats of IE6 usage, it’s important to still develop and test for IE6 functionality. But I don’t spend much time trying to tweak IE6 rendering for prettiness — I agree we’re past the point when that really matters that much. I consider this a “progressive enhancement” (or “graceful degradation” depending on perspective) type of thing. You first make sure that the page functionally operates and renders in all browsers (including IE6). Then, for the newer browsers, you layer on progressively more fashionable rendering decorations like rounded corners, gradients, etc.

    For instance, I don’t understand why people can’t even at least make their pages act like non-JS pages in IE6. It’s standard practice to have the non-ajaxified <form> fallback behavior for those who visit without JS enabled… so why can’t we have a similar experience for IE6 users? It’s much uglier and less graceful, but at least the page is functionally still useable by those visitors. And I don’t think it takes that much extra effort to do so — you should be doing it for accessibilty reasons anyway — so just add IE6 to that list of “fallback” environments.

  • (long time reader, first time commenter)

    At my last company, we dropped support for IE6 based on ROI. It requires valuable time and energy to support IE6. We were a pretty JS heavy site, so performance of JS was important to us. I think you’re kind of ignoring a couple of things in this article…

    Apps != Websites—When you have an application, it’s perfectly acceptable to require a platform to run that website. TextMate only runs on recent versions of OS X. If I want to use it on Windows, too bad. Panther? Sorry, nope.

    ROI—IE6 Support is costly. At one point, we estimated we were spending as much as 20% of our dev/QA time on IE6. Then we looked at our revenue stream, ad click throughs, and factored in the browser. Turns out, IE6 users simply *were not clicking on ads*. Like, at all. At that point, it became an easy ROI arguement. When you have a small dev team, you need them to move as quickly as possible, and not waste resources.

    Users—Related to the above, but if you have a vibrant user community, and you ASK THEM if they mind your dropping support for older browsers, and they agree, then seems like you’re all set.

  • Seth says:

    I also have to deal with IE6, 7 and 8 on a regular basis, and it’s really not that hard. I honestly doubt that I am that much better than the majority of developers, but if you learn 5 or 6 workarounds they pretty much cover all your basis. Other than that people just got lazy.

  • getify says:

    @Shad-
    You have good points, so thanks for commenting.

    1. Desktop Apps != Websites… yes, but web apps ~= websites… The line is pretty blurred these days between what is a web app and what is a website. Just how much interactivity on a site is required before it becomes an app? is a login system enough? is an ecommerce checkout system an app on the site? what about travel sites where you interactively coordinate and book travel, hotel, cars, and entertainment into packages?

    2. ROI? Again, as I said in my last comment, “supporting” IE6 can mean different things. If your company drops “support” in terms of pixel perfect rendering for IE6, and you accept rendering hiccups and fallback to functionality that is more web 1.0′ish (circa 2000), that’s fine to me. But if you flat out refuse to test sites in IE6, or you deliberately design and employ markup/CSS that is obviously not going to work in IE6, or you intentionally use scripting techniques which will crash IE6 because you like them better and don’t care about IE6, THIS is being a bad web citizen in my opinion.

    I just think it’s fundamentally not that hard to achieve functionality in IE6. But it’s a giant PITA to achieve pixel perfect rendering in IE6, especially when your graphic designers don’t understand the limitations (like trying to do semi-transparent gradient overlays, etc). So yeah, ROI for pixel perfect rendering is terrrible. But ROI for IE6 basic functionality is generally not that hard (unless maybe you’re a gmail or google docs app).

    3. Asking users is a great technique, only if you can do so in a statistically non-biased way. For instance, if you use your IE6-unfriendly website to ask them those questions, none of your IE6 users are likely to wade through the “crap” of the bad rendering/functionality just to answer your questions about IE6 support. And of course, if you have a developer-heavy user base (like you run a tech blog, for instance), they’re likely to be biased to developer-friendly browsers like Chrome or Firefox.

  • I completely agree that railing against IE6 (though I’ve indulged in it myself countless times) is a complete waste of time. Thanks for a well-thought-out and perspective-shifting article.

    What’s your take on things like Universal Internet Explorer 6 CSS?

  • getify says:

    @Lance — If I understand the idea behind “Universal IE6 CSS” it’s that you do normal design stylesheets for all other browsers, then do a conditional CSS stylesheet just for IE6 that basically “resets” it back to this text-only style design… am I on track with that?

    In general, I agree wholly with the idea that IE6 doesn’t need to be the same pixel-perfect design, it should be functional first, and pretty only if possible and practical.

    But I think intentionally ignoring quite a bit of CSS capability that even IE6 has for the sake of having a vastly simplified process might be a little drastic. I’ve said many times that I’d suggest grouping IE6 into the same set of browsers (functionality and style wise) as those who don’t have JS, for instance… where the design is back to web 1.0 style. But even back in web 1.0, we still did designs and colors and images for IE6, so I’d still do the same.

    So, I agree the IE6 version of a site/web app may look significantly different than the “progressively enhanced” version in better browsers. But I don’t think I’d go back to the dark ages of HTML2 with basically no CSS styling at all.

  • Sarah says:

    So many geeky teens feel as though the more vocal their hatred for IE6, the more seriously they will be taken in the industry. It is getting to a ridiculous point. I agree with Getify, don’t intentionally discriminate against IE6 in Web Design. I believe the best developers cover the whole market without whining.

Leave a Reply

Consider Registering or Logging in before commenting.

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.