Hacker News new | past | comments | ask | show | jobs | submit login
IE9 To Support CANVAS Tag (plus VIDEO, AUDIO, and SVG) (microsoft.com)
205 points by petercooper on June 23, 2010 | hide | past | favorite | 94 comments



Wow, this is a tremendous piece of news. Not only is Canvas supported, but a huge list of other impressive standards-related stuff as well.

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?


It would be great if Microsoft would start being embarrassed about their current browser offering and develop some ambition to make a great browser. It looks like they're trying.


I think they've gone from worrying about the web being a platform on top of Windows which commoditizes it to being worried instead that Windows won't even be a common commodity underneath unless they get their act together.


Or that everyone will be using competing browsers, at which point they have less tying them to Windows. It also doesn't hurt to worry about making Windows a first-class web use and development platform via a decent first-party browser.


I've hated Microsoft as much as the next guy - but I hope they pull it together. Or more like throw it out.

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)


At the very least the UI needs a full rebuilding. OSX wasn't adequate for mobile computing either. But I can see Microsoft's idea of having fully compatible environments everywhere as interesting but not feasible. But they sure will continue to try.

The web is a close to a write once run everywhere environment as there is today. (it's not perfect for sure).


Competition is a good thing. People hate the idea of a Mac vs. PC "war", for example, but it was a good thing. In reality neither company really competes in OS's any longer. Neither Windows or Mac OS are really undergoing a lot of development these days. Apple and Microsoft are both content and off doing other things. Phones, tablets, games, databases, etc. Has all the interesting stuff been done with the OS?


Well windows 7 was released not so long ago. That was pretty big for the windows world.


It was a huge success because it was essentially a usable, bug-fixed Vista. Technologically, XP to Vista was a much larger step than Vista to 7.


No doubt they'll add some special extension that uses perl for the drawing commands just so -- you know -- nothing but Ie9 can parse it.


In my opinion this is just Microsoft doing some hand waiving to confuse people. IE9 wont work on XP which means a majority of users won't have IE9 with in the next 5 years.

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


Wow.. MS just can't win with some people.

IE6 and Windows XP are essentially the same age... Just as people need to upgrade their browser, they should be upgrading their OS.


Really? Because I can still buy a brand new computer with a brand new copy of XP, from Microsoft.

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 never said that you couldn't or shouldn't be running XP. What I said was that if you want the features and benefits that Microsoft offers with their new releases, you shouldn't be upset when they're not available for an almost 10 year old OS.

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.


How do you buy a copy of Windows XP, let alone a computer, from Microsoft?


Go to a Microsoft Store? http://store.microsoft.com/Locations

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.


I see absolutely no benefits in getting 7

IE9 is one, isn't it? Or Firefox with Direct2D.


I'm confident that XP usage will be declining significantly over the next five years.

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.


wow, just wow. Is it the OS integration that makes people feel like they cant update their browser? Standards change and evolve- sure MS wasnt exactly on the forefront of web standards support but it looks like with IE9 they are actually making an attempt to stay relevant.


I'll never forgive them for the lack of innovation after they won the browser war back than, against Netscape.

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)


IE9 JavaScript Engine

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


83 on Acid3.

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.


No! Not a battle. A culture of rapid development will be set in motion where users learn to expect frequent browser upgrades to get the latest features, but where all browsers support today's suggested minimums out of the box. People already expect to upgrade TV sets every 2-3 years, and mobile handsets every 1.2 years, to get the latest features, why not browsers?

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.


TV Sets every 2-3 years? Are you serious? Mobile Phones I'll give you in the 1-2 year range -- but normal people are not upgrading their TV every 3 years.


Who do you think is buying all these varieties of large-screen TV technologies from Plasma, DLP and projection technologies, including their HD variants? It's not just people who kept their old CRTs from the early 90s and waited. Go to Craigslist and you will see people selling TV sets that have HDMI, USB2 and memory slots ..


In other words... a battle! :-)


It's not a battle if they're being dragged into it. Browser vendors are playing catch up with web developers, and they're running out of breath. All it takes is Facebook or Zynga to standardize on, say, Webkit + Unity3D for the rest to lose. That's not a battle, that's running for your life.

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 ;-)


Historically speaking, in most battles at least one side was "dragged into it".


Yeees <3 you Microsoft, now I just need to wait 3-4 years till IE 6,7 & 8 dies and I can start using canvas.


I believed so until recently, when I started to read about about action script (the stuff behind flash).

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).


ActionScript is almost exactly the proposal that Mozilla and Adobe put forward as ECMAScript 4, which was boo'd and veto'd by Microsoft and Yahoo. Hence we now have ECMAScript 5, née "Harmony", née "3.1", which is minimum-viable-upgrade to the current ECMAScript 3 without all the useful things that ActionScript added.

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.


Interesting that you mention that.

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.


Also consider haXe: http://haxe.org/ It's an actionscript-inspired unified language which can be compiled into JS, Flash, PHP, C++ or interpreted on (yet another, sic) VM as an apache mod.


Maybe since they are helping kill off IE6, they will be smart and really be ruthless about keeping people on the latest browser.

It is in their own best interest to regain respect. It would be a very effective marketing campaign in the technology/web industries.


Gotta give them some respect for including the Opera 10.60 beta, which lowers their position and which they could have been excused for not doing.

I am really happy that MSFT is finally taking IE seriously.


I hope they will in the future support WebGL. I'm building an app using it and would really like them to do so. It's not a deal breaker for us, our user base is mostly scientific users which don't usually mind having to install firefox/chrome/safari if they aren't already using it. With that said, one more browser supporting it can't hurt.


Under video "<video> MP4 H.264 playback support, using hardware or software decoding. Support for WebM software is not included in this release."

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.


I believe WebM is not bundled. It will play it if the user has installed it: http://blogs.msdn.com/b/ie/archive/2010/05/19/another-follow...


I think that statement is just an indication that they aren't recognizing the WebM content type yet in the video tag. I have tested this version of the preview with WebM Directshow installed and it indeed doesn't work yet.


Microsoft isn't bundling the codec, but they have promised to make IE9 work well with it. Halfhearted support.


That's called being technically competent, not being halfhearted. Codecs do not belong in browsers.

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.


Gotta disagree with you a bit. Most content that users watch online isn't (easily) downloadable and playable anywhere except in a browser. And even if it was, I'm not sure that anyone except a very small minority of users would ever take advantage of it. To a growing number of users, the OS is just something that you need in order to run a web browser, nothing more.

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.


MS can't do due dilligence on every codec in the world. I suspect they spent a fair amount of money and time getting confidence in H264. Just because one of their rival companies pushes another codec hardly seems to be justification to take on responsibility for it (which they would if they shipped it).


Nobody's suggesting they should perform due diligence on every codec in the world. WebM is the only codec that has any chance of actually becoming universal — that's why they should support it. The next two biggest browsers in the market are already supporting it zealously. If Microsoft really supports Web standards, they need to support WebM.


WebM is not a "web standard" anymore than H264. By that logic, if Mozilla really supported web standards, they'd support h264 playback since Safari, Chrome, and IE will. Even if I have an h264 codec on my system, FF won't play the stupid video.

Web standards would be so much easier if we could just have 2 browsers implement something to make it a standard ;)


If Google indemnifies all users on all browsers (and also pick up any losses due to injunctions and such that may occur in the process of a lawsuit), that would be a good first step to having more web vendors pick it up. Until then, I think most companies are more comfortable not shipping it. Putting it in the box puts a lot more legal repsonsibility on you.


It's already shipping from Google and Mozilla, and their site suggests that Nvidia and ATI are building hardware decoders. It's not like this is some rinky, fly-by-night operation. And I don't see how any of what you said is not true of any other video format. Does MPEG-LA offer indemnification? I'm pretty sure not.


I don't believe MPEG-LA offers indemnification, but that's why MS has been planning this for literally years. I've talked to people that say MS has spent millions just in due dilligence around this specific codec. Plus you can go to every vendor in MPEG-LA and you'll get the same response, that it looks safe so far.

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.


Is that similar to how they were not blocking Netscape back in the '90s, because you could use it if you decided to install it? (I mean, ignoring the fact that a computer user in the '90s was vastly more likely to have the knowledge and inclination to install Netscape on Windows than the average consumer is to install a video codec nowadays.)

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."


Is Microsoft's non-support for WebM any different than Mozilla's refusal to let me play H264 videos in their browser? You can't just look the other way cos you like the underdog. To my mind it's the same thing. My mac can play h264 videos, but not in Firefox. Cos they're having a standards tantrum.


One word: patents. This is why I believe schools should require more rigorous legal training of engineering and computer science graduates. I've met too many engineers (one would be too many) who, when confronted with potential IP issues, say "who cares anyway?" Since Mozilla wants to distribute a free product to millions of users in the US, they have to care about patents, and that prevents them from including H.264. However, contrary to H.264, WebM is explicitly designed to avoid patents that aren't owned by Google/On2, so Microsoft could implement WebM with significantly less risk than Mozilla could implement H.264.


