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:

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