Silverlight can do some things that HTML5 can't do today and still won't be able to do when the spec is finalized. For example, Silverlight supports high-quality streaming multimedia complete with digital rights management (DRM) support, a feature Netflix relies upon to deliver instant access to its online movie rental library. By comparison, the HTML5 standard does not specify any video codecs, let alone more advanced features.
What's more, it's safe to assume that Silverlight really will be the preferred platform for Windows Phone 7 development, rather than Web apps. For all Steve Jobs' hype about HTML5, iPhone users still consume the majority of their online content using site-specific downloadable apps. Silverlight will allow developers to build and sell comparable experiences for the Windows Phone platform.
And even if HTML5 is a better choice for the Web, developers can still use Silverlight to build and deploy desktop applications faster and easier than any previous Windows development environment allowed. The resulting apps will run on Windows and Mac OS X alike (and maybe even Linux).
The case for dropping Silverlight like a hot potato
On the other hand, developers might be ill-advised to rely on anything other than Windows support for Silverlight. The technology may run on Mac clients today, but it's hardly as broadly cross-platform as (say) Java, and Muglia's comment that "HTML is the only true cross-platform solution for everything" hints that Microsoft's commitment to widening Silverlight's reach may be waning.
Yet if Silverlight is destined to become chiefly a Windows technology, how valuable is it, really? After all, Silverlight is essentially a stripped-down version of Windows Presentation Foundation that's packaged as a lightweight, downloadable runtime. So if you don't expect your applications to run anywhere but on Windows, why not just target the core WPF APIs and gain their full power?
And just because Silverlight can do a few things that HTML5 can't do doesn't make it preferable to HTML5 for most Web applications. Sure, if you really want to do streaming video with DRM, Silverlight might be your best choice. But the other 90 percent of RIAs probably don't need to take advantage of Silverlight-specific features, so why get into the habit of using it?
Similarly, if you're committed to Windows Phone 7 development, you may already be wedded to Silverlight. But the prospects for Windows Phone 7 remain murky at best, and few developers are likely to jump on board with Silverlight just to support an unproven smartphone platform, particularly if they aren't using it already.
But the most obvious argument against Silverlight is that Microsoft still appears unwilling to give the technology its full commitment. Muglia's insistence that "Silverlight is very important and strategic to Microsoft" rings a little hollow when in the same blog post he says Microsoft will only reveal its plans for Silverlight "in the coming months." Nobody wants to be stuck maintaining enterprise applications built with an out-of-date, orphaned technology -- just ask anyone who has to maintain Web apps designed for IE6.
Microsoft must now fish or cut bait. So far, Silverlight has not been a serious competitor to Flash on the Web, and its future on mobile platforms other than Windows Phone 7 seems doubtful. If Microsoft expects to retain current Silverlight developers -- let alone win new ones -- it should publish a clear road map for the platform, complete with specific, credible milestones that will allow it to remain competitive against HTML5, Flash, and traditional applications. Absent that, pro-Silverlight puffery by Muglia and other Microsoft execs comes off as so much whistling past the graveyard.
This article, "Developer dilemma: Does Silverlight have a future?," originally appeared at InfoWorld.com. Read more of Neil McAllister's Fatal Exception blog and follow the latest news in programming at InfoWorld.com.