up

Zoompf's Web Performance Blog

Note: Archived Content

This is the archived version of the Zoompf blog. Since our acquisition by Rigor, all our new research and posts on web performance are being published on The Rigor Blog

Internet Explorer is the Hare. And That’s Bad

 Billy Hoffman on September 19, 2012. Category: random

Internet Explorer 10 is nearly upon us. This is the first update to IE in 19 months. This is a drastically different approach to updating browsers than, say, Google Chrome. I thought it would be interesting to compare the different strategies Microsoft and Google use to deliver web browser innovation. To do that, we need to discuss how often browsers get updated, and what new innovations appear with a new version.

Features and Frequency

Microsoft regularly updates Internet Explorer for security issues through Windows Update. This typically occurs on the first Tuesday of any month. However Microsoft does not improve the quality or feature set of the browser through Windows Update. That only occurs with new versions of IE. In other words, the only time IE gets better standards compliance, adds support for new standards, or incorporates new features, are with completely new version of IE.

How often does that happen? Not often at all. Since 2008, Internet explorer has only been updated twice. IE8 was released in March 2009. IE9 was released in March of 2011. IE10 won’t appear until next month.

Now lets consider Google’s Chrome. Chrome did not exist even until September 2008, and the 1.0 version was not release until December of 2008. Yet, in less than 4 years, Chrome has released 21 major versions of its browser. Just like IE, Chrome only adds new features with each major release.

To give Microsoft credit, when they add a new version of IE, it contains both a large number of new features and existing features receive significant improvement. For example, compliance with the Acid3 test went from 20/100 with IE8 to 100/100 with IE9. So, new versions of IE are big leaps forward, but don’t happen very often.

Chrome releases are much smaller in scope. Each major version will often only have one or two new features added. Perhaps just a newer version of the WebKit layout engine is added supporting a new CSS3 extension. Maybe the JIT compiler in V8 is slightly enchanced.

Smaller, incremental improvements allows Google to release new versions of Chrome very quickly. There were 29 months between the release of IE7 and IE8. There were 24 months between IE8 and IE9. IE10 will appear 19 months after IE9. Now compare that to Chrome. Chrome is averaging a new release every 2.15 months. The longest amount of time between releases has been 5 months, and that only occured during the Chrome 1-3 days. In fact, since Chrome 6, Google has never waited longer than 3 months to a release a new version of Chrome.

Here is a startling fact: the fastest development cycle ever for Internet Explorer has been IE10, which will have been built and published in 19 months. During that time, Chrome has published 11 new versions.

Microsoft’s approach is “seldom but awesome” releases. Google’s approach is “often and steady advances.” These two approaches reminds me quite a bit of the fable The Tortoise and the Hare.

The Tortoise and the Hare

In the fable, the fast running hare challenges the slow and steady tortoise to a race. The hare runs far ahead of the tortoise, and then stops running for a variety of reasons (depending on the telling of the story). He takes a nap. He eats a sandwich. Maybe he is just really tired and needs to catch his breath. Regardless, the tortoise catches up and passes him. The hare sees the tortoise far ahead, and has to run fast to catch him. Eventually the tortoise is so far ahead the hare cannot catch up and he loses the race.

In the browser race Internet Explorer is the hare and Chrome is the tortoise. The hare/IE sprints, and then rests for a long time, and then sprints again. Each IE release is a big expenditure of energy and has a ton of impressive features. But then Microsoft rests and 19 to 29 months pass before releasing the next versions of IE. That’s 19 to 29 months with no improvement to their browser beyond security patches.

In contrast Chrome is the tortoise. Each release is not very large. These small improvements are steady and continuous. Microsoft and Google are using different release schedule strategies. Who will win the browser race will ultimately be decided by which strategy is better.

In the fable the hare loses, so it’s tempting to say that Microsoft will lose but is that valid? After all, with each release of IE, Microsoft shows metrics which demonstrate how various aspects of IE are better than current versions of the other browsers. Faster JavaScript execution, or rendering time, or download speeds. Let’s assume a new version of Internet Explorer is in fact that the “best” or “most advanced” browser in the world.

Are there any problems with IE’s “seldom but awesome” release schedule? Yes. I can see four major problems for Microsoft with this approach.

You Can’t Support What Doesn’t Exist

The first issue is that IE can only contain technologies, features, concepts, or ideas that exist at the time IE is created. This sounds silly and obvious, but its true and very painful to Microsoft. Consider what happens if had Microsoft released IE9, and then the next day a new JavaScript API is proposed. IE simply will not have that API until IE10 at the earliest, which is 19 months in the future from IE9’s release. In other words, there is 19 months where IE cannot possibly support a potentially amazing and distruptive deature. Has this happened before?

