
IE9 To Support CANVAS Tag (plus VIDEO, AUDIO, and SVG) - petercooper
http://ie.microsoft.com/testdrive/info/ReleaseNotes/Default.html
======
Maciek416
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?

~~~
csmeder
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>

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

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

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

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

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

------
lhorie
_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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

~~~
chc
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."_

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

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

------
mrkurt
Hardware accelerated canvas is pretty slick.

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

~~~
heyadayo
"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...](http://blogs.msdn.com/b/ie/archive/2010/06/23/html5-native-
third-ie9-platform-preview-available-for-developers.aspx)

------
jufemaiz
Finally!

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

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

~~~
jufemaiz
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)

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

~~~
jufemaiz
_shudders_ why run a web app in a movie?

~~~
contextfree
huh?

~~~
jufemaiz
"The real push is towards Silverlight for web apps." « _shudders at that_

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

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

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

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

------
nailer
Websockets are still missing though. :^(

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

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

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

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

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

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

------
moe
Good work Microsoft. Welcome to 2008!

------
jmillikin

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

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

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

~~~
jackfoxy
iPhone definitely matters. Which means Safari.

~~~
jmillikin
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>

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

