The Internet Isn’t Being Held Hostage

Writing

I was reading an excellent blog post over on Scott Allen’s Ode To Code entitled "Of Web Browsers and Humanity". He goal is again for everyone to abandon IE6 and move forward to more standards compliant browsers. Web developers/designers are sick and tired of writing hacky javascript and css, and this needs to change! His point is that the big players really need to start the push, since they have the power to affect users’ actions. While I agree with this, and I think that moving from IE6 is an excellent and laudable goal, the fact that we are still having this conversation in 2010 is a freaking joke. IE6 came out in 2001 people. 2001. Almost a decade ago.

And even worse than the fact that IE6 is still pretty widely used, is knowing that if we do manage to get these people to upgrade their browsers, then what do you think people are going to move to? Firefox? Chrome? Safari? Ha, that last one made me chuckle a bit… Some will move to other browsers. Most won’t. The majority will move to IE7 or IE8. And you know what, the internet will suffer almost as much under these browsers as it did under IE6, but for completely different reasons. What reasons? Well, what do you see here:

If you were using a browser which was truly modern, you would see cool things here.

This is a modified version of the animation from the Mozilla canvas tutorial.

If you are on IE, then you are probably just seeing a bit of text displayed. That is because IE does not support the "canvas" tag. Something which Firefox has supported since version 1.5 in 2005, Chrome has had since it’s first release, and Safari has had since version 2 in 2005. Opera even added support for it in June 2006. When will IE get support for canvas? I don’t know, when does IE9 come out?

And how about this? If you’re looking at this in Safari, Opera, Firefox, or Chrome, then you are seeing nice rounded corners which are created using only CSS. Guess what you’ll see in IE8… nothing. A square box.

So what is the big deal? All IE is missing the canvas tag, and some (or most) CSS3 support. Well, it is easier to show rather than tell… let’s take a little stroll down memory lane, shall we?

Looking Back

Here is a list of the five major browsers and their rough release dates of each version. All of this data was pulled down from each of the respective browser’s Wikipedia pages.

Google Chrome

Version: 1.0 Released: December 2008
Version: 2.0 Released: May 2009
Version: 3.0 Released: October 2009
Version: 4.0 beta Released: November 2009

Mozilla Firefox

Version: 1.0 Released: November 2004
Version: 1.5 Released: November 2005
Version: 2.0 Released: October 2006
Version: 3.0 Released: June 2008
Version: 3.5 Released: June 2009

Opera

Version: 1.0 Released: April 1995
Version: 2.0 Released: April 1996
Version: 3.0 Released: December 1997
Version: 4.0 Released: June 2000
Version: 5.0 Released: December 2000
Version: 6.0 Released: December 2001
Version: 7.0 Released: January 2003
Version: 8.0 Released: April 2005
Version: 9.0 Released: June 2006
Version: 10.0 Released: September 2009

Apple Safari

Version: 1 Released: June 2003
Version: 2 Released: April 2005
Version: 3 Released: June 2007
Version: 4 Released: June 2009

Internet Explorer

Version: 1 Released: August 1995
Version: 2 Released: November 1995
Version: 3 Released: August 1996
Version: 4 Released: September 1997
Version: 5 Released: March 1998
Version: 6 Released: August 2001
Version: 7 Released: October 2006
Version: 8 Released: March 2009
Version: 9 Released: ???

So Chrome has had three releases in under 2 years, with a fourth on the way. Firefox had 5 releases in 6 years. Opera had 10 releases in 14 years. Safari had 4 releases in 6 years. Microsoft had 8 releases in 14 years. But what is important to note is that 5 of those releases were in the first 3 years. 5 releases in 3 years. Now that sounds like a hungry competitor. But after these quick releases, and IE’s quick rise to the top, something happened. Microsoft stopped innovating in the browser.

So basically, since March of 1998 when IE5 was released, Microsoft has released only 3 versions of IE. 3 releases in 11 years, with a 5 year gap between IE6 and IE7. 5 years. That is an absolute eternity. If Microsoft had a client side RIA technology at that point, we might have witnessed the death of the browser. Some people say that we did, you ever wonder why Firefox was originally called Phoenix? (They only changed it due to copyright issues with the BIOS maker)

