Why Internet Explorer Sucks

My CSE 190 M course is devoted to teaching proper web site development. The fundamental design of HTML and the World Wide Web is written with detailed standards, and if a web site developer obeys these standards, his/her pages should look the same in every browser on every computer. But Internet Explorer and Microsoft have spent years going out of their way to make their browser behave in ways that are contrary to these standards. This makes it much more difficult to develop web sites that will work properly on every machine. Many web developers have been forced to make the difficult choice: Should I make a site that looks/behaves right in IE, which has long had the majority market share, and looks wrong for everybody else? Or should I follow the web standards so that it will look right everywhere but IE, thus losing the largest potential market of visitors?

The reason Microsoft has been able to get away with this horrible, monopolistic, bullyish behavior is because web developers have not taken a stand. No one has been willing to simply say, “IE, if you don’t play by the rules, you’re not welcome here.” As an educator, I don’t want to teach my students a bunch of hacks and workarounds so that their pages work in a web browser that willingly goes out of its way to break things for everybody else.

There are other major problems with IE, such as its chronic security holes that make your computer vulnerable to all kinds of malicious software. Many of the large “bot nets” of “zombie” computers that have been infected by viruses and malware are due to flaws in Internet Explorer that have been exploited.

Therefore, I block my course web site from being viewed in Internet Explorer; its users are not welcome. If a person would like to visit my course web sites, they must do so with another browser. Sorry for the inconvenience. (Not to get too preachy, but if you tried another browser, you might actually find that they all have more features and work better than IE does. I’m just saying.)

P.S. Don’t take my word for it. Visit these fine sites to learn more about why IE sucks:

I agree that IE sucks and developers should develop for other browsers. But I wonder if your students are being served by this approach, considering in the wide world many of them will be expected to develop for IE as well as other browsers. Are your students going to be less employable because of your approach? I don’t mean to be harsh, but the reality is that web developers don’t get to live in a perfect world when they are in the real world.

I was looking at your course website and notice you focus a lot on Firefox, which I liked for a long time, but sort of sucks now too. What about Chrome? I’ve been using it exclusively and I really like it.

We don’t focus on Firefox. We focus on web standards. If you code for Firefox, your app will already work in Chrome, Safari, Opera, etc. There are two worlds on the web: The IE (broken) world, and the web standards (everybody else) world. If you code for IE, your app will work only in IE, blocking out every single other browser and device. This includes iPhones/iPads, Macs, Linux boxes, Firefox users, Chrome users, etc.

The right way to do things is to code to standards, not hack for IE. If people do this consistently, Microsoft will be the one left behind and will be forced to play by the rules.

Besides, I’m not telling anyone they can’t tailor their web site to look nice in IE. I’m just saying that I refuse to teach that in my 190M course, since it’s a waste of time IMO; and that if they want to learn this, they’ll have to learn it themselves. I do provide links to learn such things in my 190M materials.

I understand, and I don’t disagree with your perspective. But I do think in some areas (enterprise applications especially) the majority of applications are written to comply with IE and nothing else. I don’t think this is a good way to develop either, but I do think some of your students will be looking for jobs in those areas. Perhaps you are trying to start some kind of revolution but from my non-academic perspective, revolutions are useless when you are trying to make rent.

I got my info about the browser from your syllabus. “The recommended software for the course is the Firefox web browser (with Firebug add-on), and the TextPad (Windows) or Smultron (Mac) text editor. The course web site has links to download this software.” But I don’t think Firefox is so great any more.

That’s fine that you don’t like using Firefox any more. But this has little to do with what browser is most pleasant to use for daily web surfing. The fact is that Firefox is an excellent web development platform because it has a number of sophisticated tools, features, add-ons, etc. specifically made to help with web development. Chrome and the others are still far behind in this area and need to catch up. Feel free to play in Chrome all you like; but for web development with JavaScript, PHP, Ajax, etc., it stinks.

Point taken. I haven’t tried to do much fancy development in Chrome. In fact I don’t even have the skill set to do anything too fancy (which is why I was looking at your website — I was thinking about taking this class, but it didn’t work with my schedule this time).

It’s true that I was looking at this discussion more from the end user perspective, and I do think that’s relevant, because your students’ future clients could be IE users either by their own laziness or by force from a corporate IT department. Alternate browser use is growing, but my stats show that on the site I support, the top browser used is still IE. And with so many enterprise applications making the jump to being web-based, seems to me like that’s a lot of jobs.

