Why Adobe and Microsoft have such different plans for Flash and Silverlight and such similar views of HTML 5.
If you look at the dozens of Web sites Microsoft has collected to show off what you can do in HTML 5 - or, obviously, what you can do in IE9, which has a pretty comprehensive implementation of a standard in progress - you'll see a lot of things you used to expect to need a plug-in like Flash or Silverlight to achieve. Watching video, painting on screen, rotating images on demand, playing games… one of the most impressive was a 3d virtual art gallery that you could walk through.
The designer, Gerard Fernandez, took the IE-specific code he'd created for the National Museum of China site using dynamic HTML and created something similar for HTML 5; you can see both the environment and the code on his site.
That's the kind of environment that used to always be written in Flash, that a cutting edge developer might consider WebGL for - it's exactly the kind of 3D that Adobe wants you to do with the new Molehill 3D API for Flash - but this was 500 lines of HTML, CSS and Canvas. What does that mean for Adobe's plan that innovations like 3D graphics and peer-to-peer video streaming will emerge first in Flash and then be standardised in HTML? It certainly makes Microsoft's Bob Muglia's view that HTML is the only true cross-platform solution Microsoft needs seem sensible (which leaves Silverlight for Windows Phone, media apps where you need DRM - a stronghold of Flash - and the same kind of rich business apps Adobe is pushing AIR for).
Muglia didn't say that Silverlight was dead and having it on 66% of computers worldwide isn't bad. But compare that and Microsoft's inability to get Silverlight onto anything beyond Macs, PCs, Linux, Windows Phone 7 and Symbian with the 98% penetration of Flash and the way Adobe has worked to get Flash onto Android, Google TV, Samsung TVs and Blu-ray players (with other TV manufacturers set to pick up the AIR TV platform), Palm Web OS, the BlackBerry PlayBook, Symbian, future BlackBerry handsets, Cisco's business tablet, upcoming set-top boxes from Motorola… Intel and other chip manufacturers put hardware acceleration for Flash into their silicon. It's not ubiquitous, but it is widespread.
Microsoft isn't trying to get that kind of support for Silverlight. "There has been massive growth in the breadth and diversity of devices made by a wide variety of vendors providing both open and closed systems," Muglia said on the Silverlight blog, admitting what could sound like defeat. "When we started Silverlight, the number of unique/different Internet-connected devices in the world was relatively small, and our goal was to provide the most consistent, richest experience across those devices. But the world has changed. As a result, getting a single runtime implementation installed on every potential device is practically impossible."
Why can Adobe do it and Microsoft can't? The issues Microsoft has getting other companies (that it probably competes with in some way) to work strategically with it aren't the only factor. Adobe decided some years back to sacrifice revenue from the Flash run-time to get broad adoption; instead of making money by selling Flash Lite, it set up the Open Screen Project to give Flash to hardware manufacturers. Because if Flash is everywhere, developers will come to Adobe to buy tools to write Flash applications - and Adobe is, after all, a tool company. Adobe has to keep coming up with new and clever things to do in Flash that HTML can't yet support so it can sell developers new and clever tools to put Flash through its paces.
Microsoft sells tools too but at heart it makes money from platforms; Windows, Windows Server, Azure, SharePoint, IIS, Xbox, even Bing - all the places Microsoft makes money (or hopes to make money) are platforms to do things on top of. That gives Microsoft the luxury of not caring as much about all the other platforms out there - a luxury Adobe doesn't have. Both companies know they have to support what developers want to do next, but whereas Microsoft can make money selling Windows as long as it has a browser that does everything in in HTML 5, Adobe makes its money from HTML 5 by selling copies of Dreamweaver (and charging for Web site analytics from Omniture). And having sold you Windows, Microsoft is more likely to sell you Office and Windows Server and other Microsoft products - which are also platforms.
Adobe can sell you Photoshop to go with Dreamweaver and maybe the content management system it's just acquired from Day, but there isn't the same long list of other things you're likely to want to buy. But if Flash continues to run on plenty of new devices, all with different screen sizes , with AIR turning Flash into standalone apps when that makes more sense, then developers will need to buy Flash development tools and HTML 5 development tools and the media encoding server to make video look good on all those different screen sizes - and that's a lot more business for Adobe. And that means it doesn't have the luxury of not having to push to get Flash onto everything that comes along.
And actually, neither Flash not Silverlight are going away any time soon; this excellent chart from Microsoft evangelist Giorgio Sardo's PDC presentation on HTML 5 is a great summary of how much of the 'standard' is still under development.
How far has each HTML 5 component got through the standards process?