At a special Firestarter event (part of which was and Telerik with the new Silverlight client for Facebook called "f!acedeck"), Microsoft unveiled what the next version of Silverlight will include. All I can say is that it will be a huge release - both in terms of easing the developer lives and for enabling even more rich user experiences (in-the-browser and especially out-of-browser). We can divide the new features that are coming in the runtime in two categories - 1) new media features and 2) features that are focused towards business application development.
New Media features
- Hardware Decode and presentation of H.264 improve performance for lower-power devices to render high-definition video using GPU support.
- TrickPlay allows video to be played at different speeds and supports fast-forward and rewind. At up to twice the speed, audio pitch correction allows users to watch videos while preserving a normal audio pitch.
- Remote-control support allows users to control media playback.
Bussines Application Development
This is the area where Silverlight 5 get a real push from Microsoft - there are tons of improvements! Here are my favorite new features - in order of importance:
- Text improvements - check the provided by Microsoft snapshot below. The paragraph on top is rendered from SL4, the paragraph on bottom is rendered with the new SL5 engine.
You will easily notice the improved text clarity even on this low quality screenshot. For many users the text rendering in XAML-based frameworks was always a problem. Remember how bad the text rendering was in the first version of WPF? Now with Silverlight 5 this seems to be improved a lot. This new feature also greatly improves one of my favorite Silverlight controls - Rad RichTextBox for Silverlight :)
- Graphics improvements - Silverlight 5 includes immediate mode graphics support that enables developers to take full advantage of the GPU and enables accelerated 3-D graphics support. This new support facilitates much richer data visualization scenarios - expect much better Charting and data visualization controls from Telerik for Silverlight 5.
- Improved Out of browser support - Existing unmanaged code can be called directly from within Silverlight with PInvoke. This enables you to communicate with any hardware plugged into the USB port (for example) on the desktop machine. Think how important this can be for the healthcare applications!
The second thing that worth mentioning is the multiple windows support that can be launched from the application. This feature enables much better desktop-like experiences.
- Debugging and databinding improvements - OK this clearly is not affecting the end users, but it is affecting us - the developers. With the added support for custom markup extensions, debugging of the XAML code and a lot of improvements in Databinding it is now easier to write MVVM friendly applications.
For the full list of features that is coming into the next version of Silverlight - check this whitepaper prepared by Microsoft.
Crescent project was announced earlier this year, but now on the firestarter event we saw a very detailed and impressive demo of what the next generation of BI tools built with Silvelight can do. It is worth seeing it - check out the keynote video at 1:48:00 for the BI tools demo.
Windows Phone 7
Unfortunately there wasn't any info on what part of these features will be built into the next version of Silverlight for Windows Phone 7. We can only assume that many of them that are applicable for the phone environment will do. Time will tell, but my bet is that next version of the Silverlight for the phone will be much better aligned with the desktop version of the Silverlight.
The first Beta bits will be released in Spring.2011 (my best guess - MIX11 conference which will be held in Las Vegas 10-12.April.2011). The final version of Silverlight 5 is expected to ship at the H2.2011.
So, what do you think on all these features? Do you think they will make you more productive and will enable more scenarios for the applications that you are building? Do you still worry about the future of Silverlight :)?