But maybe I read this post wrong. I originally interpreted as you saying that you would not teach your students to develop so that sites work in IE. But now I see: “As an educator, I don’t want to teach my students a bunch of hacks and workarounds so that their pages work in a web browser that willingly goes out of its way to break things for everybody else.” So you don’t WANT to, or you don’t? I am not sure.

“Perhaps you are trying to start some kind of revolution but from my non-academic perspective, revolutions are useless when you are trying to make rent.”

Unfortunately, this has the potential to be a very incorrect statement. The more you do things with the aim of making money (I know, everyone needs rent) the more unsuccessful you will prove to be at it. Trust me, I’ve been there and I’ve seen other’s go there.

Marty’s passion and resultant focus is what makes him so successful. Marty is young (sorry Marty, I’m not sure how much you like or dislike your age being pointed out like that). We are very nearly the same age, and he is MY professor which, for me, is both embarassing and inspiring.

I’m sure I’m not the only one who’s taken more than one class with him. He’s damned effective and I can’t see his success coming to an end any time soon.
I don’t think he got to where he is today by following the herd. To the contrary, he 1)is educated about what he’s talking about and 2)acts on what he recognizes as needing positive change. If he’s willing to share that model of success with you – a model that brings positive change to your industry and doesn’t leave you stranded at the behest of a bully making all the rules – I think it could quite possibly be one of the best business decisions you’ve ever made (and make you a whole lot more than just rent).

I say ‘you,’ because, well, CS is not my industry. I chose to leave the world of technology to pursue another passion… I’ll be reading books for a living… we’ll see how much rent that makes me

PS: incase this post is construed as ass-kissing for a grade-raise, you will see I have not used my real name, nor my school email address XD
also, posted using IE! HAHA!

With the beta of IE 9 now out, and Microsoft still owning the largest share of the internet world, it is time to re-evaluate the acid3 test.

IE 9 beta scores a 95/100.
Mozilla Firefox 4.0b8pre scores a 97/100.

In fact, neither firefox nor IE have actually passed the test yet, as passing requires a score of 100.

It should be noted that Google Chrome 4.0.249.78 has passed the test. So from this perspective, if the goal is to teach a language that most closely follows the standards, then it should be google chrome that is used for web development courses.

However, if having a score of 100/100 is not essential, and you are willing to sacrifice a few points, why not go for IE 9 which has a 95/100 and is still the most used web browser, with slightly under 50% market share.

Firefox only has about 32% market share, and chrome 12%, with others even smaller. So it seems that now that IE has finally risen to the standards, and it has a larger marketshare, there is no reason not to code for IE.

It should also be noted that all of chrome, IE (version 8+), and firefox pass the acid2 tests as well as the acid1 tests.

so based on market share, IE is ahead. Based on the following of web standards (acid tests), IE 9 is only 2 points behind firefox 4.0, which is 3 points behind chrome at 100.

A very interesting but shortsited belief that will surely be the undoing of anyone that follows your basic concept of developing for only non-ie browsers.

Well over 60% of people use IE. Anyone that can only develop sites for firefox will not be employable by most major websites. The government and for that matter, any website that is designed to make money. If you site sucks in my browser, I will go somewhere else.

For that matter chrome/firefox/safari all interpret html diffferently – safari does it different depending on your platform. you need to open you eyes.

Ideals are nice, but the world is not perfect, so you need to learn to deal with the way life is.

Rob: I don’t endorse developing for non-IE browsers. I endorse coding to web standards. If IE chooses not to follow those standards, so be it. To Microsoft’s credit, IE9 is much closer to complying with web standards than IE8 and prior versions were. So I believe that developing to standards will not actively exclude most IE users going forward into the future.

A developer has only so much time, energy, and brain matter to devote to learning quirks of non-standard-compliant browsers. I think those gray cells are put to better use learning more tricks and techniques that work on standards-compliant browsers, so that the person can make a really great web site. If IE’s current progress is any indicator, IE users will also be able to visit that site in the future. The fellow who has spent his life learning IE6 hacks will have invested substantial time in something that has no use in the modern web.

The web is all about moving forward, leaving behind that which no longer matters. IE6 and its hacks do not matter any more. One should develop a site for modern browsers unless it is absolutely critical to support ancient legacy users. For older users, a simple message can explain to them that they need to upgrade their browser to see the site; otherwise they may see a degraded appearance or limited functionality. I think that’s totally fair. Nobody expects ancient versions of MS Word, Photoshop, or other software to still be able to open the very newest files created in 2011. Why should the web be different?

