Although it is trendy to think poorly of IE these days, and Microsoft's ongoing security woes make me unwilling to run it, I am thankful to it because it delivered me and others from Netscape.

Back in the day, before most of you had put up your first webpages, first Mosaic, and then Netscape, were required browsers. When Microsoft came out with Spyglass-IE, I at first resisted it, thinking myself clever for fighting corporate tyranny.

Netscape however had other plans. As the company got increasingly neurotic from lack of a workable business model, the browser got even more crash-prone and unstable. Even more, it refused to incoporate many of the new multi-media and layout features clients wanted.

Enter IE, around 1998. It was fast, quiet, and crash-proof compared to Netscape. I switched, as did 90% of the other designers I know. Correspondingly, the mass of people newly hooked up with Windows 95-98 adopted it as well. It became the standard, and saved us from having to design pages that worked in both Netscape and IE.

I think this made a good many people mad, and triggered a desire to either compete or destroy this new market dominance. New standards were released and others finalized. Then Netscape spent three years in chaos and was then resurrected as Mozilla, which then morphed into FireFox to get out from the antique bureaucracy that influenced it. The new browser was "standards compliant."

These standards had some issues. First, they were designed in academia far removed from their real-world uses. Second, they held on to certain fond notions of abstraction that the market would not bear out. Finally, they were constructed AFTER most designers had already adapted to the set of hacks necessary to make things work in HTML at the time.

If a browser sees a full DTD as the FIRST element of a document, including the W3C URL for the details, then it renders the page in "standards" mode. Because standards are still relatively young, there is some variation from one browser to another, but it's usually minor.

But if a browser sees no DTD, or a partial DTD, then it goes into "quirks mode", which essentially means rendering the page the wrong way, but the way we were used to up until version 6.

Before version 6, browsers were a wild west of competing standards. This was because Netscape insisted on inserting its own HTML elements into the code, and then IE followed suit, until Netscapers began to fight back by declaring allegiance to "standards." For version 6, IE chose backward-compatibility and did it well, and FireFox chose to uphold standards.

When Netscape 4 and Explorer 4 implemented CSS, their support did not match the W3C standard (or, indeed, each other). Netscape 4 had horribly broken support. Explorer 4 came far closer to the standard, but didn't implement it with complete correctness either. Although Explorer 5 Windows mended quite a lot of Explorer 4 bugs, it perpetuated other glitches in CSS (mainly the box model).

I think to this day, one reason FireFox lags behind is that people aren't interested in retrofitting things that aren't broke to fit a "new" model. Other reasons for its lag include the perception that its community is unstable, its own security problems, its bloat that dwarfs IE or Opera, and its geek appeal that often misses the reality of common tasks.

I realize the above is heresy, but it's a true history of the Wild West Web in its early days transitioning to maturity, and it's a lot healthier for your mind to know the complex truth than the oversimplified FUD of Microsoft and FireFox fanboys alike.

More info:

Against all of this, the Mozilla browser family -- first Netscape, now Firefox -- has made serious inroads. Netscape was the first major Web browser on the PC (aside from NCSA Mosaic, of course), but over time it stagnated and lost out to IE's ascendancy. In only a couple of years, Firefox has turned that situation around and carved out a significant niche across multiple platforms -- 34.5% and climbing, according to the aforementioned report. That said, as Firefox caught on it became clear that many existing sites had been written to favor IE's interpretations of things and didn't render correctly in Firefox.