Silverlight: Platform on the Run

New features in Silverlight 5 will improve support for both cross-platform and Windows platform-specific web application development

Silverlight has enjoyed a pretty wild ride in the press over the past six weeks. It all started in October 2010 when the PDC was noticeably short on Silverlight content. Instead, the focus was on Windows Phone 7 (predictable) and the HTML5 implementation in IE9. That second part wasn't so predictable. Developers had expected more focus on Silverlight and perhaps even the announcement of Silverlight 5. This is despite the fact that Microsoft's MIX conference has been the vessel of progress for Silverlight over the past few years. Microsoft's Server and Tools president Bob Muglia then made some nebulous and foreboding comments in an interview about a shifting strategy regarding Silverlight. Of course, the rumor mill worked overtime for several days until Muglia published a blog post intended to clarify things. While Muglia's blog post put an end to the "Silverlight is dead" bandwagon, it still left a lot of open questions about what Silverlight's future was… specifically.

As a side note, it's funny how different some companies are in the way they launch products and disclose information. For example, Apple keeps everything a secret, then launches things in a big show of splendor dictating how everything is going to be. They don't really care much for what anyone thinks. They are the essence of decisiveness and "proactivity." Google, on the other hand, dips a toe in pretty much every pool in the neighborhood, committing to almost nothing, waiting to see what people like. Microsoft is an interesting case, because they tend to leak a lot of information, then launch products with a lot of flair. However, they tend not to give us the whole picture, almost daring us to speculate and draw our own conclusions; letting us know, of course, when we've got it all wrong. As for HTML5? My take is that Microsoft hates it and is just playing nice with it because certain platforms like iOS may never support a Silverlight runtime. There was only so long that Microsoft could avoid the issue and take a "wait and see" attitude. The handwriting was on the wall, so Microsoft is building the best HTML5 experience that it can for when Silverlight is not an option. Case closed on that.

Back to the recent Silverlight saga, Microsoft backed up its claim that Silverlight was, indeed, not dead by announcing Silverlight 5 at its Firestarter event on December 2, 2010. The set of features that Silverlight 5 contains, though, indicates (at least to me) what direction that Microsoft is headed with the technology. For example, there are a lot of new enhancements and optimizations for video streaming, digital rights management (DRM), graphics, and font/text display and layout. That follows Microsoft's existing strategy to make Silverlight an ideal solution for anything video or presentation related in a cross-browser and cross-platform way. Nothing unusual there.

Microsoft also announced some new features on the application development front, though, that were more interesting from a strategy perspective. For instance, developers will now have the ability to use P/Invoke capabilities to call unmanaged libraries and Win32 APIs. Developers will also be able to open up the security sandbox and grant desktop capabilities to the browser via a Group Policy registry key and an application certificate. This would enable things like embedding HTML pages in a Silverlight application, reading and writing files to the My Documents folder, and enhancements to the ability to call COM components to access things like printers, scanners, and USB peripherals as well as open documents in Microsoft Office.

Now, these kinds of new features may still end up being cross-browser, but they're clearly aimed at the Windows OS, so the development experience will certainly be different for you if cross-platform is still a requirement for your project. I've read a lot of speculation lately about Microsoft going so "all-in" with cloud computing that they might abandon their base of Windows on the client. If that's the case, then the Silverlight team didn't get the memo. Windows-specific features are alive and well in Silverlight. I think that's a good thing, though, because many enterprises have close control over the platforms on which their applications are deployed. If that is the case, then I see no reason to hold back features and productivity based on principle alone. The message to take away here is that, if possible, you'll want to stick with the Windows OS to leverage the true power of Silverlight in line-of-business applications, but you'll still have some options for an acceptable cross-platform experience. Note that there are a lot of other new and exciting features in Silverlight 5 that I didn't cover here.

The biggest question that emerges for me out of the Silverlight 5 announcement, though, is what happens to Windows Presentation Foundation? It appears that Microsoft is creating an on-ramp for Silverlight to act very much like WPF when running on Windows—but creep back into the "least common denominator" corner when running cross-platform. If that's the case, will we soon be referring to WPF as "WPF Classic"? Now that I've thrown the notion out there, we shall see what Microsoft has to say. The Silverlight 5 beta will be available in early 2011, and its release won't be until the second half of 2011, so there is a lot of time for all this to marinate before we get our answers.

Jonathan Goodyear ([email protected]) is president of ASPSOFT, an Internet consulting firm in Orlando. He is Microsoft regional director for Florida, an ASP.NET MVP, a Microsoft Certified Solution Developer, and a contributing editor for DevProConnections.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.