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:
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.
Loved the article? Hated it? Didn’t even read it?
We’d love to hear from you.
Not to mention that IE8, a relatively new browser, only implements JavaScript 1.5, a standard from 2000, where the other 3 important browsers support much better versions of the language (at least version 1.7, from 2006).
That completes IE’s loosing trifecta of web standards.
@Sergio That is an excellent point, and one that I completely missed. Thanks!
Don’t forget that many rendering bugs in IE were probably kept on purpose. Microsoft likes to maintain backwards compatibility and "supporting" old rendering bugs may have been a requirement.
I also know that IE was extremely forgiving about incorrect HTML early on. There are a lot of sites that would not render correctly if IE was strict about the HTML spec.
Still, you’re 100% spot on and I can’t wait until IE6 dies out for good.
This was a good read, however, I feel like Chrome going from version 1 to version 4 beta in an 11-month span is a bit extreme. What ever happened to point releases? But I digress, their version numbers don’t mean as much to me as the sheer fact that I now need to test my sites on these 4 major versions. Sure, the odds are minimal that something will break between them, but relying on my assumptions for that testing just opens the door to get me in trouble somewhere down the road.
@Matt The speed and ease with which all other majors browsers update leaves very few users on old versions. Saying that updating a browser is bad because now you have to test all of the old versions is a fallacy.
On my site, which may not be relevant to the wider web, greater than 97% of Firefox users are on 3 and up. 98% of Google Chrome users are on 3 or 4 (beta). And the same is true for Safari. IE is the ONLY browser with significant share among older versions.
On top of that, being that they are standards compliant, you are unlikely to get significant rendering issues between them.
You don’t have to test for old versions of Chrome because it automatically updates itself. It would take more effort for a user to run an old version than the latest one.
Sadly, it’s never as simple why a browser supports a feature or not. Measuring CSS3 support is misleading – there isn’t a CSS3 standard, only draft. CANVAS isn’t a standard tag, just a proposed tag to HTML5, anther draft. CANVAS is really a tag created by Apple as a proprietary answer to the SVG format, and patent questions involved. Only in mid 2008 did Apple agree to allow royalty free use of the tag.
The other thing is Microsoft bet on XHTML being the way forward, HTML5 pretty much died until Google go involved with Chrome. Google support of HTML5 does feel like an "embrace and extend" strategy for getting adoption over IE with Chrome – google has some key apps and would benefit greatly if they "worked better" in Chrome than IE.
Still, I fault neither Google nor Microsoft for the mess that has continued for over a decade. The timeline we should be looking at is the releases of standards by those tasked with creating them. HTML5 has the mess of WHATWG vs W3C and been around in some form since 2004, longer if you count Forms – the draft that died and zombie limped into HTML5. CSS3 started in 1998 and is still in draft stages. ECMAScript 3 released in 1999 and 4 was abandoned after a great deal of bickering killed any progress it made. I think there is a 5, but ECMAScript itself is a bastard of process because JavaScript had messy legal and trademark hooks with Netscape.
Of course, back to CANVAS, it does directly compete with SilverLight so I’m sure delaying it a few years in IE has been discussed. Adobe Flash would be happy to see this delay too I’d bet.
I’d rather have something like C#/Silverlight than Javascript/Canvas.
@Michael I think your argument is entirely backwards. All of what you are saying is factually accurate, but the reason why CSS3 and XHTML stagnated for so long was because you can’t write standards in a vacuum. Browsers have to implement this stuff, then lessons are learned, ideas are copied, and then the stuff becomes a standard. Not the other way around, which is what they were trying to do.
If the browser makers are going to sit around waiting for standards before they do anything, then we would still be in the same position now as we have been for the last 8 years. Are you saying that it is bad that all of the other major browsers are implementing this stuff, merely because the standard isn’t "finished" yet?
The whole point of my post is that IE needs to be released and moved faster, so that innovation can occur. I’m not trying to argue over whether the standards process stagnated or not. But when you have a single browser that stands apart from the rest in terms of support for many modern html/css/javascript features… well, I’m not entirely sure that pointing at the W3C is going to help that at all.
As a person who has moved from IE to Chrome, I agree with most of what you say, but it may be useful to compare apples to apples. How much time did it take for the first 4 releases of each browser to be released? And that is not counting Chrome, because they had the luxury to plan what they wanted to do for the first few releases.
The problem that Microsoft has with IE is that IE is used in large installations in corporate environments. And they have to worry about backward compatibility in a way that other browsers do not. And backward compatibility includes maintaining some functionality that are technically bugs, but if fixed, could cause chaos. Check Raymond Chen for more of this backward compatibility stuff.
Given Microsoft’s ties to the corporate world, I don’t see them speeding up anytime soon. The best way for them is to launch a separate browser targeted towards non-corporate customers that can be a generation or two ahead of Internet Explorer. That could take on the competition better while allowing IE to evolve at the careful speed it needs to.
So you know, on Opera 10.10 your blue box doesn’t have round corners.
@Liam You sure about that? 🙂
I agree completely. I was fixing up a template for a slightly old PHP shop, and the guy went nuts on me, because it didn’t work in internet explorer 6. After an hour of trying to hack a solution together, I just scrapped the css and used a table >.>
Another story, I was went to my dad’s aunt’s house and I hadn’t been there in time. I notice on her computer she has internet explorer open (7 I believe). I ask her about it, and she says she doesn’t like it. So I installed firefox and she immediately thanked me after a minute of surfing. I, myself am a bit of a chrome fan, but I didn’t want to push it on her 😛
Sergio,
IE8 supports the latest approved spec of ECMAScript(ECMA-262 ed. 3) + the JSON RFC and, I believe, the ECMA Compact spec ( ECMA-367? ). Sadly the cool stuff in JavaScript 1.5 – 1.8, generators, iterators, array comprehension, and the ever so awesome "let" statement isn’t defined in an ECMA spec. This is how MS gets away with not implementing those features and still gets to claim that they, rightly, implement the standard.
@Krish Actually, I think it is a mistake to blame the need to appease the corporate entities. You hint on a possible solution when you say they should launch a separate browser for non-corporate customers. IE 7 and 8 [b]could have been those browsers.[/b] If Microsoft had built IE 7 and 8 with an eye for improving the featureset and overall usability, we would be in the same exact state, except with better options from Microsoft. Corporations that care about old apps would [b]still[/b] be using IE 6, but everyone else would be able to move forward without the additional (and typical) Microsoft hindrance.
It doesn’t really matter to me, though, because I have been off Microsoft almost completely for over 2 years now (and loving it). In my projects for fun, I only write for Firefox and Chrome, IE users be damned.
I gotta say, I was really impressed with Chrome when I finally got to try it (it was only recently beta released for Linux). It immediately became my default browser that I use 99% of the time. They have come in and added really subtle features that give me that happy feeling I got when I first tried Mozilla/Firefox… not to mention the overall experience being awesome. I’m most intrigued with the choice of CSS/JavaScript/HTML as the tools for extending the browser itself (though I haven’t played with writing a plugin yet).
Who needs standards anyway?
IE9 has DirectX D2D speed-up!
Now that’s what i call priority! 😀
First, Microsoft should detach IE from operating system. It should allow to have any number of any versions of IE installed in any folders. Second, IE should check and auto install updates itself, like all other browsers, without involving Windows Update.
Without this we will blame IE9 fifteen years later as we will blame IE8 sticked with Windows 7 ten years later, as we blame IE6 sticked with Windows XP now.
Great post!
By the way. I live in Sweden and work as a web developer. The feeling I have, at least for swedish customers, is that IE 6 is becoming less and less important for them. If the site works and doesn’t look too awful in IE 6 it’s ok.
The last project I worked on used transparent png-images and child selectors! It feels like I’m in heaven! My dreams are finally coming true.
Just a quick point …
your list of Browsers and releases … you neglect to cover the various versions/updates for IE that come through Windows updates.
The different SP packs often "upgrade" the browser, as well as the Hotfix and Security Updates.
If the Specs are to be held to, then the rendering engines should be provided by those creating the Specs.
At the end of the day – some of the ideas put forth by these people are ludicrous/short-sighted.
(Seriously – how could they Not realise people would want "columns" in their designs???)
They can complain as much as they like – but if they are not going to put their money where their mouths are, step up, and show what a "proper browser" is going to do with the specs – they should shut up.
Furhter more – it’s not like it’s only IE that has bugs, is it.
Opera has a few accessibility screwups of it’s own.
Various versions of firefox ended up with JS memory holes you could park a bus in.
And they all have their own little "quirks" with different CSS properties, Chrome had some seriously stupid CSS issues at the start (ones that should not ever have occured!).
.
Now – with all that in mind …
IE is still a complete and utter Pile!
It has more bugs in 1 version than the other Browsers do combined.
It has so many security holes you could strain spaghetti with it.
But – you cannot force designers to stop designing for it, because they have to explain to their clients why the clients may miss out on 40%+ of the net business!
So – if you are to campiang – don’t campaign agains the the wrong thing.
IE is simply a figure head for what is wrong – and that is the complete lack of an engine designed by those giving out the specs.
Get them to put up.
At the end of the day – if the ones providing the specs produce a browser that is inconsistent …
😉