Blog

12 Jul 2010

Why is Internet Explorer a Bad Browser?

As an IT professional I must admit that I have grown an intense dislike for Internet Explorer. It didn't start like this. I didn't automatically have a bone to pick with Microsoft and Internet Explorer for holding a giant monopoly or anything like that. In fact a long time ago, like many people I used IE as my default browser quite happily not bothering to upgrade to any other browser because IE did what I needed it to.

So what happened?

What happened was I became a web developer. I had to deal with IE in a way that your average person on the street doesn't have to. I realised what a bad browser IE actually is. As a person who contributes to creating a part of the internet (albeit a very very small part as the internet is so extremely vast), I will let you know why IE is so bad.

Nearly all major browsers agree and comply with W3C standards when it comes to rendering web pages. When I say nearly all, I mean all except Internet Explorer.

Its Good to Have Standards

Browsers need to follow standards - an agreed upon set of standards that all other browsers follow in terms of how to render a web page. If a developer or designer (call these people authors for now) programs something to display in a certain way, all browsers should, in a perfect world, display it as the author intended. This agreed-upon set of standards is crucial to the smooth functioning and inter-connectivity of internet. We can't have some browsers displaying parts of the internet incorrectly or differently to other browsers - this would be chaos. This is against the spirit of the internet and is also bad for business. Think VHS vs Betamax during the 1970s and 80s and more recently Blu-ray vs HD DVD. In the end there can be only one standard.

Hold On - There's More Than One!

The World Wide Web Consortium (W3C) is a large international community that works to develop web standards among other important tasks when it comes to the advancement of the internet. Their main focus is to have the web for everyone, on any technology platform, to expand, enhance and advance the internet. Think of it as a kind of governing body for how the internet should work and how it should develop.

Nearly all major browsers agree and comply with W3C standards when it comes to rendering web pages. When I say nearly all, I mean all except Internet Explorer. Firefox, Chrome, Safari and Opera all follow W3C standards and render web pages in almost exactly the same way. Microsoft somehow feels special and so has developed IE to follow its own rules.

Just How Differently Does IE Render Pages?

Say perhaps on average IE will render pages 90% the same as other browsers. Thats nearly 100% so whats all the fuss? Well that 10% difference makes a lot of difference for people who create content on the web. Often I might be developing something really cool for a web page only to realise that it doesn't work in IE. There are three options here, leave the cool new feature out altogether for everyone, just leave IE users out in the cold or lastly, try to find ways to get it going on IE by using bits of tape, string and wire. All options are not ideal. The first, you don't really want to leave something out that you think is really cool! The second, IE users will not have as rich an experience as users of other browsers and lastly, a LOT of time can be wasted researching and creating a workaround for IE.

Internet Explorer 6 usage was at around 18% at May 2010 - staggering when you consider that IE6 was released almost 10 years ago, an eternity in the technology world

One particular non-feature of IE is the inability to automatically create rounded corners for borders and boxes on a site. All other browsers can do this with a single line of programming code. With IE you have to retrofit the website with some other bits and pieces in order to create the rounded corners. It is 2010 and rounded corners have been a common feature of the web for years now but Microsoft are either unable or unwilling to allow IE to automatically create rounded corners even in its latest incarnation of IE - IE8. The news is out that the next version of IE - IE9 will finally have the ability to make rounded borders. Welcome to the present.

Most decent websites out there on the web will have specific logic on how to handle IE. For example if the website detects the user's browser is IE it will apply the IE rendering. If its any other browser it will apply the normal rendering. This is often times doubling the work that designers and developers have to do. Imagine building a road for cars, a separate road for trucks and another one for motorcycles. To take it further, websites often have separate logic for IE6, IE7 and IE8. Will the madness never end?

To be fair each successive release of IE that Microsoft puts out has gotten closer and closer to complying with web standards but its a slow process. And while its nice, the damage has essentially already been done because websites need to be backwards compatible with old browsers. Creators of websites and their owners would be foolish to not support users that are still in the stone age with IE6. Unfortunately computer users are for a number of reasons unwilling to upgrade from IE6 to any number of far better browsers out there. Internet Explorer 6 usage was at around 18% at May 2010 - staggering when you consider that IE6 was released almost 10 years ago, an eternity in the technology world.

In the end, web designers and developers have to live with these challenges until rendering standards of IE and other browsers finally converge completely. As mentioned previously IE6 has been out for almost 10 years now so this convergence might happen in another 10 years time when all IE users everyone will at least have IE9.



by Sam

ps. I've not talked about the security vulnerabilities of Internet Explorer here. Thats a whole article in itself =)





Leave a comment