Consider <VIDEO> tags. Chrome has supported <VIDEO> from the very first version in September 2008. IE8 was scheduled for release in March 2009, and, even assuming the IE team thought the <VIDEO> tag was valuable, they couldn’t add the feature in time. The result was that IE did not support <VIDEO> tags until until IE9, released in March 2011. As a consequence of IE’s release schedule, there were 26 months where Chrome supported a feature that IE didn’t support.

Consider the Web Timings API. Though the specification had been discussed since 2006, Chrome was the first browser to support it starting with version 6, released on September 2010. The IE team should be praised because they added support in the very next version of IE. The problem was that version was IE9, which was not released for another 6 months. Again, as a consequence of IE’s release schedule, IE lagged Chrome for 6 months for just one feature.

There are countless examples of this lag. <CANVAS>. CSS3 transforms. Animations. Rounded corners. HTML5 elements. IE’s “seldom and awesome” release schedule creates multi year periods of stagnation where it cannot adopt new or improved features.

The Tortoise Keeps Walking

The second problem for Microsoft is that Chrome continues to advance during the lulls between versions of IE. Let’s assume that new versions of IE are truly the “best” or “most advanced” browsers when they are released (something I would argue is false, but let’s just go with it). Let’s say IE is 125% better than any other browser, and has multiple features that on other browser has. How quickly will Chrome close any feature gap? 3 months? 6 months? How quickly can Chrome cover the 80% of IE’s new functionality that people actually care about? The tortoise walks on. How long does Microsoft actually stay ahead of the Tortoise? How quickly was IE9 obsoleted by Chrome? Certainly this is subjective, but I know what may answer is. What’s yours?

Developers Embrace the New and Abandon the Stagnant

Perhaps the biggest problem for Microsoft is developer abandonment.

Web developers and designers want to create the best possible experience for their visitors. That almost always means embracing and leveraging the latest technologies. IE’s release schedule means that there are large period of stagnation where it does not appeal to designers and developers. Initially stagnant IE caused the development of polyfills to try and provide crude backwards support for new technologies on IE. While polyfills helps developers they are a huge problem for Microsoft and should scare the crap out of the IE team: The entire existence of polyfills, by definition, means your browser is out-of-date and fails to provide the features or effects developers want to use. Developers and designers crave something so badly they are essentially doing the IE team’s job for them because the published versions of IE are no longer state-of-the-art.

Polyfills are the smoke you see before the fire. Polyfills keeps you in the game, but it shows developers are using features you don’t traditionally support and developers are trying to drag you into the future using polyfills as a crutch. But eventually the scales tip and the developers and designers stop writing to support stagnated browsers. They don’t even try to do polyfills anymore. One high profile example of this was when Yahoo decided to only draw rounded corners on its home page for modern browsers. People just stop worrying about making the sites look good for old browsers. At that point, you’ve lost “mindshare” or “relevancy” or “respect” or whatever you want to call it. People stop caring about you and your product. They stop recommending it to their friends. And then you are screwed.

Kicking IE in the Mobile

Microsoft is in real danger around mobile web development. WebKit dominates mobile browsers. IE’s marketshare for phones and tablets ranges for non-existent to single digits. All these developers writing mobile site are using advanced WebKit features that don’t exist in IE. What happens when they try to write a desktop website? They use all the same cool WebKit-only features they used on the mobile site. Even if IE adds amazing new innovative features, mobile website will not take advantage of them, so their importance decreases. The lack of IE in mobile further creates, not so much abandonment, but apathy. People just stop caring about IE. Even if Microsoft somehow fixes this problem in the desktop world, they can’t fix it on the mobile world, because they cannot deploy IE on all the non-Windows systems which dominate the phone and tablet space.

So who wins?

Let look at the browser share from January 2009 (just before the release of IE8) until September 2012 (just before the release of IE10).

Internet Explorer usage has dropped 50%. In less than 4 years. To combat the innovation of other browsers, Microsoft has released just 2 versions. Both IE8 and IE9 were herald as the “best” or “fastest” or “most innovative” web browser in the world when they were released. However IE usage still declined every month, even during the months IE8 and IE9 were introduced. In fact, IE usage has increased only 2 months in the last 4 years. The “seldom but awesome” release schedule strategy has not been successful.

I firmly believe that Google Chrome’s seamless automatic updating feature is its most powerful feature. Coupled with Google’s “small and steady” release schedule, this feature provides users and developers with a highly advanced and up-to-date web platform. Without drastic changes, Internet Explorer will continue to become irrelevant to the web community, and ultimate, to users.

If you are interested browser innovations you would love Zoompf. Zoompf tests yours web application for nearly 400 performance issues. You can get a free performance scan of you website now and take a look at our Zoompf WPO product at Zoompf.com today!

Comments

Have some thoughts, a comment, or some feedback? Talk to us on Twitter @zoompf or use our contact us form.