On this page:
This has been said so many times on the web by web developers frustrated at IE’s rendering bugs, lack of progress in support for web technologies, and so on, that at first I didn’t want to bother writing this post.
However, a number of other posts on this site make reference to this point and I end up repeating myself, side tracking from the point at hand. For that reason, and for the benefit of some readers not familiar with this issue, this post serves as a summary of those concerns.
IE’s dominance unquestioned
There is no doubt that IE dominates the browser market share, from 90 to 60% depending on your demographics. IE 7 usage is on the rise as Microsoft pushes it out more, but IE 6 is still dominant too.
Where did this dominance come from? Was it from good quality software back in the late 1990s when the dominance started? Maybe, but it certainly wasn’t the only (main?) reason: during the browser wars with Netscape, as ZDNet reminds us, in 1998, “the U.S. Justice Department won a major judgment against Microsoft for competing illegally against another browser, Netscape.”
Back in those days of the browser wars, Microsoft was quite innovative. For example,
- They contributed to HTML 4, for example.
- Microsoft’s proprietary conditional comments for example are ironically a good way to separate out all the IE-specific workarounds from the normal code
- They even created the XMLHttpRequest object (XHR) almost a decade ago — ironically it wasn’t until a lot later that it was used on the client side for AJAX. And, while they had used it in Outlook Web Access, it wasn’t until Google and others started using it on a large scale that this technology took off.
- IE 6 (a 2001 browser) introduced Doc Type switching so that if you declared the doc type in your HTML document (and did so properly), it would attempt to render according to W3C standards, not Microsoft’s own quirky implementations (known as Quirks mode). The importance of this one is not to be underestimated (it gave Microsoft a way of retaining backward compatibility while supporting standards rendering going forward).
Of course, both they and Netscape also made some now embarrassing choices, too (Netscape’s, blink and font elements and Microsoft’s marquee, for example!)
But IE’s victory in the browser war for itself in the short term has resulted in created collateral damage, and possibly self-defeat.
Innovation stopped after dominance
Since IE won the browser wars and came out with IE6 with Windows XP in 2001, that also seemed to mark the end of their innovation. To be fair, for its time, IE6 was the best browser around. The problem is, given the speed at which things change on the Internet, it is now the worst mainstream web browser for developers to deal with; web technology has moved on, but Microsoft barely has (on this front).
It wasn’t until the start of the Web Standards Project that this began to change as people started coming together pressuring web browsers to improve, asking things like Why should developers have to waste so much time? Why can’t standards such as CSS be used across all browsers without coding for each browser (that you know of)? Why prevent people using your site?
This growing vocal discontent and Firefox’s rise contributed to the reasons IE7 made some improvements in IE7. Chris Wilson, platform architect for the IE team noted this a while back:
… we prioritized IE7 around 3 things – security, end user experience, and standards improvements in the platform. When I look back at the work my team has done in the platform, we have done only these things. No proprietary features added, just standards improvements…. I feel that we’ve addressed the biggest problems and shortcomings from IE6 for web developers and designers… As I previously stated, our goal is to make the lives of web developers better by improving standards support in IE. I think we’ve done a lot in IE7 to do just that, and I’m looking forward to doing even more.
— Chris Wilson, IE and CSS “Compliance”, August 10, 2006
While IE7 is definitely an improvement, it is still a fair bit behind compared to other web browsers, from a development perspective. In addition, IE 6 remains prevalent.
(Its amazing to think how many problems IE6 has when one of they key focus points for IE7 was better standards support and there is still so much left to do to catch up with the others. If you follow some of the links to other posts, and read their comments you will see how vitriolic some people can get about this, as it is very frustrating for web developers.)
IE stifles creativity (or makes it harder)
While IE 6 stagnated (and IE7 offered only a few improvements compared to what is really needed), other browsers have carried on, making web development through “Web Standards” important and possible (IE6 has enough of the basics to make this possible). Web developers have tried to move on too, but IE has hardly budged, thus slowing down real progress.
Well-known web designer, Andy Clarke, and an “invited expert” on the CSS Working Group at the W3C (where a lot of the specifications for things like HTML, CSS, XML, XSLT etc are made), recently made the following point:
Along with web designers worldwide, I have been creatively stifled by Microsoft’s decision to allow Internet Explorer 6 for Windows to languish in the doldrums for so many years. With their significant market-share, Microsoft should have been at the forefront of technical development and standards support in browsers. That would have fostered an ever increasing focus on what can be possible using CSS. Instead Microsoft allowed their lead to hinder progress and web designers, developers, their clients and their customers have all suffered as a result.
— Andy Clarke, CSS Unworking Group, Stuff and Nonsense, December 14, 2007
In some cases it has stifled creativity, in other cases, it requires a lot of workaround which leads to excess code (and all the costs that are associated with that).
Rather than go into the technical details that plague the browser here, such as the multitude of bugs, lack of CSS support, lack of W3C DOM Support, here are some resources that do just that:
- Quirks Mode by Peter Paul-Koch (ppk) lists all sorts of browser incompatibilities
- Position is Everything to explain CSS bugs
- Gérard Talbot has listed numerous CSS bugs for browsers with IE topping the list.
What’s also interesting about Talbot’s page for IE7 CSS bugs is that it has a number of quotes and rants about IE’s impact on web development:
Until IE is reasonably standards-compliant you can expect no quarter from us. We’ve spent too much time designing web sites that will work for CSS and then work for IE. We’ve destroyed budgets, pissed off our bosses, irritated clients and made development more expensive because of [IE].
— a comment to Chris Wilson’s post, IE and CSS “Compliance”, August 10, 2006
This comment to another post from the IE blog was made back in 2004 and is unfortunately still relevant today:
I author to standards, it takes a few minutes to tweak things to get everything perfect in browsers like Firefox and Safari, and then ages to work around all of Internet Explorer’s bugs and shortcomings. The time to implement a decent XHTML Strict + CSS 2 design would be shortened by at least a third if Internet Explorer wasn’t so buggy. I have measured this personally across a number of projects.
… CSS 2 is over six years old, and Microsoft have had employees in the CSS working group the whole time…. Given that Microsoft are the world’s biggest software company, it looks very much like standards are deliberately being sabotaged. Is it any wonder web developers are starting to get royally pissed off with Microsoft?
— a comment to a post on the IE Blog, I love this browser!, IE Blog, July 21, 2004
Here’s a little hint to whoever is the PM in charge of the renewed IE 7 effort: we don’t care. We don’t care how much it costs you. We’ve been cleaning up your messes for *years*. Those of us tasked with ‘just making it work’ have spent so many sleepless days and nights routing around IE brokenness that our empathy and sympathy are entirely tapped out. All that’s left is a combination of despair and loathing. You want us to give a (expletive) that you blog and are ‘engaging with the community’? Fine. Fix your (expletive) browser. That’s the bar the IE 7 team needs to hurdle.
— Alex Russell, How IE7 Can Avoid Irrelevance, January 22nd 2006
In a way, IE therefore has contributed to a lot of “economic wastage” that others bear the brunt of.
For example, there are
- Unnecessary trade-offs, such as reduced features, less or no accessibility considerations, limited cross-browser compatibility, extra code bloat, etc.
- Extra costs, such as hiring more web developers than actually necessary in an effort to deliver on time, or assigning more time to the project, or just accepting that this is how web development is done, not realizing it can be better if web standards formed the basis of web development.
These costs are borne by companies, organizations, and individuals, not Microsoft.
This results in wasted capital and a slow rate of evolution for the web.
Reading the comments from developers on some of the IE Blog’s recent posts, reveals just how frustrating web development has been at times:
- The First Year of IE7
- Internet Explorer 8 — this was meant to be light humor on how Bill Gate announced that the next version of IE would be called IE8 (a no-brainer?) but the comments revealed the real concern was lack of progress, features, insight into IE development.
How Microsoft can redeem itself?
Microsoft can easily rectify the problem: they have the resources to put people into sorting out the issues if they really wanted to (they will when threatened by competition, as Firefox’s rise showed, but many still regard them as a monopoly and thus have very little incentive to move ahead significantly at this time).
On the plus side, they have people on board, like Chris Wilson, that generally get the grievances developers hold and wants to see progress on this front.
(Reading posts on HTML 5, there is much skepticism that it will happen in a meaningful timeframe in such a way that it will be used mainstream — not because of the slow standards-defining process (though that certainly may be part of it) but because of IEs dominance and slow movement in these areas.)
None of this is easy by any means, but it has taken some 5 years to get some progress from IE6 to IE7 and it still lags behind the others.
Vendor-specific implementation is okay, (maybe even encouraged?) but standards should form basis from which these extensions are made.
When IE 7 first came out, Microsoft said they would release more frequently, every three quarters to a year would be a new release. One year on from IE7 and the best we have is the announcement that the next version will be called IE 8 and growing frustration at how little information there is now coming out from Microsoft about any solid plans for IE 8.
So maybe their priorities, from a web development perspective, would be to
- Become more open and tell developers what they are planning and when for
- Actually fix all the remaining CSS and JScript bugs
- Complete HTML 4/XHTML 1.0 support (e.g. the
<q>element would be nice, as well as the XHTML mime type)
- Provide far better CSS 2.1 support (maybe even start supporting some CSS 3 features)
This is not a complete list, and there are all sorts of posts on the web and to the IE Blog with better lists, but you get the idea.
Here is one ominous warning for Microsoft of not doing so:
I sympathize with your situation, but you desperately need to get your seniors and peers to understand what’s happening, and to assign your team way more resources. IE is a first-impression MSFT product for most web developers, and yet you all continue to underestimate the dramatic spillover effect this poor developer experience has had and will continue to have on your other products and services.
Let me drive this point home. I am a front-end programmer and a co-founder of a start-up. I can tell you categorically that my team:
– Won’t download and play with Silverlight
– Won’t build a Live widget
– Won’t consider any MSFT search or ad products in the future
And the reason is because of IE – because MSFT disregards its most important relationship with us. Until this relationship is repaired, nothing else stands a chance.
Please fight the good fight and drive this point home in your org. Good luck.
— Anonymous commenter to The First Year of IE7, November 30, 2007
Do we ironically thank Microsoft for this mess?
In many regards, the evolution of the web has been slow, and we should have been a lot further down the line than we are now.
For example, HTML 5 should perhaps be a lot closer to reality, Accessible AJAX apps should be the norm, not the exception, CSS3 should be widespread, etc.
Finally, one thought: would this have really happened without IE’s problems? One can never know for sure. Were it not for the problems IE caused, could it be that the frustration that led to better awareness of web standards would never have been nurtured? Ironically, do we have to thank Microsoft for making our lives so hard that we now have some ideas of how it could be better?!