19 November 2009

Silverlight 4 beta: First impressions for rich application development

It’s only a few months since Microsoft launched Silverlight 3, but a beta build of the next version of Silverlight is already with us.

Microsoft have an aggressive development agenda for Silverlight and they are starting to make some pretty bold claims for the Silverlight penetration rates in contrast with their traditional reticence on this subject. “45% of internet connected devices worldwide are using Silverlight” is a recent, rather carefully-worded Microsoft claim, which strikes me as about as reliable as the penetration statistics offered by Adobe.

Dubious marketing claims aside, Silverlight is, in my opinion, less of a Flash challenger and more of an Air\Flex killer. The direction they are taking with Silverlight 4 does seem to support this view: enhanced rich interface controls, stronger support for out-of-browser applications and enhanced media playback all point to a platform which is making a play for the richer end of the application market.

Trusted out-of-browser applications

A number of features of Silverlight 4 could be seen as Microsoft’s response to the threat of Adobe Air, none more so than the ability to compile and deploy trusted applications. Trusted applications let Silverlight out of its sandbox, allow out-of-browser applications far greater access to the target machine resources, including :

  • Access to the local file system, complete with file open and save dialogs
  • Native integration, including the ability to interact with system resources and applications
  • The ability to make cross-domain network calls without a policy file

Other enhancements for out-of-browser applications include tighter integration with HTML display via a new WebBrowser control and HTML brush and a system of notication windows – referred to as “toasts” by Microsoft.

Component-based architecture

The new Managed Extensibility Framework (MEF) allows for a more flexible, component-based approach to Silverlight applications, which can now be composed of a series of different parts. These parts can be downloaded to the client dynamically, reducing the initial download required to install and run an application.

Apart from the potential performance gain, this architecture allows content and functionality to be added after an application has been deployed allowing far greater flexibility over incremental and phased development.

Enabling n-Tier applications through RIA Services

Microsoft are encouraging the development of more sophisticated data-driven applications via the WCF-based RIA Services. These provide a framework for building n-tier data applications using Silverlight as the client and ASP.NET as the middle tier. They are shipped with Silverlight 4 and provide a standard pattern for functions such as authentication, querying, filtering and paging of data.

Video delivery, including rights management

Apart from rich application development, Microsoft are keen to promote Silverlight’s use in video and broadcast – their multi-cast NFL application remains one of their key and most often quoted case studies. This focus on digital delivery is continued in Silverlight 4 with close integration with Windows Media Server, support for content protection through digital rights management and audio and video recording,

New features for application developers

From a development perspective the platform is being rounded out with a long wish-list of enhancements for developers including support for printing within a Silverlight application, enhanced form controls, an improved development environment in VS 2010, integration with webcams and microphones, the ability to pull information in via drag and drop and cut and paste, and improved localisation support for non-European languages.

There’s also been some serious work done on performance with a 200% performance hike, despite that fact that raw processing power has never a problem with Silverlight in comparison with rival rich application platforms.

But… the Achilles heel remains

Silverlight 4 might be introducing support for Google Chrome, but its cross-platform capability remains limited. Where Flex can run on pretty much any platform under the sun, Silverlight is still restricted to a very limited operating system and browser range. There’s no sign of extensive mobile support either, with Windows Mobile and Symbian support little more than a possibility for 2010.

As a business-to-business rich application platform, or a means of delivering content in an enterprise or behind-firewall scenario, Silverlight does have a growing advantage over its rivals in terms of functionality, development tools and performance. However, it’s difficult to see Silverlight making genuine headway in consumer applications until it improves its cross-platform spread.

Filed under UI Development.