Microsoft released IE10 with Windows 8 at the end of October, and a couple weeks ago they released a beta for Windows 7.
To be clear: IE10 is a huge step forward. They added support for a ton of HTML5 features which were missing in IE9: Web Sockets, Web Workers, requestAnimationFrame, Page Visibility API, offline apps, IndexedDB, form validation, font features, CSS transitions and animations, 3D transforms, text-shadow, gradients, and a bunch of other stuff.
But of course it wouldn’t be IE if there still weren’t a few big disappointments. There’s more than this, but these are the ones that make me sad.
IE10 won’t run on Windows XP or Vista. Completely unacceptable, but I’m cool with it since those users might be compelled to switch to Chrome or Firefox, which seem to have had no problems implementing on the older platforms.
Microsoft’s idea for Pointer Events is pretty compelling, but I’m not sure why they didn’t also include support for the Touch Events spec, which became a W3C candidate recommendation almost a year ago, and has been implemented for quite some time in iOS, Android, Blackberry, and Firefox. I like Microsoft’s proposal, but the lack of support for the existing standard just reeks of the stereotypical Microsoft attitude towards web standards. Instead of participating in the process for touch devices – which has been going on for many years – they show up with, “We’ve got a better way to do this, so we’re just going to implement our version instead.”
GetUserMedia / WebRTC
Apparently Microsoft has been working on an implementation of getUserMedia for a little while, but it’s nowhere to be seen yet. Oh, and guess what: and they just proposed their own standard for real-time communication, CU-RTC-WEB. Sigh.
Full Screen API
Been in Chrome for a year. Just saying.
Web Audio API
Still stuck with the <audio> tag for now. Going to be in Firefox next year (see, at least there’s a plan).
CSS Filter Effects
Come on IE, you’ve got to do some of this cool stuff if you want to make up for lost ground with developers. We’re still bitter about IE6 (and 7, and 8…).
Okay, so IE10 does support 3D Transforms – but it doesn’t support preserve-3d (which lets children be positioned in the same 3D space as their parent), which makes it useless for all but the simplest 3D transforms. Microsoft suggests that you simply "apply the parent element’s transform to each of the child elements in addition to the child element’s normal transform." Which is insane.
…whatever hardening they applied to the low-level D3D API wrapped by Silverlight 3D can be applied to a Microsoft WebGL implementation as well.
The funny part is that Microsoft really does want to do 3D stuff – check out their Aston Martin demo on IE Test Drive. It’s a 3D car that you can rotate and view from every angle. How did they implement it? Images. Lots of images. The page weighs in at 20MB because it has 102 images at 7700×360 each. Nice.