Although I’ve half-written blog entries on this before, I’ve scrapped them because at the time I would have been speaking out of turn. Then I thought Microsoft had said enough that everyone got it and a blog entry would be pointless. But today someone I respect said that enterprise customers were still confused about Silverlight, so here is my take on the situation.
Keeping this brief, Microsoft took the presentation technology it had developed for Windows Vista called the Windows Presentation Foundation and created a portable multi-platform/multi-browser application framework called WPF/E (for Everywhere). When it was formally launched WPF/E was renamed Silverlight, and Microsoft proceeded to market it as an alternative to Adobe Flash for Rich Internet Applications. Besides the strong support for video, which HTML lacked, Silverlight made it easier to target multiple browsers than trying to do so with HTML because the browsers had fragmented in their support for HTML (and yes I realize that Internet Explorer was a primary offender). Along comes HTML5 with its Video tag and a commitment from all the major browsers, including IE, to conform to the standard and 90% of the justification for both Silverlight and Flash is gone. Yes there are some scenarios where Silverlight is likely better than HTML5 Video for now, but it is a niche market. Especially since the trend in mobile devices, particularly the iPhone, iPad, Windows Phone, and Metro browser in Windows 8 don’t support plug-ins (such as Silverlight or Flash). So Silverlight the multi-platform/multi-browser application framework is DEAD. Of course Microsoft doesn’t use that word because it is still available, supported, etc. and in fact they only recently released Silverlight 5. But strategically a Microsoft-proprietary multi-platform/multi-browser application framework makes no sense and they won’t move forward with it.
On the other hand, the Silverlight code base is doing just fine. At least I think it is. In Windows 8 they just call it XAML, but I have reason to believe that it is actually the Silverlight code base. That’s what “we” should have called it for Windows Phone 7 as well, and the Windows Phone team did not want to call it Silverlight specifically because of the multi-platform/multi-browser association. But Silverlight was in its ascendency at the time, Visual Studio and Expression Studio were late in their development cycles and had little runway for change, and we (DevDiv) did not want to further fragment (beyond WPF and Silverlight) the XAML world. Plus with Silverlight being “hot” and Windows Phone having no traction we felt that using the name Silverlight for the XAML support in Windows Phone would be a net positive (even though it causes confusion). So we won the argument and Windows Phone uses both the Silverlight code base and name. It probably did help that first year, but at this point it just adds to the confusion. For Windows 8, with no desire or benefit of associating with the Silverlight strategy, it makes perfect sense not to call its XAML support Silverlight. And it wouldn’t surprise me if Windows Phone 8 drops the Silverlight naming in favor of just calling it XAML as well.