Is Internet Explorer evil?
This question has raged across the known universe (which at the moment is restricted to planet Earth) since time immemorial, or at least since Microsoft licensed the Mosaic web browser and turned it into Internet Explorer 1.
Look, I've got nothing against Internet Explorer. Honest. Years ago, I worked on an IE4+ only web site called v3, which had some of the best gadgets and content available on the web at the time (around 1999). There was a DHTML space invaders game, which was the only way to access a series of short lie-based factual articles called Fact pie, and a fantastic splatter game featuring the Stoney Blokes, along with loads of other silly and brilliant stuff. All of the interactive stuff was written especially for the IE4 API and none of it worked in anything else, but as IE4/IE5 had more than 85% of the market share at the time, that was no hardship.
Meanwhile Netscape had released Navigator 4, which was their first DHTML-ready browser. Trouble was, to get it out to market earlier than IE4, they based its API on an older version of the web standards draft documents, so a lot of what you could do with it was based on stuff which never made it into the final set of standards, making it a bit of a developmental dead end. Oh, and it crashed all the time too. No, back around the turn of the millennium, while I was willing Netscape to get it right, I was a big fan of the Internet Explorer experience.
Since then, Netscape and then Mozilla have done their best to overcome this slow start, beginning by throwing away the Navigator 4 API and indicating to everyone they'd done this, by omitting version 5 altogether and jumping straight to version 6. This was based much more solidly on W3C web standards for CSS, HTML and JavaScript, transforming DHTML coding from a buggy, trial-and-error nightmare, into a much more reliable and rewarding process. Plus, the new browsers didn't fall over all the time.
Internet Explorer, on the other hand, was far too high and mighty to do anything as mundane as comply with web standards (okay, for the sake of accuracy, I have to point out they did comply with some web standards, but not nearly as many as Mozilla, or Opera) and continued on their merry way, adding fancy new incompatible features to the browser rather than making them render web pages in the same way as everyone else.
My favourite examples of this include IE's dimensions model which means that widths of padded boxes or columns on the page come out differently than they should when coded in standards-compliant mode, or the margin bug which meant that a floating column doubled the width of the margin on one side, or the layering system which meant you couldn't just tell an item on the page to sit above everything else, you had to pull it out of the code and put it in a special place. The list goes on and on.
Okay, so Internet Explorer did introduce the fantastic innerHTML property, which allows you to stick new stuff inside containers on the page, without having to constantly traverse nodes and elements on the page, and it has got slightly closer to being standards-compliant with each new release. IE7 is marginally less awful than IE6, and IE8 is another improvement. But with each new release, they seem more intent on adding fancy new functionality, hardly any of which anyone ever uses, instead of doing the obvious thing. MAKE IT WORK LIKE EVERYONE ELSE'S BROWSERS.
If Microsoft could do that, so you didn't have to spend hours recoding all kinds of bits and pieces of a site so they work in all the different flavours of IE, the web would be a much happier place. Web sites would be built more quickly. They'd work better and do more. And Microsoft are not going to lose market share if they do that. In fact, more non-MS developers would probably end up using it for development because it's *there* on every PC, and would probably recommend their clients do the same, so they might even gain market share.
Then they'd be able to realise their dream of crushing every other technology company and organisation into the dust, while actually doing the world a favour. But instead, they concentrate on trying to come up with some new bit of functionality that is so amazing and so unique to them that everyone else is left looking stupid and the W3C web standards organisation shuts up shop, hands the keys over the Steve Ballmer and slinks off to the pub. It's never going to happen, and in the mean time we're all left spending extra hours and days of our time making decent, standards-compliant web sites that look lovely in Firefox, Safari, Opera and Chrome work in IE6, IE7 and IE8. Thanks a bunch.

{Built on Planet Plone}
1. It had to be said