On December 2, 2010, Scott Guthrie, corporate vice president of the Microsoft Developer Division, walked out on stage at the Silverlight Firestarter Event on the Microsoft campus in Redmond, Washington, and proceeded to announce the features of the next version of Silverlight—Silverlight Version 5.0. And he kept going… and going… and in all honesty I was shocked by how many new features are going to be crammed into this already robust and elegant developer framework.
Here is the reality of the good news from a high level: Silverlight 5 introduces more than 40 new features, including support for running Silverlight applications with desktop features in the browser, dramatic video quality and performance improvements, and features that improve developer productivity.
And here is the bad news: We are going to have to wait a number of months until Silverlight 5 makes it to production and even into beta. The Silverlight 5 beta will be available sometime in the first half of calendar 2011. Clearly we'd love to have this thing now. And Microsoft has been no public statements about when Silverlight 5 will go to production, although I think that sometime in 2011 is a realistic guess. But I can tell you the announcements are so exciting that both companies I work for (InterKnowlogy and Actus Software) will be taking software into production on beta versions of Silverlight 5.
With 40 new features coming in Silverlight 5, I'd turn this into a book before I got through all of them, so let me run through the features that are most compelling to me.
Right or wrong, the world (not the developer community) knows Silverlight only as the king of streaming media, so that is a good place to start. Silverlight 5 will include:
- digital rights management advancements, which allow seamless switching between DRM media sources.
- hardware decode and presentation of H.264, which will improve performance for lower-power devices to render high-definition video using GPU support
- a new technology called TrickPlay, which will allow video to be played at different speeds and support fast-forward and rewind. TrickPlay also includes audio enhancements like audio pitch correction at up to twice the video speed, allowing users to watch videos while preserving a normal audio pitch.
These enhancements alone put Silverlight 5 way ahead of any other streaming media frameworks on the market. If there was even an argument against that with Silverlight 4, with Silverlight 5 there will be not be an argument anymore.
It makes sense for me to go to the graphics improvements that Silverlight 5 will have next because when I'm in front of an audience contrasting Windows Presentation Foundation (WPF) and Silverlight, I always highlight a handful of things you cannot do in Silverlight that you can do in WPF. And it always starts with 3D. Silverlight 4 cannot do pure 3D. It does a half-baked "perspective 3D" that is neat, but WPF's implementation of 3D is pure elegance. Well, guess what? Silverlight 5 will include:
- a cross-platform, GPU accelerated 3D API
- an immediate-mode graphics API, which allows direct rendering to the GPU
- enabling of hardware acceleration in windowless mode with Internet Explorer 9
Silverlight 5 will have a slew of new trusted application features that will bring desktop capabilities for the first time to the browser. These features, when enabled via a Group Policy registry key and an application certificate, mean users won't need to run Silverlight in an "out of browser" mode to perform complex tasks typically limited to a Win32 application:
- Host HTML content as a web browser control within the Silverlight application. HTML pages, such as help content or email, can be integrated within the application.
- Read and write files to the user's My Documents folder, making it easier to find media files or create local copies of reports.
- Launch Microsoft Office and other desktop programs. Users can open Microsoft Outlook and create an email message or send a report to Word utilizing the power of Office.
- Access devices and other system capabilities by calling into application COM components. Users can access a USB security card reader or a bar code scanner.
- Enjoy full keyboard support in full screen, which enables richer kiosk and media viewing applications.
- Call existing unmanaged code directly from within Silverlight with PInvoke.
- Child Window support allows multiple windows to be launched from the application.
The only negative I can see here is the myriad of people who are going to see this and say, "So, what do I need WPF for?" And that topic is for another column.
And I could keep going:
• Text improvements that make it possible to build rich magazine-style text layouts.
• Added support for double-click and Combobox type ahead.
• Support for Postscript vector printing enables users to create reports and documents, including the ability to create a virtual print view different from what is shown on the screen.
• Model View ViewModel (MVVM) and data-binding enhancements allow more work to be done more easily via XAML.
• Networking and Windows Communication Foundation (WCF) enhancements
• Performance improvements:
o Reduced network latency by using a background thread for networking.
o XAML parser improvements that speed up start-up and runtime performance.
o Support for 64-bit operating systems.
And I have just scratched the surface of the 40-plus major new features that will ship in Silverlight 5.
In less than three years, Microsoft shipped four major Silverlight versions and countless minor versions in between. In less than fourt years since the initial release of Silverlight 1 in September 2007, it is safe to assume the Silverlight team will release its fifth major version. Can you think of any Microsoft product that has versioned more quickly or been adopted faster? I cannot. In all honestly I cannot believe all the wasted time on the "death of Silverlight" rumors last month.
The Silverlight release history is here. And you can find more detailed information about Silverlight 5 here.
Tim Huckaby (TimHuck@InterKnowlogy.com) is founder and chairman of InterKnowlogy—experts in Microsoft .NET and Microsoft Platforms. Tim has worked on and with product teams at Microsoft for 25-plus years, has authored books and several publications, and is a frequent conference speaker.