Silverlight 4 Beta – Overview of the new features

Yesterday, during the keynote at the Professional Developers Conference the new Silverlight 4 beta was announced. To tell you the truth I’m really impressed with the number of new features that the team has been able to deliver in beta form just a good 3 months after the release of Silverlight 3 last July. Here’s an overview of the features that for me pop out the most in this new beta.

How to get it.

Please note this is beta release and should be installed only in development environment. There is no go-live license available with this beta release.

To try out the beta you will need Visual Studio 2010 Beta or Visual Web Developer Express 2010 Beta 2. All the links to the tools can be found here: https://www.silverlight.net/getstarted/silverlight-4-beta/#tools

Overview of new features

Media

Webcam and microphone support

Silverlight 4 supports webcam and microphone input. This was a very highly requested feature in the past and has now been included in this version.

Check out the very cool PDC keynote demo where you can use your webcam in a Silverlight application to read a book ISBN barcode and automatically retrieve the related Amazon book information. This is also a great example of how fantastic the .NET support in Silverlight is. For this sample they simply used an open source .NET barcode reader library from Codeplex.

Offline DRM support through PlayReady, this applies to out-of-browser Silverlight applications.

IIS Smooth Streaming support for the iPhoneSmooth streaming iphone

Yes, this is maybe something you weren’t expecting coming from Microsoft. IIS Media Services 4.0 will support streaming to the iPhone. Note this is not Silverlight support on the iPhone, it’s streaming a format that is supported by the iPhone and generating a video tag that Safari browser on the iPhone supports.
Point your iPhone to https://www.iis.net/iPhone to try it out. More information at https://www.iis.net/overview/IntegratedMediaPlatform.

Out of browser

The out of browser functionality is now extending further into the system. While Silverlight still runs in it’s security sandbox, trust can be elevated to run as a trusted application. A trusted application can now read and write files to the typical My Documents, My Pictures etc directories (or equivalent on Mac platform).

A Silverlight out of browser application will never run in admin mode, however a user can be asked for extra permissions. This always happens in a standard dialog interface which cannot be manipulated or changed in look and feel by the developer (fortunately so). Some other enhancements:

  • Notifications API
  • COM automation support such as accessing devices
  • Interact with desktop applications (send mail, launch Excel, etc)
  • HTML support within the oob application.
  • Control over the window chrome and positioning
  • WebBrowser control and HTMLBrush so that you can use the contents of a web page as a brush.

Business applications

  • Printing support through the new PrintDocument class
  • Commanding support
  • Bi-di and righ-to-left text
  • Enhanced data binding features (IDataErrorInfo, binding to non FrameworkElement elements)
  • Managed Extensibility Framework (MEF) support
  • Mousewheel support for a set of default controls like lists
  • Clipboard access
  • Right-click mouse event support so that you can create your own context menus

WPF convergence

WPF uses the same UI language as Silverlight, i.e. XAML. However, there are some important differences which make sharing XAML code directly between Silverlight and WPF projects impossible. The convergence of these two technologies is however very important and therefore you can see some evolution in Silverlight adopting implicit styles, WPF 4 adopting the Visual State Manager and animation easing.

Silverlight 4 is now also using the same Common Language Runtime (CLR), which means the same assemblies will work on WPF and Silverlight (binary assembly compatibility). We’re talking about pure library assemblies, not XAML.

WC RIA Services
.NET RIA Services has now been renamed to WCF RIA Services.
Walkthrough and source code of the keynote demo can be found here: https://jeffhandley.com/archive/2009/11/18/contososales.aspx

Feature requests for Silverlight 4

You can also let your feature requests be heard at https://silverlight.uservoice.com/pages/4325-feature-suggestions. During the PDC keynote, Scott Guthrie mentioned that about 70% of the Silverlight 4 feature requests are being implemented.

Learning and tutorials

Lots of stuff to dive into, have fun!