Explained

Dec 23, 2008 12:42 GMT  ·  By

Silverlight, Microsoft's alternative to Adobe Flash, has evolved to version 2 (available for download since mid-October 2008) on Windows and Mac OS X, with Moonlight trailing behind for Linux. Already reaching over one in four consumers worldwide, Silverlight's support for browser involves an official list from Microsoft and Novell, with a limited number of items not featuring software such as Opera or Google Chrome.

“One thing to clarify up front is that independent of being 'officially supported,' Silverlight should generally run in all common browsers that support either the Netscape Plug-in API or ActiveX plug-ins,” Joe Stegman, group program manager on the Silverlight presentation and graphics team, revealed .

According to Microsoft, Silverlight 2 RTW (2.0.31005.0) comes with official support only for Internet Explorer 7, IE6, Firefox 1.5, 2 and 3, and Safari on Windows and Mac OS X. Novell, which is responsible for the development of Moonlight, the Silverlight implementation for Linux, offers official support for Firefox 2.0 and Firefox 3.0 on Linux, FreeBSD, or SolarisOS.

“One of the key value-propositions of Silverlight is that it works consistently across all browsers and platforms. As such, for Silverlight 'supported browsers and platforms,' the Silverlight team works around plug-in API inconsistencies/bugs to ensure general Silverlight platform consistency (as well as does performance and stress testing on these browsers). Note that even though a browser is not an officially supported browser, we’ll often do some level of testing on the most popular non supported browsers, as this will occasionally either turn up a product issue or will turn up a browser issue that we can then report to the browser manufacturer,” Stegman added.

However, the shortcomings associated with Silverlight's browser support come from the plug-in APIs that the technology uses. Stegman indicated that, while Silverlight played nice with two plug-in models ActiveX for Internet Explorer and the Netscape Plug-in API (NPAPI), some browsers did not deliver consistent implementation of NPAPI, and in this context, the interoperability was left to suffer. Moreover, to top it all off, interoperability is also hit by bugs in the browser provided plug-in application programming interfaces.

“One general question we get asked is why don’t we just support browser X on platform Y, and the reason is that there is a real cost to this supporting any browser/platform due to the issues just described. From a Silverlight product team perspective, we have to trade off the cost/impact of supporting new browsers with the cost/impact of supporting new product features. In addition, each supported browser/platform has a slight impact on overall product agility – meaning the more browsers/platforms officially supported with each release, the longer it takes to release the product. As such, we try to balance the need for new browser/platform support against the need for more features and agility,” Stegman explained.

In addition to responding to user demand by adding support for new browsers with Silverlight, Microsoft is also looking to the browser's market penetration as a key factor. In this context, such programs with a small market share, such as Opera and Google Chrome, are disqualified from the get-go.

Silverlight 2 RTW (2.0.31005.0) is available for download here.