The worldwide median of web browser usage share puts IE at 45%, according to the wikipedia article about usage share. So keep fighting for IE in order to get that percentage back up to 60%. And good luck with that. IE is no longer at 90% for very good reasons.

At last, someone who tells it the way it really is. Microsoft has always been arrogant, monopolistic and insensitive to user’s needs.

When employed to teach things like Microsoft office, I had to also teach IE. Ironically, I had never used it myself. From my earliest days on the web, I had used Netscape and other browser for the very reasons you cite, security and features. Today, I mostly use Firefox, but also have Safari. It’s fine, but I am really more comfortable with Firefox and now that I only work for myself, I can do what pleases me.

Microsoft is slow, often behind the curve, and in many cases inferior to its competition. However, I’m not sure I agree with its characterization as a monopolistic bully. I wasn’t in the know during the browser wars, but Internet Explorer kept up with Netscape in terms of features and I think it is generally agreed to have been the better browser. Once Microsoft secured that market, they diverted resources to other departments.

Yes they still had a huge user base that they neglected, and they had basically no competition until Firefox came along, but I don’t think it’s fair to expect them to release new and better versions of Internet Explorer (which they provide for free).

So yes their browser was insecure, lacked features, and didn’t comply to standards, but IE6 is ancient, Microsoft put almost no effort into versions 7 and 8, and they still had a huge market share which created the problem. However, I don’t think they were monopolistic or a bully. They were just lazy and had their sights elsewhere. It’s not their fault people still used their old clunky browsers. Once some real competition came along, Microsoft got their act together with IE9.

THANK YOU MARTY! I design web-pages and making standard compliant web-pages that work in IE is an absolute nightmare. IE (all versions to varying degrees) is the buggiest POS there is. One way to rectify this is by not using it and choosing a standards compliant browser like Firefox or Chrome.

To those mentioning IE’s 60% market share: that percentage was not earned by IE’s merits as a browser and is due in large part to Microsoft’s monopoly. IE comes installed on most PCs and that is why most people use it. Few people actually choose IE.

why is there so much hate for IE? I tried to even view the CSE 190M webpage, and it said I can’t view it in IE. Looks like I won’t be viewing it anytime soon, as I refuse to put another browser on my machine.

I am not saying Microsoft products are perfect, because they are not, but I am saying that IE is the most widely used web-browser. Also, like I mentioned earlier, it is still the case that Firefox has not passed the acid3 test. Firefox scores a 97/100 on the acid3 test, and IE gets a 95/100. So, where is the problem here? it looks like Firefox did equally bad. I mean to date both have failed to pass the acid3 test. Chrome however has passed acid3, so if we are developing to standards, you have to agree Chrome is one of the only choices because both IE and FF fail to comply with acid3 standards….

But, if you are like me, and are willing to sacrifice a few points, IE9 has a 95/100. Go IE.

If you are going to say that you don’t endorse developing for non-ie browsers, and have made your site so that only those that follow standards can see the 190M website, then it should be set up so any browser failing the acid3 test cannot see the 190M website. This means excluding the newest version of Firefox which scored a measly 97/100, and failed to pass as well as IE, and Konquerer.

Joey: Your posts show a lack of familiarity with the landscape of web standards. The ACID test is not a web standard; it’s simply a single oddly crafted web page that uses various features. There are browsers that do well on ACID 2 or 3 but poorly implement other web standards, and there are browsers that do poorly on ACID 2 or 3 but implement standards well. It’s just one test, and people place way too much importance on it. The web standards for not only HTML, but CSS and JavaScript / ECMAScript, are simply not followed by MS IE, not even IE 9. Each version of IE gets a little better, but they have quite far to go.

This is a typical Microsoft thing to do. Rather than actually build a browser that is standards-compliant, they build a page that passes one popular test case while breaking tons of other pages around the web. Then MS fanboys can run around saying that MS gets this or that score on the ACID test, not really understanding what it all means.

If you think that IE is a standards-compliant browser, I encourage you to take your programs from CSE 190M (particularly HW5+ later in the quarter) and try to run all of them in IE. Since IE is so compliant, I’m sure that all of them will run perfectly without any issues. Let me know once you’ve tried that and then we’ll talk about standards compliance.

