Microsoft Silverlight 3, Microsoft's much-enhanced rich internet application platform runs on Windows or Mac desktops, online or offline
Recently we've been hearing from Adobe on a regular basis about adoptions of the Adobe Flash Platform by large media organisations for streaming media content to the web both live and on demand. We've been hearing rather less from Microsoft about Silverlight adoptions.
We think that part of the reason is that Adobe leapfrogged Microsoft last winter in the area of media support, particularly H.264/Advanced Audio Coding (AAC) audio and full HD video playback. These and many other capabilities are included in Microsoft Silverlight 3, which is currently in a beta that does not include a "go live" licence, but will most likely be released in July.
Another area where Flash and Flex were ahead of Silverlight is Windows and Macintosh desktop operation. A number of desktop Flex/AIR applications have become popular, especially Twitter clients; examples include TweetDeck, Twhirl, DestroyTwitter, and Seesmic Desktop. (Let's ignore the memory leak issues they all have in common for the moment.)
Microsoft Silverlight 3: out of the browser
Silverlight 2 didn't have a viable way to run on a desktop; the best a developer could do along those lines was to build a desktop WPF (Windows Presentation Foundation) application based loosely on a corresponding Silverlight RIA (rich internet application). Microsoft Silverlight 3 addresses those issues very nicely, with easy ways to install Silverlight applications on a desktop, update them in place, detect Internet connectivity state changes, and store information locally and securely.
What else was wrong with Silverlight 2? From a developer's point of view, no single tool covered all needs; Expression Blend 2 did graphical XAML design but couldn't edit code, and Visual Studio 2008 did code editing and XAML editing and preview, but couldn't do graphical XAML design. That will be fixed in Expression Blend 3 and Visual Studio 2010, both of which have solid betas. For designers, the Expression Blend 3 Preview already imports Adobe Photoshop and Illustrator files, another lack in Blend 2, and will add "SketchFlow" prototyping and interactive behaviours in a future release.
In addition, Silverlight 2 lacked 3D graphics, pixel shader effects, writing to bitmaps, animation effects, themes, decent data binding, and a reasonable assortment of controls. Those deficiencies are all fixed in Microsoft Silverlight 3.
Microsoft Silverlight 3: rich and obscure
One problem area that Flash and Silverlight have had in common is SEO (search engine optimisation). A search engine such as Google can only see the text on a web page; RIA applications historically have not displayed usable text or allowed external links to states "deep" inside the animation, concentrating instead on their forte - flashy graphics.
Silverlight has long been strong on execution speed and language support. Both of those are getting better still in Microsoft Silverlight 3.
We do not expect many Adobe shops to give up their Flash, Flex, and AIR for Silverlight 3. We do expect many Microsoft shops to do more RIAs with Silverlight now that it's more capable and to create lightweight browser/desktop Microsoft Silverlight 3 applications where they might have fashioned heavier-weight Windows Forms or WPF client applications. Some mixed but Microsoft-oriented shops might phase out their Adobe work in favour of Silverlight on integration grounds, but some won't. Meanwhile, the next generation of streaming media adoptions are likely to be closely contested, now that the two technologies are near parity. Of course, in a few months everything will change again. Stay tuned.