Microsoft's Bob Muglia unwittingly threw a spanner in the Silverlight works at last week's Professional Developers Conference by telling ZD Net's All Things Microsoft blogger Mary-Jo Foley that:
"when it comes to touting Silverlight as Microsoft's vehicle for delivering a cross-platform runtime, 'our strategy has shifted,' Muglia told me. Silverlight will continue to be a cross-platform solution, working on a variety of operating system/browser platforms, going forward, he said. 'But HTML is the only true cross platform solution for everything, including (Apple's) iOS platform,' Muglia said."
Muglia has now posted an explanation on the Silverlight blog under PDC and Silverlight, saying: "I understand that what I said surprised people and caused controversy and confusion. As this certainly wasn't my intent, I want to apologize for that." He then states Silverlight's position in terms that make it clear that Microsoft's Silverlight strategy hasn't actually changed much, if at all.
Silverlight is still Microsoft's cross-browser and cross-platform for delivering rich Internet applications (RIAs) on Windows and Mac*. It is still a core application development platform for Windows, and it's still the development platform for Windows Phone 7. It's still the Microsoft way of delivering streaming media, both with and without content protection. However, the world has changed. As Muglia says:
"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. We think HTML will provide the broadest, cross-platform reach across all these devices. At Microsoft, we're committed to building the world's best implementation of HTML 5 for devices running Windows, and at the PDC, we showed the great progress we're making on this with IE 9."
Muglia doesn't say this, but Apple's iOS has obviously emerged as a new force on the iPhone and iPad, and it's a closed proprietary system. Since Apple is preventing Adobe Flash from running on its platform (unless you jailbreak devices), there is no chance that Apple will allow Silverlight. Even if it did, that would enable apps developed for Windows Phone 7 to run on the iPhone as well. This is not in Microsoft's interests.
HTML5 must therefore represent a broader cross-platform solution than Silverlight, but this doesn't necessarily make Silverlight less important to Microsoft. Indeed, it could make Silverlight more important.
Silverlight is more powerful than HTML5, and it's wedded to Microsoft's software development systems, and to its Windows Phone 7 plans. Silverlight is therefore the way to provide applications that are unique and differentiated, whereas HTML5 sites will be (or should be) equally accessible to all.
As Muglia says in his blog post:
The purpose of Silverlight has never been to replace HTML, but rather to do the things that HTML (and other technologies) can't, and to do so in a way that's easy for developers to use. Silverlight enables great client app and media experiences. It's now installed on two-thirds of the world's computers, and more than 600,000 developers currently build software using it. Make no mistake; we'll continue to invest in Silverlight and enable developers to build great apps and experiences with it in the future.
Quite. Microsoft didn't back Silverlight as a way of replacing HTML but to replace some "other technologies" not named, such as Adobe Flash, Flex and AIR. And I suspect that Microsoft's backroom analysts could well have been thinking that while their strong but more or less obligatory support for HTML5 might hurt Silverlight somewhat, it was likely to hurt Adobe more.
* Moonlight is an independent open source implementation of Silverlight, "primarily for Linux and other Unix/X11 based operating systems". There's also a packaged version to run as a Firefox browser extension.