Thursday, February 17, 2011

Is IE9 a modern browser?




IE9 is definitely better than IE8 and a step in the right direction, but I don't believe it to be a truly modern browser, and let me tell you why.


Microsoft is bragging a lot about HTML5. They are also suggesting that their HTML5 support is exceptionally good compared to other vendors.

   How well does IE9 support HTML5

In this article, Microsoft explains that tests like caniuse and html5tests are not good because they just check for the existence of features, so it's better to use W3C tests.
No. IE9 doesn't support 99% of HTML5 and 100% of CSS3.

Oh look!
I did a nice looking infographic comparing IE9 and Firefox 4 :)
HTMLPNG
Does IE9 support 99% of the HTML5 specification asinsinuated by Microsoft? No, they're actually pretty far from it. The tests Microsoft are referring to are the ones they created during the development of IE9. It's not that surprising that they pass the very tests they used to design and develop the browser - we score pretty well against our own unit-tests as well. The primary use case for these tests, however, is to spot regressions and validate code changes. In other words: the tests ensure that future changes don't break the things you just built. They don't actually test all elements of a specific standard.
Let's be clear here. W3C tests are super useful. Microsoft tests are useful as well (We even use them to make Firefox better). But...
These tests are not here to give you an overview of how well your browser supports web standards. They aren't meant to give well balanced results.

   IE9: More modern, but not really modern.

Microsoft keeps talking about real-world tests. They are right. So let's look at a very real world test: caniuse.com, the reference for web developers.
Let's see the results.


And what about html5test.com (beta)?
The reality is that IE9 is 2 years late. Microsoft is glad to come out with the


HERE ARE THE FACTS:

    Let's be brutally pragmatic.

Not convinced yet? Not sure about how representative these tests are? I understand that all these tests are confusing.
You don't have to believe me, but here are some facts you can't ignore.
Let me just list some of the stuff IE9 doesn't support:
  • Application Cache (offline)
  • Web Workers (threads in JavaScript)
  • HTML5 Forms (validation mechanism, CSS3 selectors)
  • JavaScript Strict Mode
  • ForeignObject (embed external content in SVG)
  • SMIL Animations (SVG animations)
  • File API
  • WebGL (3D)
  • CSS3 Transitions (for animations)
  • CSS3 Text Shadow
  • CSS3 Gradients
  • CSS3 Border Image
  • CSS3 Flex box model
  • ClassList APIs
  • FormData
  • HTML5 History API
  • Drag'n Drop from Desktop
  • ...
Let me list stuff that IE9 can do others don't:
  • text-overflow doesn't work in Firefox 4.
  • Calc is not supported in Chrome 9.
So that's why I don't consider IE9 a Modern Browser.

No comments:

Post a Comment