With the release of Silverlight 3, Microsoft continues its race to catch up with the product's main competition-namely, Adobe's Flash. To a large degree, Microsoft has done a good job, adding many features that Silverlight lacked compared with Flash.
But Silverlight still lags behind Adobe's Flash-and behind Adobe's related products, AIR and Flex--when it comes to providing the capabilities that one expects from an RIA (rich Internet application) platform.
Further, Silverlight is still well behind Flash in terms of market penetration, which means developers looking to reach a wide audience will still choose Flash. (This is well-illustrated by the fact that Microsoft itself uses Flash for the much-talked-about video preview feature inside the company's new Bing search service.)
Still, Silverlight 3 is a promising entry in the RIA arena, and it is significantly improved over Version 2, especially in the areas of high-definition code support and in its ability to run outside the browser. While Silverlight may not overtake Adobe's offerings (or, for that matter, Java, AJAX or HTML 5), it could prove to be a powerful new tool in the arsenal of Microsoft platform developers.
The Mono-based Moonlight project provides Silverlight functionality for Linux users, although Moonlight's capabilities are not as rich as those of Silverlight 3.
To the Test
I loaded Silverlight onto Windows and Mac OS systems, and tested it using sample applications, publicly available Silverlight content and applications, and my own content.
From a user perspective, one of the biggest new features in Silverlight 3 is the ability to run applications out of the browser and offline. This capability which must be enabled by the developer, allows users to run Silverlight applications as stand-alone desktop applications, complete with the ability to run on startup and handle basic local data storage.
In tests, this capability worked well, but it isn't on the same level of a desktop platform such as Adobe AIR. For the most part, it is more similar to Mozilla Prism or Google Gears, though with richer media capabilities.
Defining an application for use outside the browser was a simple task. I simply chose Enable Applications Outside of Browser from the Project menu. Users of the application would then have the option to run it out of browser and to create Desktop and Start menu icons.
Another nice Silverlight 3 feature is Smooth Streaming, which is actually provided by delivering content using Internet Information Services on Windows Server 2008. This makes it possible to deliver content and have the content adjust its quality and bandwidth usage on the fly depending on the user's connection quality.
On the video side, Silverlight 3 joins Flash in its support of H.264 video and AAC audio, which provide high-quality Internet-based video and audio, respectively. Silverlight 3 also includes several interactive and 3D enhancements, providing greater content manipulation and control for users.