Microsoft’s Internet Explorer Slows Down Web Development

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:

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

Alex Russell, a prominent web developer and creator of the popular Dojo JavaScript toolkit highlights the pain caused:

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

“Economic Wastage”

Almost 50% of the time is wasted sorting out IE!

Okay, so the above pie chart (from Marco van Hylckama Vlieg, a web developer working for Yahoo! Europe) is a bit of fun, but reveals underlying frustrations (and while maybe at the time the image was created some CSS layouts were frustrating enough to contemplate table-layout, I think for the past year or two that has not been necessary! Also, if any one knows what Firefox JavaScript space issue the image is referring to, please drop a comment!)

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.
  • ECMAScript 3 and beyond — although this post is about a wider debate on ECMAScript, the comments reveal frustration at JScript (Microsoft’s implementation of ECMAScript, which we otherwise typically call JavaScript) and its numerous problems

The JavaScript 2/ECMAScript 4 debate is interesting in that another influential player, Yahoo!, has joined Microsoft saying they don’t like the proposed changes (proposed/supported by Mozilla/Adobe/Apple). At a recent conference at @media AJAX, Douglas Crockford said that amongst other things it was IE6 that was holding back real JavaScript improvements (because while it remains a prevalent browser, any changes introduced to JavaScript either won’t be backward compatible enough, or won’t help address fundamental security problems which IE6 in particular is vulnerable to. This is a big enough issue itself, which I won’t go into here.)

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.

Aggressively supporting efforts like HTML 5, maybe JavaScript 2, etc, will be a chance to start afresh and provide decent implementation.

(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)
  • Provide far better W3C DOM support to make JavaScript development (and execution) more efficient

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?!

Image credits

25 thoughts on “Microsoft’s Internet Explorer Slows Down Web Development

  1. Pingback: kahvipapu | Internet Explorer goodies

  2. It’s good that you’re asking questions to the many complaints, and looking at the case at both sides.

    Good images, and many sources & links. Added to favorites. 🙂

  3. Pingback: Wanted: An IE Work Around Cheat Sheet

  4. [Edited due to extensive swearing, but otherwise was on topic!]

  5. @wat: Wow, that really unnerved you, huh!

    Two points, if it is even worth commenting:
    “Learn how to use tables” — I think that’s the point we often make: we learn to use tables for tabular data, CSS for laying out stuff. We’ve all learned the various table tricks and are fed up of them.

    “Does’t work for the most popular browser” — actually a lot of CSS does work for IE (whether it is the most *popular* is hard to know because it is the mostly widely installed by default, not necessarily by choice 🙂 )

  6. Pingback: Microsoft Strikes Back « Rob Dixon III

  7. I could not possible agree more with every single detail that has been said in this article. I’m a webdeveloper, focusing on modern technologies and interactive design. Currently, I’m working on an online OS in which I’ve spent countless days and nights trying to get the system working in IE.

    In my opinion, Microsoft can be sued for billions by almost every designing company all over the globe because of the countless days (years) spent (wasted) in making their products work in IE. Deadlines cannot be made because of bugs popping up in IE (and IE only) which we need to fix, which eventually results in angry clients who wait for their product (our work) and my possibly even result in losing clients.

    We all know how many CSS bugs Internet Explorer has, but also think about the lack of JavaScript support (even in IE8!!). You’ll need to write tremendously much data in order to create workarounds for IE which result in more data needing to be sent to the clients (browsers). If people need to pay per byte on their internet connection, think of how many money there has been *wasted* on data transmitted only for workarounds on IE. Can’t we hold Microsoft responsible for this?

    In my opinion, Microsoft should only bother taking care of Windows (as this is their ONLY decent working product) and perhaps Office and let the browser market in the hands of the companies that actually care for web standards.

    So, to sum it up:
    – Microsoft made customers spent millions of dollars on data transfer because of all the workarounds in CSS/JS.
    – Microsoft still fails to see that their render engine doesn’t work anymore in modern webdesign.
    – Microsoft is stubborn; Why won’t they simply use the webkit render engine? It’s open-source for the love of God!
    – Microsoft introduced web standards of (at least 5 years old) in IE9 (CSS2/3 methods).
    – Microsoft fails to use multi-threading in IE ( for example, your browser freezes while it’s trying to load a page ).
    – Microsoft should be held responsible for all the working hours us webdevelopers needed to stick in creating workarounds for products.

    Internet Explorer should be banned from this world and needs to be considered as an illegal products as it slows down (*read: totally freezes) the technology on the web.

  8. I prefer Firefox and use StarOffice. I,E./Yahoo hates the duo; am an oldie new to P.C. and to site bldg. Used WP with whom no prob on XP. I.E. intruded the duration insisting I use them.Stayed with Firefox, of course. With everyday running before this, I found Windows intrusions too unbearable to work with and using Kellys A-Z of XP, reduced to zero most of the shit, leaving only email. They went to town on me and took out every Firefox icon and two days to sort it out. Am dimmer than I realised after an “expert” talked me into Windows 7. and am constantly fighting and figuring how to retrieve doco. files and circumventing their tricks to get H.P. printer working again which they love to target. I savvy defaults etc. but they still drop theirs in and make it default. Would life improve if I explored other systems? Thanks for hearing me out. Les.( Queensland)

  9. This is a P.S. to an earlier incomplete message. I do apoligise for omitting the purpose of my big whinge. It is the slowness factor, the very core of your article. I age!

    The arseholes have made WordPress dead slow and almost inoperable. It looks like DNS. Have tried to buy a domain, but money exchanges make that difficult. Seems too simple in any case. Good to ‘talk’ with a fellow ie hater. In my locality, the mention of Firefox sends the ‘service’ fraternity into a spin. The All the best. Les Johns.

  10. Pingback: html press » HTML CAN NOT DO THAT!!!1!!

  11. Pingback: HTML CAN NOT DO THAT!!!1!! | abc HTML

  12. Pingback: Microsoft’s Soviet Security System (MSSS) | Infolusion

  13. Imagine what would happen, Internet Explorer should be banned from this world and needs to be considered as an illegal products as it slows down the technology on the web. thanks!

  14. It seems that a lot of people agree with the problems you have mentioned. However I am yet to experience these problems yet. Thanks for sharing this post!

  15. Pingback: HTML can not do that! 1! | Programming

  16. Pingback: HTML CAN NOT DO THAT!!!1!! | New Design Websites

  17. Pingback: my initial piece of hand-written HTML in 1997! | | HTML Starter GuideHTML Starter Guide

  18. Pingback: HTML CAN NOT DO THAT!!!1!! |

  19. Pingback: HTML CAN NOT DO THAT!!!1!! | AwFun

  20. Pingback: Cool Browsers images

  21. Pingback: Nice Funny Photos photos | phunnyfotos

  22. Pingback: Cool Funny Cat Photos With Captions images | Funny Cats

  23. Pingback: HTML CAN NOT DO THAT!!!1!! ←

Comments are closed.