A pretty good initiative to let the IE guys know that we care about standards unlike them! I pretty like the approach but at the same time agree with the others as you are involved in teaching. So you must train your students to tackle “problems / bugs” (which is more frequent in IE) and also teach them about Hacks for IE. They will be dependant on your teachings for their career after all.

“s”: I am not trying to claim that IE is without merit as a software product. The most damning thing about IE is that it has historically done a terrible job about conforming to established web standards. The newer versions such as IE9 are better, but they still have a ways to go. I am happy that MS is at least making some effort to improve things, but in my opinion Firefox, Chrome, Opera, Safari, and others are still much more worthy of support from developers and users.

I’d like to take a moment and say thanks to Marty on this one.
I was in his class about a year and a half ago, and would like to explain a little about how it worked.

Since we didn’t focus on IE we were able to cover more content that we would not have had otherwise. To those who are saying that makes me less employable I would disagree. I am working on a site for a group at the UW that (if I say so myself) looks fucking fantastic in every other browser. I just started testing it in IE and it looks like all of my time and data was given to the browser, which then had a seizure on it and gave it back.

But seeing as how Marty taught us standards and not hacks I can figure out how to fix it. I’m going to be adding a separate css sheet for only IE. That took me all of 2 minutes to google, and if we had covered how to handle each incarnation of that browser I would have missed out on a lot of the stuff that I have just been using. Besides, his class is mostly for beginners and it covers a lot more than html and css. The timing just doesn’t work to have a week or however much would be needed to cover every way that IE might render your page differently and how to fix it

If someone is at the level where their living depends on their ability to code and design, they should be able to figure out how to deal with something like this on their own. When we are all starting out, we need to learn the rules not the exception. Thanks to Marty I know what I need to make websites.

All I need now is the patience to rework my appearance every time IE rears it’s ugly head.

“s”: It is undoubtedly true that IE9 is more secure than past IEs. (It would be hard for it not to be.) But this study is not definitive. The folks who did the study, NSS labs, are known paid Microsoft shills, given substantial compensation by Microsoft to perform this study. Their methodology has been questioned and criticized, set up in a way to make IE slant toward having a better number than other arguably “safer” browsers.

I encourage you to google (er, sorry, you probably use Bing!) about “NSS labs” and read about the accusations and questions regarding their credibility, as well as considering the general low credibility of paid studies.

Lastly, my main gripe against IE isn’t even its “safety” or security any more; it’s their poor conformance to web standards and their monopolistic behavior in the past that helped to crush competitors.

Sigh. You don’t get it, “L”. You’re right that I don’t develop pages for IE. But I don’t develop pages for *ANY* browser. Because that’s not how web development is supposed to work. You are supposed to develop to well-documented web standards, and then the page is supposed to work in every browser. In many cases, it does not work in IE. That’s their browser’s problem; they need to fix it. I’m not willing to hack up my web page with a bunch of kludges and special code just to deal with the fact that IE is a broken web browser. If you think that makes me a tool, so be it.

Long-dormant thread here, but I came across this on Stumbleupon, and was curious about the statement “We have chosen to restrict our CSE 190 M course web site so that it refuses to display itself in Internet Explorer (“IE”).”

I’ll keep this short… as a web-developer, you’re entitled to make this decision. Act on your principles at the risk of losing an audience… well done, good for you – and I mean that sincerely.

But as an educator, I hope – once you’ve delivered the valuable lesson about standards and the damage done through non-compliance – that you do not refuse to teach your students how to compensate for IE’s non-standard behavior.

If you’re teaching them BOTH the value of standards, and also about how to compensate for IE, then very good. otherwise, you’re doing them a disservice, and being very unfair.

Sean, I don’t think I am “being very unfair” if I avoid teaching students a bunch of IE hacks. For starters, the point of a computer science course is to teach principles and ideas, not hacks and unnecessary details. Students who need to develop for old versions of IE can go figure out those things for themselves, and I give them links to do so. I just don’t waste my class time on it.

Secondly, IE is changing and improving in this area. IE9 supports some of HTML5 and IE10 will support a bit more. Microsoft is quite wrong to brag about these browsers being the best and most standards-compliant, but the fact is that these hacks you insist that I teach are fading into irrelevance.

The people who need to care about old IE are people who do business web sites that need to support everybody to make money. That’s not my audience. As I said above, if somebody in my class wants to go learn hacks, they can be my guest.