Opinion ColumnIt’s Time To Stop Blaming Internet Explorer
Earlier this week we published two articles by Louis Lazaris: one on why old browsers are holding back the Web and another encouraging Web users to upgrade their browsers and use modern browsers other than IE. This article presents another perspective on this issue. Nicholas C. Zakas, a well-respected member of the developer community, goes into specifics of why we should focus on the good parts of our job so we can tolerate the bad ones and why fixating on circumstances that you can’t change isn’t a recipe for success. Do you share Louis’ or Nicholas’ view? Leave a comment.—Ed.
A couple of days ago, Smashing Magazine published an article entitled, Old Browsers Are Holding Back The Web. The author of this article, Louis Lazaris, suggests that “old browsers” are holding Web developers back from creating beautiful experiences. Old browsers, in this case, apparently referred to Internet Explorer version 6-9. That’s right, the author groups Internet Explorer 9 into the same group as Internet Explorer 6. He goes on to list some of the things that you can’t use in Internet Explorer 8 and 9.
(Note: Louis Lazaris makes a statement that even although IE9 is a huge step forward from previous versions of Internet Explorer, it’s already missing some of the important features that other modern browsers have and does not have auto-update like other popular browsers do, so it will become outdated relatively soon. According to Microsoft auto-update policy, only those users will be upgraded to a newer version of Internet Explorer that have on automatic updating via Windows Update turned on.—Ed.)
Articles like this frustrate me a lot. For most of my career, I’ve fought hard against the “woe is me” attitude embraced by so many in Web development and articulated in the article. This attitude is completely counterproductive and frequently inaccurately described. Everyone was complaining when Internet Explorer 6 had a 90%+ marketshare. That share has shrunk to 6.3% today globally (though Louis cites 0.66%, which is true in the United States). Microsoft even kicked off a campaign to encourage people to upgrade.
I can understand complaining about Internet Explorer 6 and even 7. We had them for a long time, they were a source of frustration, and I get that. I would still never let anyone that I worked with get too buried in complaining about them. If it’s our job to support those browsers then that’s just part of our job. The truth is that every job has some part of it that sucks. Even at my favorite job, as front end lead on the Yahoo homepage, there were still parts of my job that sucked. You just need to focus on the good parts so you can tolerate the bad ones. Welcome to life.
But then the article goes on to bemoan the fact that so many people use Internet Explorer 8 and that Internet Explorer 9 is gaining market share. First and foremost, I would much rather support Internet Explorer 8 then I would 6 and 7. Microsoft forcing most people to upgrade from 6 and 7 to 8 is an incredible move and undoubtedly a blessing.
Internet Explorer 9
Internet Explorer 9, on the other hand, is a damn good browser. The only reason it doesn’t have all of the features as Chrome and Firefox is because they rebuilt the thing from scratch so that adding more features in the future would be easier. Let me say that again: they rebuilt the browser from scratch. They necessarily had to decide what were the most important features to get in so that they could release something and start getting people to upgrade from version 8. If they had waited for feature parity with Chrome or Firefox, we probably still wouldn’t have Internet Explorer 9.
The constant drumming of “Internet Explorer X is the new Internet Explorer 6″ is getting very old. Microsoft has done a lot to try to correct their past transgressions, and it seems like there are still too many people who aren’t willing to let go of old grudges. There will always be a browser that lags behind others. First it was Mosaic that was lagging behind Netscape. Then it was Netscape lagging behind Internet Explorer. Then it was Internet Explorer lagging behind Firefox. People are already starting to complain about Android 2.x browsers.
What makes the Web beautiful is precisely that there are multiple browsers and, if you build things correctly, your sites and applications work in them all. They might not necessarily work exactly the same in them all, but they should still be able to work. There is absolutely nothing preventing you from using new features in your Web applications, that’s what progressive enhancement is all about. No one is saying you can’t use RGBA. No one is holding a gun to your head and saying don’t use CSS animations. As an engineer on the Web application you get to make decisions every single day.
Progressive Enhancement
Louis briefly mentions progressive enhancement as a concept that doesn’t even enter into the equation. Once again, this is indicative of an old attitude of Web development that is counterproductive and ultimately lacking in creativity. The reason that I still give talks about progressive enhancement is because it allows you to give the best experience possible to users based on the browser’s capabilities. That’s the way the Web was meant to work. I’ve included a video of that talk below in case you haven’t seen it.
It’s not actually old browsers that are holding back the web, it’s old ways of thinking about the Web that are holding back the Web. Fixating on circumstances that you can’t change isn’t a recipe for success. The number of browsers we have to support, even “old browsers”, just represent constraints to the problems that we have to solve. It is from within constraints that creativity is born. The Web development community has evolved enough that we should stop pointing fingers at Internet Explorer and start taking responsibility for how we do our jobs. Let’s create solutions rather than continually pointing fingers. We are better than that.
Yes, complaining is useful to get people to listen. Microsoft is listening, so continuing to complain doesn’t do anything except perpetuate an attitude that I would rather not have in Web development. Let’s give them a chance to right the ship without retrying them for past transgressions perpetually.







