IE9 To Support CANVAS Tag (plus VIDEO, AUDIO, and SVG)
ie.microsoft.com
ie.microsoft.com
To boot, there will be support for ES5. I'm not up to date on where the other browser-makers are at this point, but could it actually end up that Microsoft will be the first out of the gate with a widely-distributed ES5 implementation?
They have the organization and the discipline to do it, but there's too much in Windows as it exists today to fit on current mobile devices effectively. (I could be wrong about that reason, but I'm sure its bloat doesn't help)
The web is a close to a write once run everywhere environment as there is today. (it's not perfect for sure).
BY doing this Microsoft is able to say "Hey, we are standards compliant, we are the good guys now" and still actually be not standards compliant and prevent inovation on the web. To me this seems like normal Microsoft FUD[1]
[1] http://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt
IE6 and Windows XP are essentially the same age... Just as people need to upgrade their browser, they should be upgrading their OS.
XP was the most reliable operating system from Microsoft, and I really don't like Windows 7. In this, I am not alone. I see absolutely no benefits in getting 7, and I have having to use it at work. I have found 7 to be less reliable, and more annoying to get simple stuff done. It really seems Microsoft keeps moving things around for no reason. The only thing I like about it is the improved task bar, and I can install that on XP (and have done.)
Firefox/Safari/Chrome/Opera still work ok on XP, Microsoft have just decided to leave XP alone.
I'm glad you're able to still get stuff done on XP, but time is short and soon Microsoft will no longer be issuing security updates for XP. In a way, forcing most people to upgrade.
Actually, they probably won’t sell you a copy of XP, but I’m sure they’ll sell you a computer. They actually negotiated deals with OEMs to supply no-crapware versions of their computers for the stores.
IE9 is one, isn't it? Or Firefox with Direct2D.
It would be welcome if they wouldn't play the OS upgrade card with IE 9, though.Unlike something like Direct X, users won't feel the need to upgrade so they can use IE 9. I assume they decided it is too much trouble to make it work on XP, due to IE's OS integration? Other browser manufacturers don't and won't have a problem supporting their browsers on XP.
Web would be a totally different place if they continue improving IE versions with, say, a built-in DB, native push / sockets, enhanced JS api, more standards, more of everything.
(I'm a developer on the MS platform)
Features Available
Support for ES5 specification in IE9 Standards mode, including support for
+ Enhanced Object Model - Accessor properties for JavaScript objects, Object.defineProperty, Object.defineProperties, Object.create, Object.getPrototypeOf, Object.getOwnPropertyDescriptor, Object.getOwnPropertyDescriptor, Object.keys, Object.seal, Object.freeze, Object.isSealed, Object.isFrozen, Object.preventExtensions, Object.isExtensible
+ New Array Methods - indexOf, lastIndexOf, forEach, every, some, map, filter, reduce, reduceRight
+ Other Computational Methods and Functions - String.prototype.trim, Date.prototype.toISOString, Date.parse, Date.now, Array.isArray, Function.prototype.bind
This just made my day
That's a pretty nice improvement for a team that says they're not focused on ACID. And Javascript perf actually appears to have improved. This is going to be some browser battle royale.
There will be no battle because no single browser has enough market share, both in terms of users and developer loyalty, to create a proprietary technology incompatible with the rest. IE's ActiveX crap is a remnant of an era past, the last vestige of the first dotcom. Since then, the developers have been moving towards the center and adopting standards. Not even ardent FOSS-heads had the stomach to release XUL apps into the wild, even for in-house stuff.
Today it's canvas, audio, video, geolocation, storage, etc. tomorrow you can expect some browser accelerated vector/numeric libraries, microphone support, webcam, phone sync, etc. I am not sure what's gonna drive it, but it could either be a portable hardware device, or a game, something that has to do with "having fun" or "friends", but it will push the browser further into desktop territory. The more resources web apps demand, the more browsers "cheat" and speed things up by bundling native hooks to provide that functionality. After blazing fast javascript, my first bet is on GPU accelerated javascript BLAS.
There are simply far too many viable options waiting on standby, and eager to step in, for this to be a clash of the titans. The source trees of your average modern browsers are all identical, with the same people working behind the scenes. From a brief experience, I can tell you that Tamarin and Dalvik teams are stealing glances at each other's scantrons ;-)
Action script is very close to javascript, close enough that it ought to be possible to write a crosscompiler so that you can give standards compliant HTML5 to chrome, safari and the mobile browsers and flash to IE and only editions of firefox y (since firefox stupidly does not include Chromes automatic update system).
While ActionScript is similar to ECMAScript, the standard libraries they work with are very different, and most of the trouble of writing a Flash -> Canvas cross-compiler would be in trying to write an ECMAScript layer that could do what the Flash runtime does in C, with the efficiency of C.
I haven't played around with it too much, but the guy who (made? works on? is in charge of?) jQuery made a Flash=>JS interpreter.
http://paulirish.com/work/gordon/demos/
It's fairly nifty in the demos that I saw, and works on the iphone with no problem.
It is in their own best interest to regain respect. It would be a very effective marketing campaign in the technology/web industries.
I am really happy that MSFT is finally taking IE seriously.
Does that mean that IE9 is planning to support WebM? All I can find is mentions that IE9 can use codecs installed on the users computer but I can't find any commitment to WebM being bundled.
People want video outside of browsers. Should everything that wants to support video have its own built-in copy of every codec? That's bloated.
In addition to bloat, if each thing has its own implementation, there will be subtle (and probably not so subtle) differences in them. It will annoy users if their videos look different depending on whether they are in a browser, or they downloaded the file and are playing it in a media player.
If the codec has user-setable options, the user has to set their preferences in multiple places.
I think it's far more important to ensure that video plays easily and looks consistent across multiple machines, at least when played in the same browser. I can see someone understanding if a video doesn't look the same in Firefox as it does in WMP, but I suspect they'll be pretty annoyed if it works in Firefox on the computer downstairs, but not on the computer upstairs.
Most users don't know what the hell a codec is and don't care. They just want the software to work, and they want it to work the same across multiple computers and platforms. And if bundling the codecs in with the browser makes stuff 'just work,' then that's where the codecs ought to live, bloat be damned. Bits are cheap, goodwill and usability are expensive.
Web video is too important to a user's experience with a browser for browser developers to leave it up to the underlying OS. Bake it in, and it's guaranteed to work. If you let it depend on plugins or underlying media frameworks, then you're just asking for trouble.
That said, some sort of option to let the OS handle video wouldn't be bad, with a fallback to the embedded decoder -- this would let users take advantage of OS features or plugins that are tailored for their hardware (or just bleeding edge), while still ensuring that everyone gets at least basic video support just by virtue of installing the browser.
Put bluntly, video is a core part of the web and has been for some time; it's part of what many users expect a browser to do, and do well. You don't outsource core features if you want them to be done right and consistently.
Web standards would be so much easier if we could just have 2 browsers implement something to make it a standard ;)
What about WebM? If it were me at MS, I'd do exactly what they're doing. Support the codec if its there. If it turns out that this codec looks good with respect to IP (start investigating now, knowing it will take a while) then add support in IE10 or IE11.
There's very little upside to rushing adding this in the box. And they're not blocking its use. They're simply saying, we don't want to ship it right now.
The fact is, bundling MPEG-LA's wares and not Google's is the same thing as supporting MPEG-LA over Google. Microsoft can wave their hands till the cows come home, but merely allowing a user to go through the difficult and technical process of installing a video codec is not "support."
When users go to Google.com, Google automatically installs the video codec on the users machine. The user of course will get the install prompt, but as most users do, they'll click "OK". Done. The codec is now installed.
Since Google is such a popular site, almost everyone will get the codec (or have the chance to get it). And since it is Google distributing it, they take on ownership if there are IP or security issues. And since Google is the one that really wants to use this codec, they'll be motivated to make this happen. That's a win-win.
I just ran few of my canvas demos in IE9 preview and while being pretty fast, they didn't seem to be HW accelerated.
Performance seems to be roughly on the Firefox level, which is less than Chrome and Opera (all current browsers do software rendering AFAIK).
Anyways, great news, web just got richer. Now let's start our prayers for WebGL ...
They have a demo linked on that page where I get 1 fps when I run in it chrome. Their screenshot of IE9 running the demo shows 60 fps. I suppose hardware can make a difference, but thats its a really impressive.
[1]: http://blogs.msdn.com/b/ie/archive/2010/06/23/html5-native-t...
Those of us poor suckers in enterprise can start doing quality work.
Now to build the business case for upgrading legacy apps :\
Now that canvas is going to be supported by all the big names, my biggest nightmare is that it becoming a total flash replacement and all the kids using it to make really inappropriate design decisions. It's also really ripe for abuse in so many ways as you can practically design anything within its domain... a certain Stan Lee quote comes to mind :)
But yes, it's an annoyingly volatile standard-in-progress.
* actually hash lookups are O(inverse ackerman) but that's kind of silly
<video>
* MP4 H.264 playback support, using hardware or software decoding
* Support for WebM software is not included in this release
<audio>
* MP3 and AAC audio support
Somehow, I'm not surprised that Microsoft once again chooses to be different from everybody else. I can encode in Vorbis and Theora/VP8 for Chrome and Firefox, or MP3 and H.264 for IE9, but there's no set of codecs which works on all three major browsers.So, no, the iPhone does not matter.