To be fair, IE7 made some excellent strides from IE6, but was still so far behind Firefox 2.0 in terms of web standards and features that it was ridiculous. Two and a half years later IE8 was released and while it was still better in standards compatibility, they still hadn’t implemented much of the CSS 3 standard and some parts of HTML 5 that many other browsers had already implemented. Microsoft is currently working on IE9, but if we project out two and a half years from IE8’s release, then we are looking at a release somewhere around late 2011. What do you think that Firefox or Chrome will have implemented in late 2011?

When It Comes To Innovation, "When" Is Just As Important As "What".

So what is the problem? Microsoft seems to be pumping out versions of Silverlight at about the same pace that Google is releasing Chrome. Why can’t they do this with Internet Explorer? Some people have proposed nefarious plots about Microsoft dragging their feet in order to hold back the internet, but alas, I am a firm believer in Hanlon’s razor. You see, the problem isn’t that Microsoft still believes that they can single handedly hold back the internet. I would be willing to be that it is a much more boring explanation in real life, and that explanation is manifold:

  1. They are shackled by enough technical debt to fill the grand canyon. IE is 15 years old, and the codebase was probably hacked together by hundreds of developers in the late 90’s. Since the newer versions of IE share a ton of the same rendering bugs and other issues that earlier versions of IE had, it seems that they have not rewritten it. This technical debt is probably forcing them to invest way more resources than they want to, and while they are making strides, they aren’t seeing the rapid innovation that some of the other browsers are seeing. Do you honestly think that they haven’t developed features like an easy plug-in model for IE just because they don’t want to?
  2. They are still releasing Internet Explorer like a boxed product. Now I agree that they might not have the drive to implement new features and standards that the other browser makers do, but Microsoft is about pleasing customers, and if customers demand it, they will build it. And part of this might lead back to their technical debt. Maybe the process of modifying, build, packaging, and releasing a copy of IE is just so high, that the resources required for them to release more often is simply too much for them to shoulder. One thing I can tell you though, is if they are releasing on two and a half year timelines, they are probably designing most of this stuff up front. And guess what, they don’t know what customers want two and a half years from now!
  3. IE is still tied to operating systems that haven’t been end-of-lifed. You wonder why Microsoft still supports IE6? It isn’t because they love torturing developers and designers, it is because IE6 shipped with Windows XP. Windows XP is still in extended support. Microsoft works with their customers, and many corporate customers built applications around IE6 and they need support for it. Windows XP extended support ends in 2014, but let’s hope that IE6 is gone by then. As for why doesn’t Microsoft just force IE6 to be upgraded through Windows Update… well, Microsoft is damned if they do and damned if they don’t at this point. If Microsoft forced a rollout of IE6 you would have half the crowd screaming about losing control and the other half cheering loudly. I honestly believe that people who want a better browser experience, or who know what a browser is, have already upgraded.

So basically, I don’t care about what features Microsoft commits to. They could tell me that IE9 is going to cook me breakfast and clean up my house, I don’t really care. What I want Microsoft to commit to is a shorter release schedule for IE. You wonder why IE8 came out this year and didn’t have screaming fast javascript engines like Firefox and Chrome? It was because that wasn’t in the plan 2 years ago when they started designing IE8. If they don’t release faster, then by the time they release it, no one will care anymore. The features won’t be useful, or will already be implemented in a dozen other browsers.

Google felt so held back by IE that they even released a tool called Chrome Frame (currently in testing). What is that? It is a plugin for IE that renders the current page with Chrome. It allows IE users to get all of the benefits of Chrome (like a very very fast javascript engine) without having to leave Internet Explorer. Basically, Google said that if Microsoft wasn’t going to update IE rapidly enough, then they would. Microsoft’s response? They called Chrome Frame a security risk. It seems to me that if IE was keeping up, then projects like Chrome Frame would really have no reason to even exist.

Summary

As you might know, I’m a Microsoft guy, not a Microsoft hater… but I am also not a blind follower. And I am certainly not an Internet Explorer fan. I believe that Microsoft knows they have problems with IE, and I believe that they are committed to fixing most of them. But instead of promising support for new features in versions of IE that are years away, I think that Microsoft needs to make a firm commitment to start releasing a new version of IE every year and keep iterating until they have a competitive browser again that isn’t holding back the internet. Then, and only then, will IE let the web move forward. So you see, the Internet isn’t being held hostage, it is merely lumbering along at the pace of it’s largest player.

More Insights

View All