Aaron Kahlhamer
July 30th, 2012 8:15 pmAn idea for web applications where IE6, IE7, and IE8 is costing a bundle to keep supporting.
Let’s say you have a super simple registration form – with just enough fields to get them in. But, if they have IE6 – IE8 redirect to a different form. At the end of the form ask them a few questions such as…
We see you are using Internet Explorer 6. Why?
A. I can’t upgrade because my employer has administrative rights to my computer.
B. I do not know how.
C. I can not afford a new computer at this time.
D. My parents won’t let me get a new computer.
E. Other
Then from there you’ll have a better idea what to do with these users. For ‘b’ give them download links and a video tutorial for Chrome or Firefox. If ‘c’, consider a gift card for Best Buy/Dell – because it might be more affordable than having your team spend time developing for legacy browsers. For ‘d’, your product might not be meant for children.
And for ‘a’… If they can’t upgrade because of administrative rights I would request their contact information. Get a hold of them, and their company, and see if it’s worth the investment.
Thomas
August 1st, 2012 7:05 pmrubbish. Anyone who is anyone wants to use SVG, WEBGL, etc… and everything else that would create an amazing experience for everyone with ease.
Pipo
February 19th, 2013 9:54 am“Anyone who is anyone”… really!?
pike
May 28th, 2013 11:40 amIE9 does SVG. Performs better than in most other browsers, too. No smil yet.
Avram Score
August 6th, 2012 1:19 pmI don’t agree that progressive enhancement represents “the way the web is supposed to work.” The very idea that that there is one correct way to do things runs anathema to your thesis–that developers are empowered to decide how to address what essentially amounts to a multiplatform launch, existing under the misleadingly monolithic monicker of a “web application.”
The underlying problem is that browser makers and device manufacturers wield enormous power over what technologies and IxD metaphors gain and attain mass-adoption. For proof, just look at the death blow that Apple dealt to Flash/Flex. We now accept that HTML5 is the right way to do interactive design on the web–but we’ve largely come to that conclusion because our other tools have been removed as viable options.
Even now, the HTML5 standard is hardly a standard–its implementation and compliance varies greatly between browsers, necessitating the use of shivs and polyfills as a matter of course. Similarly, the CSS3 standard is all over the place, requiring developers to constantly write redundant rules. Sass and Less help with this–allowing this junk code to at least be encapsulated and consolidated within mixins–but this solution is hardly ideal. I would prefer to avoid bunk code entirely.
This brings us to the underlying problem with progressive enhancement as a philosophy. Whereas graceful degradation presents the latest and greatest as the standard–the product, really–progressive enhancement caters to the lowest common denominator first, allowing for the addition of bells and whistles thereafter. This simply does not work in practise.
A real-world example may be instructive. Imagine I want to create a responsive web application. If I want to support aging browsers, doing this via viewport selectors simply isn’t an option. That means I’ll have to use JS instead–either leveraging off of an existing JS responsivity framework, or crafting my own. In this example, I’ve been forced to ignore an excellent CSS feature out of hand, for fear of forcing a recalcitrant community of backwards web dilettantes to upgrade their browsers.
Now let’s address this same problem from the graceful degradation model. Here, I would satisfy 90% of my target userbase with responsivity via viewport selectors at fixed widths. This method is compatible, performant, and easy to implement. Next, I would do what I could to bring some of these and other features to older browsers, using shivs. Beyond that, HTML conditional classes would move to a fixed grid or something for ancient browsers. This is a much more sane approach, as it caters to the people who care about fancy new features in the first place–those who upgrade their browsers more often than once every five years.
Do we really want web development to operate on the Microsoft model, where legacy OS and browser versions proliferate for years? Or do we want to operate on the Apple model, whose users adopt new OS and browser versions within days or weeks of a release? I would surely opt for the latter.
Mave
August 12th, 2012 9:56 amI couldn’t agree with you more… I hate all the compatibility whining and in most cases I think it has more to do with posturing and newer developers showing how hip they are than any genuine development issue. Not unlike the whole Comic Sans whine that’s gotten so tired over the years. Nothing shows someone’s status as a beginner designer quite like talking about how much you hate Comic Sans, and going on about how awesome Helvetica is. It’s the same with whining about IE.
The fact is, if a site is properly built, there should rarely be any compatibility issues. If you find you’re spending hours trying to get a page to display correctly then chances are the problem lies in your experience level and not so much with the browser.
Aki
September 19th, 2012 4:33 pmSupporting IE 6 up to 8 is a huge waste of time and (consequently) money.
I’ve been spending more than 50% of my time checking, fixing and hacking issues caused by IE’s lack of compatibility with standards.
IT companies would save a lot of effort spent if we didn’t have to support IE’s problematic versions. Our clients would also save money, since a lot of the development and testing is spent in fixing these issues.
Iain Wood
October 1st, 2012 10:54 amSimple Solution
1. Set up a Union of web workers.
2. Stop supporting any browser that doesn’t do what we want
3. If people keep using it just make the ENTIRE internet stop for them!!
(bit like a general strike!)
Give people a reason to change. The problem is NOT the user (most of them don’t even know which web browser they are using!) The number of government pcs in the UK still running IE 6 is a joke.
Soon they will have to upgrade anyway – why not go the whole hog and switch them to linux!
Sajid
October 27th, 2012 6:11 pmYour are absolutely right
Vincent Duke
October 17th, 2012 11:41 amFirstly,
I 100% respect what you are trying to say here. However, I have a couple points to make on this as a developer in the industry for over 14 years.
1. Let’s be honest here, It’s not a “laziness” issue when it comes to putting in the work around’s for IE it’s more of a why should we have to work around issue.
2. The wonderful: [if IE] comment conditionals.. tell me if I am wrong here, but we have ALL had to use them. Which show’s me that Microsoft is FULLY aware that we will have to hack and tweak to work with their browser to accomplish certain things.
3. Features? Lack of HTML 5 support that causes us to load in 3rd party java-scripts to work around the lack of support for it. CSS 3? Finally we have “general support” for CSS 3 but not full support yet.
4. Silverlight anyone? The Microsoft response to FLASH that now has an HTML 5 response? Well, I cannot see to many people really diving into becoming a hardcore Silverlight developers as I do not see a future in it.
Let’s face it, Microsoft has dropped the ball on Internet Explorer and always has. YES Version 9 is the most stable version of IE I have EVER SEEN! and the best version by far. But honestly, there are MUCH better options that we don’t HAVE to work around and hack our way through to make up for Microsoft INTENTIONAL lack of support for Standards.
Why would Microsoft not want to fully support Standards? It is against the business model, the attempt to monopolize on the industry which is failing miserably on their behalf according to W3C’s latest statistics on browsers.
As the Sr Architect at the company I presently work (which by the way is the largest company in the world who does what we do), We have officially dropped support for IE 7 and ONLY support IE 9 at this point why? Because Microsoft themselves do not support IE 7 why? Because they no longer support Windows XP. So you cannot get the newest versions of IE anyway without upgrading your computer to a system that will let you install them. And even with the new versions we still prompt our USERS stating that if you experience Issues in Internet Explorer please switch to ANYTHING BUT IE and it will work fine (Funny isn’t it?) Not to mention we develop on a LAMP environment here so in order to use IE we virtual box out etc.. etc..
Sorry for the long reply, but that’s my 2 Cents.
walnuts
October 28th, 2012 5:33 amI think pain and misery makes life more interesting. There’s nothing like a root canal or a good kick in the scrotum to make a man feel alive and invigorated. I also like Internet Explorer.
Bryan Hadaway
October 31st, 2012 12:23 pmIE is a nightmare, to put it lightly.
It has hurt and held back this industry for way too long. It doesn’t matter if millions are still using it. The point is to stop enabling.
I used to lose sleep over building a valid, clean-coded webpage that looked good in every single browser only to find out that in reality, it looked good in all browsers, EXCEPT for IE.
IE is a mockery in the face of standards-compliancy. I DO blame Microsoft, for packaging poorly coded proprietary crapware with their OS.
How many countless man hours and dollars need to be spent on appeasing IE until enough is enough?
Thanks, Bryan
andrew
October 31st, 2012 2:30 pmI really couldn’t disagree with you more.
The concept of web standards is to ensure your website renders the same across browsers.
IE often does things their own way thus forcing developer into conditional CSS and other work-arounds just to accommodate this single browser. To me, that is not what makes the web “beautiful”.
If every keyboard you typed on had a different layout of key characters, could we claim that this diversity is what makes keyboards so great?
Peter
November 8th, 2012 9:25 pmWe should support and emphasis the Microsoft ” CRAPWARE” model, until the world wakes up.
Surely, all you techies if Gangham Style can be a hit, Microsoft CRapware message should be a stroll in the park
Peter
November 8th, 2012 9:33 pmCan we also get rid of this fixation loons have for facebook and twitter, it can not be useful in real life, maybe just bring down an arab dictator or 2, but other wise, how come people accept to pay to exchange invasive details about their private lives, or has the www just produced a society that only see the emporors new clothes, as they are told by the www managers, facebook and twitter are “IT”.
The only people to benefit from facebook and twitter are the top tier who are share holders, – Ponzi Schemes under a false label – ever seen one of those ???
Emporors New Clothes – Again.
It is a pity the www can not be used for real education – still, you can not educate people who don’t have a functioning organ
gnizm
January 18th, 2013 8:56 pmWhatever.
Look at some of IE’s bugs. IE 8′s 4095 selector bug, IE’s limited CSS selector nesting, etc..
This are not a mere lack of features, than can be polyfilled. This is a piece of sh*t that needs to die!!
OldGrayGuy
January 29th, 2013 6:54 pmThank you!
I’m an old geezer, and I’m sorry but these web developers running around calling themselves “programmers” are the problem! They have no clue what programming is, nor do they understand the very first point of your article. Their JOB is to support users, not the other way around.
So maybe all of the shiny, floaty, gee-whiz graphics are not going to materialize in IE6. SO WHAT! The content is the important part, not the gee-whiz! How hard is it, really, to stick small section of code in (and, by the way, learn something about structured programming and reusable code while you are at it) to recognize legacy browsers and deliver content appropriately. NOT HARD AT ALL for a real programmer.
But, like I said, I’m an old geezer. I grew up on assembler, structured programming, learning the right programming techniques before learning the language.
I can tell when I meet a web developer who is a real programmer, because they don’t whine and complain like the hacks do.
I love your article, and I suspect you are one of those rare birds in the web development world. A real programmer who happens to be developing web sites (rather than a web hack who happens to be trying to program).
Chris Vincent
March 5th, 2013 6:06 pmImagine if, when you wrote Assembler, every compiler except one had a *slightly* different understanding of the object code, and as a result produced slightly different opcodes which rendered an unusable or otherwise subpar program for roughly half of your customers. Then imagine that, in order to support that one compiler by figuring out what it was doing differently, you had to go from searching through arcane manuals to outright guesswork, because of course the source code to the compiler itself was proprietary and closed to public scrutiny.
You’d be pissed off, and rightly so. That compiler, like it or not, is used by about half the people who will need to run your program, usually for reasons completely unbeknownst to them and completely irrelevant to the problem at hand. Hell, you’d probably try your damnedest to evangelize the other compilers which do a better, more consistent job and with far greater transparency and predictability. (What kind of engineer, given the choice, doesn’t prefer transparency and predictability in the subsystems s/he works with?) But, of course, you’d still trudge along making things work with that one damn compiler and all its quirks that just won’t go away, because that’s your job and you don’t just let shit fall by the wayside.
But be honest, man. Talk all you want about your level of engineering experience, but if you’ve ever really built any kind of web application that needed to do more than just spit out plain HTML pages with minimal additional styling or behavior, you’d know damn fucking well that the wrenches Internet Explorer throws into the works are not of the kind that can be removed by application of mere “structured programming”. You could program the fucking Matrix in Lisp for all I give a damn. Your amazing programming doesn’t matter if your interpreter inexplicably fails 31 levels deep without so much as a helpful stack trace to guide the way (http://john.albin.net/css/ie-stylesheets-not-loading), just to name one of the uncountable and completely avoidable oddities of working with that browser whose name I shall type no more.
The worst part is that there is a widely accepted open source web rendering engine available which receives contributions from all around the world (including from different companies in direct competition with one another, so there’s your precious diversity right there). They could use (and contribute to) that engine, with zero additional restrictions placed on their business, and immediately improve the lives of developers everywhere (and, by proxy, users of the web in general). The only reason I can imagine that they don’t go that direction is pure hubris and lack of vision. The browser wars are over. The web is moving infinitely faster than that damnable browser ever has since the death of Netscape. Let’s move on and continue to build. We can do it way faster without this completely unnecessary vestige of a bygone era. How anyone in this industry can defend its continuing trend of clear inferiority is beyond me.
Cyp
May 21st, 2013 5:09 pmI can’t brag i programmed in assembler. I mainly used C\C++ for programing on almost every platform. Web developing is a way to make poket change. And you are wrong. If every browser uses a standard and IE does not it is not ok. Also it is very annoying to use progid statements in a browser. Technically a browser should be cross-platform, since this is what the web is about. Yet IE is not. Ie is crap.
Mauro
March 4th, 2013 9:54 pmReally?! And who would you like to blame? Everybody else “in the world” that follow and support the WC3 standards? Get real, who paid you to write this article?
Oa
May 11th, 2013 4:21 pmSupporting IE nearly doubles the development cost and forces web based apps to be rigid instead of modular. What kind of way of thinking we have to change while projects are costing more man/days for an ugly browser support? The most stupid idea I have ever heard, probably, you got some money from Microsoft to write these… Better if it was 1 million dollar, otherwise it doesn’t worth…
In short, in my opinion, IE devs should change the way of living. They could be great fishermen or formula 1 pilots, why they are still developing that abomination, I wonder.
William Snell
May 17th, 2013 7:27 pmI agree that dwelling on blaming IE for development issues is unproductive, but so is ignoring the problems it presents. If you have a team of semi trucks dropping off supplies, some of which can only drive at 25 mph, a lot of your product is going to arrive late, whether or not you dwell on it. Even with IE 8-9, as a professional web developer I spend extra time on each project for testing and writing fixes for those two browsers. IE 8 in particular poses several problems when dealing with JavaScript and CSS. This is time and money spent for no other reason than that IE is not the equivalent of other browsers, but continues to maintain a market share because MS ties is to the Windows OS. I cannot tell you how happy I was when my company dropped support for IE 6-7. And they might have rebuilt IE 9 and done a much better job than previous IE versions, but that was a low bar to clear in the first place. It still isn’t that great.
So I don’t spend my time moaning about the evils of IE (unless it’s causing an immediate and specific issue), but I don’t ignore it.