Direct from the Silverlight Firestarter event here at Microsoft campus, Redmond, WA.
Silverlight 5 is coming and includes some great new features that will not only delight Silverlight developers, but will also wow users.
Silverlight 5 3D support
Yep, you read it right. Finally, Silverlight 5 will include hardware accelerated 3D support and introduces an immediate-mode API.
Luigi and Guido Rosso from Archetype, demonstrated a demo application they wrote in less than a week which displayed a full 3D model of Scott Guthrie’s body, skeleton and musculature. They were able to control the opacity of Scott’s clothes, skin, musculature and skeleton and were able to animate the entire model, spinning him around and zooming deep into his torso … to show his beating heart! :) The demo was extremely smooth and fluid, animations were blindingly fast and many chuckles were had at Scott’s ripped torso!
The key takeaway here was that Silverlight 5 will ship with exceptionally powerful 3D features that enjoy full hardware acceleration and will completely revolutionize the kinds of applications that can be built with Silverlight, eliminating the need to install 3rd party 3D ActiveX controls etc.
TrickPlay: Variable playback speed
One of the best features of Windows Media Player is the ability to speed-up or slow-down the playback speed of videos and audio (e.g. podcasts) without altering the pitch of the audio. This is a great way of watching some/all of a long video or podcast more quickly. Alas, however, this feature is currently missing from Silverlight … but it’s coming in Silverlight 5!
This means that you’ll be able to watch all of the content you care about from events like the PDC more quickly than real-time! :)
Quality, performance and power through hardware acceleration
ScottGu made it clear several times throughout his keynote that the Silverlight team has spent a great deal of time and effort further improving the quality, performance and power-consumption aspects of Silverlight.
Scott stated that they’ve made significant improvements to the time it takes to start-up Silverlight applications. This mirrors news I’ve heard from other ‘softies who have told me that there are some significant improvements coming to start-up times for .NET applications. Faster booting apps are ALWAYS a good thing and I can’t wait to see what develops on this front.
Scott also mentioned that Silverlight 5 will also include a native 64-bit version. This is a big deal for Silverlight developers as Silverlight is often used as the UI to large, complex databases which can easily consume more than 4GB data in order to render their data.
Video playback is now fully hardware accelerated. Text rendering quality has been improved significantly and animation quality has been significantly improved through improved hardware acceleration.
This will also result in Silverlight 5 applications consuming less power (important for mobile scenarios) because more graphics-intensive processing is being offloaded to the GPU rather than being performed by the CPU.
Remote Control support
Yep, you read that right – Silverlight 5 will support remote control – as in the little box that you use to change channels and control the volume of your TV. This is a great feature – as someone who is increasingly sourcing movies and videos from the web (e.g. Netflix, Hulu, Amazon, etc.), having to control the movie via the PC it’s running on is a pain. I cannot wait until I can control movies streamed from Netflix without having to leave the couch!
Speculation: I wonder if this is an indication that, perhaps, Media Center in Windows 8 will be built on Silverlight?
Developer goodness :
Silverlight 5 also comes with some significant improvements for developers:
Data binding debugging
Ever run into issues with Data Binding in your Silverlight apps? Ever wanted to set breakpoints on your binds and the ability to examine step through your data binding code? You can’t do this in Silverlight today, but it’s coming in Silverlight 5!
Coded UI recording and testing
John Papa also demonstrated new Coded UI tests that can record your every action against your site’s UI. Each action is recorded into a series of steps which you can modify if you wish to remove unnecessary actions. You can then replay these actions and compare the values of individual HTML elements against expected results from within a test.
This is a really massive deal which will make testing your actual UI a great deal easier and more effective than ever before.
As usual, ScottGu has posted further details on his blog – be sure to go read his announcement: