This Site Requires....

image courtesy of stopie.com
[This outdated politi-geek rank was done in the era of IE4, IE5, etc. Much has improved since IE7/IE8. Not perfect, but certainly better than before. Though not apologetic specifically for IE, I had to laugh at the Microsoft claim that "FrontPage was one of the very first web authoring programs, and it was built in the day when the Internet was a bit like the wild west—no laws". Bullshit. Standards, young though they were, existed. MS simply chose to ignore them. And yes, I said the same thing with FrontPage as originally developed by Vermeer. - 01/01/2010]

As an IT professional and an Open Source evangelist, I have always had a love/hate relationship with Microsoft. To their credit, they continue to produce incredibly useful applications, while the evolution of their PC operating systems have shown staggering leaps in both user-friendliness and ease of administration. (Anyone who remembers futzing with packet drivers, extended memory, and interrupt vectors can attest to that.)

If left to play in their own little world, Microsoft would have remained in my mind as a shining example of capitalism and commercial software developer extraordinaire. However, when they began to "embrace and extend" into my precious Internet life, they lost a lot of my admiration. I began to see them for what they were: the proverbial 800lb gorilla who would throw their market weight around and get what they wanted out of sheer dominance. Even when it flies in the face of wisdom, common sense, and/or standard practice...

No better example of Microsoft arrogance can be found than in Internet Explorer, a bloated web browser that does 90% of what every competitor's does and 20% more of what others don't. The problem is, the 20% are special features that only serve the interests of the Microsoft family of products, and they claim such esoteric features are in high demand. (Though honestly, I bet most people don't even know they exist.) And does Microsoft care about that other 10%, which comes in the form of missing features or non-compliance with recognized standards? Nah. When you own the majority share of the browser market on the majority share of all computers (including Mac, Linux, etc), you can do pretty much whatever you want. You can decide for people what they need or don't need. You can set your own standards. Or can you?

Standards? We Don't Need No Stinkin' Standards

Microsoft was mostly absent from the Internet until the late 90s, when they dove in head-first to win the hearts (and desktops) of users with Internet Explorer. Unfortunately, Microsoft ignored some of the standards at the time, choosing instead to 'improve' on them where they saw fit. Thus, the "browser wars" (Netscape/Mosaic vs IE) of 1997-2000 tended to make life very painful for web developers having to cope with the various differences:

  • The Document Object Model (DOM) defines every HTML element as an addressable object with various properties. When joined with Javascript, the DOM allowed dynamic manipulation of the HTML attributes. Dynamic HTML (DHTML) is what truly livened up the web by allowing such things as pop-up windows and mouse-over actions. But IE4 introduced its own DOM that differed from the W3C "Level 1" standard. Gradually, IE has improved to a point where it almost fully supports the standard DOM, but there are still a handful of DOM incompatibilities and HTML4 omissions.
     
  • Cascading Style Sheets (CSS) were introduced in 1996 as a way to separate the presentation ("look and feel") from the content on web pages. CSS allows, among other things, users with disabilities to enhance font sizes and colors to make a web page easier to read. CSS2 followed in 1999. Unfortunately, despite all the time that has passed since the introduction of style sheets, IE is still not compliant, and furthermore has introduced its own set of unintentional quirks into the picture.
     
  • VBScript is Microsoft's answer to Netscape's Javascript. This is not to imply that Microsoft dislikes Javascript -- on the contrary, they even positioned their version as a proposed standard. However, Microsoft also wanted to leverage the legion of Visual Basic programmers out in the wild; VBScript was their attempt to give them something familiar to use for scripting web pages. Unfortunately, IE is the only browser in the universe that understands VBScript, so it is a very limiting tool...
     
  • Programs embedded within a web page, to be downloaded and run locally, are sometimes needed when a web designer needs to do something otherwise impossible using just the HTML/CSS/Javascript supported by the browser. Sun's Java applets were the first such embedded programs, requiring a "run-time environment" to provide a sort of sandbox for the downloaded code to run within. Microsoft  introduced their own ActiveX technology, and even went so far as to stop supporting the 'competing' Java within IE by default. Now developers were in a quandary: do they create Java applets or ActiveX controls? But users were in a bind as well: although convenient, ActiveX introduced a whole slew of security concerns. ActiveX controls did not run in a protected "sandbox", they ran directly within the browser. Thus, a rogue ActiveX control had full access to a user's system. ActiveX insecurities resulted in an entire cadre of Spyware, Adware, and keystroke loggers accidentally downloaded by unsuspecting users.  

The Gorilla Gets Caged?

You can gripe about standards all you want, but your average IT staff  just wants to keep things safe and running and doesn't pay much attention to your ability to render CSS or HTML to perfection. But mess with their infrastructure's security and you have awakened the beast. That's what Microsoft has done. Countless security bugs, exacerbated and/or enabled by the inherent insecurity of ActiveX, have started a mini-revolution. Gorilla, meet the zookeeper...

With every exploit, bug, and security breach, the grumbling from technologists grew louder. 2004, in particular, was a bad year for IE. As a result of the myriad problems, enough people switched from IE that it caused the first noticeable drop in its market share. That drop, in conjunction with an industry-wide call-to-arms, are leading many to predict that Internet Explorer will cease to be the dominant browser.

Driving that prediction is the simple fact that there will not be an IE7. Effective 2005, with the release of the new 'Longhorn' version of Windows, IE will become an embedded part of the operating system rather than a standalone browser. (Never mind that an embedded IE is what got MS in trouble with the DOJ in the first place...) So with "Windows 2005", let's see... That means the release date slips to 2006... And a consumer reluctance to migrate from Windows XP until at least 2007... OK, you'll be using 8 year old browser technology by the time your PC finally gets upgraded. With IE forward progress effectively halted, it's no wonder people are talking about a change.

But while it may be easy for home users to switch browsers, developing that same momentum within the business world may prove difficult. Experts often cite the problems inherent in a large-scale deployment to the desktop, or the added maintenance that a new app introduces. However, the reason most often given is the simple fact that -- whether out of laziness, ignorance, or necessity -- many web sites and applications have come to rely on the non-standard DOM, quirky CSS, and proprietary ActiveX controls. Users may want to change, but if sites/apps they rely on remain IE-specific, then they can't completely give up the IE ghost.

Please Do Not Feed The Gorilla

Is there a browser revolution brewing? Sort of. While many users will switch to something other than IE, the fact remains that considerably more will be apathetic enough to continue using whatever is handed them and stay fearful of a change. Despite the age, despite the tremendous insecurities, despite the quirky irregularities, despite the lack of standards compliance. Will we ever see the end of Internet Explorer? It's unlikely. But so what? This isn't about a 'war'. This isn't a contest or a 'jihad'. Eradicating IE from millions of desktops is a near impossibility, and if some people choose to live with the insecurities, more power to them.

However, what I would like to see is an end to the phrase This Site Requires Internet Explorer. That, at least, is an attainable goal. If you come across a site or application that requires IE, direct the owner/developer here. If they've inherited a 'legacy' production, they should understand the history of how things came to be. But more importantly, if they willingly continue to cling to an IE-only philosophy, hopefully the evidence accumulated here -- particularly the decreasing IE metrics! -- will be enough to convince them that they should be considering other possibilities. 

So attention all site owners and developers: Revamp your HTML for the more modern DOM! Don't code to non-standard CSS! Use Javascript instead of VBScript! Stop depending on proprietary ActiveX controls! Remaining reliant on a questionable proprietary technology base does not make good long-term strategic sense. 

One IE-only product developer said that they will consider alternative browser technologies when their non-IE customer base grows to 10-15%. This marketing genius failed to consider that their non-IE customer base may never increase in size. Instead, those consumers will simply choose a competing product that is truly open and browser-independent. Companies must realize that a significant number of users will be migrating away from Internet Explorer, and therefore the continued popularity and/or revenue of your app or web site may depend on the acknowledgement and support of other browsers.

The gorilla may be out there, but it doesn't need to be fed.