Why is installing a video codec difficult? Here's how it can be done:

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.


Oh, I absolutely agree it should be included with the OS itself, but having it just in the browser is better than not having it at all. We need a standard video format that everyone can use. A standard video tag is worthless without one — you'd be better off sticking with Flash video otherwise. WebM has the chance to be that, but not if the user is required to have already installed it himself.


Safari use Quicktime to playback H.264 on OS X all the time. If Microsoft is halfhearted they could have used WMPlayer control for all <video> and <audio> tags.


Hardware accelerated canvas is pretty slick.


Yup. On all the demos they have absolutely trounce Chrome. SVG too.


Are you sure about HW acceleration of canvas? I didn't find any mention of this in release notes.

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 ...


"Like all of the graphics in IE9, canvas is hardware accelerated through Windows and the GPU. Hardware accelerated canvas support in IE9 illustrates the power of native HTML5 in a browser." [1]

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...


Finally!

Those of us poor suckers in enterprise can start doing quality work.

Now to build the business case for upgrading legacy apps :\


Further: curious if this means that the .NET team in charge of ASP.NET are being introduced to far better ways to build web apps (no single form implementation, no mixing ID and Classes between back and front end, ditching the use of session as a "state" store, quality URI patterns etc)


Asp.Net MVC for web has everything you just mentioned. The real push is towards Silverlight for web apps.


In light of HTML5 developments, I think that is a losing strategy in a big way.


shudders why run a web app in a movie?


huh?


"The real push is towards Silverlight for web apps." « shudders at that


Some amazing additions, the hardware acceleration is nice... but I find it funny that IE still doesn't support text-shadow even though most other browsers have been able to do so for a while.

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 :)


Awesome news! I'm shocked... Cross-platform support for cool canvas apps! Maybe this will encourage more canvas development!


There you go Microsoft, now was that so hard? Now we can all play happily together. I almost forgive you for IE6 .. almost.


The problem was not IE6, the problem was the gap after IE6. It was a pretty decent browser at the time.


The problem now is that IE8 is going to be the new IE6. Failing to ship IE9 on XP is a huge blow to HTML5 and means all these cool things are going to be a long time coming to those of us who have to cater to as many users as possible.


Websockets are still missing though. :^(


As awesome as websockets are, websockets are an incredibly volatile standard in very early stages. The only shipping browser to support is (Chrome) does not even conform to the current draft.


Given microsoft's history of browser releases, I'd prefer an out-of-date implementation that js libraries can wrap to a wait-and-see approach. It would be better than nothing -- websockets solve an important and annoying problem.


So you want another IE6? That's why we were stuck with an incorrect box model implementation. When they implementation that standard before it was finalized, we got years of broken layouts.


The latest nightlies conform to the latest draft. And Safari 5 supports WebSockets.

But yes, it's an annoyingly volatile standard-in-progress.


Safari 5 supports WebSockets, and supposedly the nightly builds of Firefox do as well.


this sucks, but if they had to leave something out, that would be the one b/c you already get the same effect with long polling & streaming.


Now I know how the diehard American soccer fans felt, crying after the US beat Algeria.


Could IE actually become awesome? It certainly looks that way.


I wonder if they'll also fix dictionary implementation to be O(1)* instead of O(n)

* actually hash lookups are O(inverse ackerman) but that's kind of silly


Good work Microsoft. Welcome to 2008!


  <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.


Microsoft, Apple, and Nokia all seem to have the same policy on <video>.


The only browsers which matter are IE, Chrome, and Firefox. The market share of every other browser might as well be a rounding error.


You're ignoring mobile.


iPhone definitely matters. Which means Safari.


According to W3Counter[1], the iPhone OS has 0.83% market share among web browsers. Even assuming every single user is using the built-in browser, that's less market share than even Opera.

So, no, the iPhone does not matter.

[1] http://www.w3counter.com/globalstats.php


W3Counter is just one way of measuring/estimating general browser usage world wide, with the emphasis on "general". It may or may not be relevant to your business needs. The only way to know is measure what is hitting your site(s). In our case we are now getting 17.2% Safari (and growing); and we don't even intentionally target iPhone.


Safari and to a lesser extent, Opera, definitely matter as well.


Chrome supports H.264. Firefox is the one being different.


Opera supports the exact same set of codecs as Firefox. You're the one being different. ;)


That isn't different from everybody else. That's the same as Apple.


What does Safari and Opera do?


Safari uses Quicktime, so it plays Theora fine if you have Theora installed for Quicktime. It will support WebM the same way.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: