inset
Silverlight Details Emerge, Expression Studio Ships
May 21, 2007

New details on Silverlight, Microsoft's cross-platform, cross-browser subset of the Windows Presentation Foundation (WPF), show that although the initial release of Silverlight is aimed at Internet video, the ultimate goal is a platform for Rich Internet Applications (RIAs), Web applications that have features and functionality traditionally associated with desktop applications but run locally in a Web browser through a browser plug-in. RIAs have the potential to help corporate developers build better full-feature browser-based applications and Silverlight could help Microsoft ensure that Windows remains the best platform for creating, hosting, and running RIAs.

Two-Stage Strategy

Currently in their infancy, RIAs pose the same long-term threat to Microsoft that Java did: if they become widely used in place of desktop applications, they could make alternate OSs, such as the Mac and Linux, more practical for consumers and business users and dampen demand for OS upgrades. (For a chart comparing RIAs with other types of applications, see "Rich Internet Applications Comparison".) The dominant platform for creating RIAs is Adobe's Flash, which has no particular connection to Windows or Microsoft's development platform.

Silverlight, Microsoft's new RIA platform, aims to stave off the threat of RIAs and Flash. While Silverlight applications can be delivered from any Web server and will run in multiple browsers, including Safari on the Mac, sophisticated Silverlight RIAs will be easiest to build with Windows development tools. Although Microsoft has no specific plans for a Linux version, it is evaluating the possibility for future versions and will make a decision based on customer feedback. However, for Silverlight to succeed, Microsoft must first take market share from Flash.

Microsoft is adopting a two-stage approach to gaining market share for Silverlight: the first release is targeted at Internet video, to be followed shortly by a more full-featured developer platform.

Getting to Ubiquity

Internet video, through sites such as YouTube and MySpace, has been a major factor in Flash's very high installed base: some estimates show 98% of Internet-connected computers have a video-capable version of Flash installed, and more than 55% have the most recent version, which was released in late June 2006, less than one year ago.

Microsoft is taking a similar tack with Silverlight: version 1.0, which is currently in beta and will ship in the summer of 2007, is aimed primarily at Internet video applications.

Silverlight 1.0 provides an environment for streaming and playing video encoded in VC-1, an industry-standard video codec originally developed by Microsoft and adopted by the Society for Motion Picture and Television Engineers (SMPTE). VC-1 is the primary codec used by Windows Media Video (WMV) and is one of several codecs used in both Blu-Ray and HD-DVD discs.

In addition to streaming and playing audio and video, Silverlight 1.0 allows developers to use the XML Application Markup Language (XAML) to create other user interface elements, such as navigation controls, and to customize the behavior of those controls through JavaScript. Graphic designers can use Microsoft's newly released Expression Studio graphic design tools to create user interface elements, including animations, as XAML files. Developers then import those XAML elements into Visual Studio and write the appropriate code to implement the remainder of the application, such as connecting to back-end systems. (For more information on Expression Studio, see the sidebar "Expression Studio Ships".)

At the Silverlight announcement, several partners showed Silverlight-based Web sites. Major League Baseball (MLB) demonstrated a Silverlight-based version of its site that allows subscribers to see live video of several live ball games, overlay game statistics on the video, switch to a high-quality full screen display, and participate in live chat sessions with friends. Netflix demonstrated an Internet-based video-on-demand service, built on Silverlight, that allows users to select a movie from a library, play the movie with little or no delay, display overlaid chapter controls, and invite a friend to watch the movie at the same time. Both examples demonstrated how Silverlight (and Flash, for that matter) can create Web applications that are significantly more interactive than either straight HTML or Asynchronous JavaScript and XML (AJAX). However, both examples were prototypes rather than fully functioning sites, and no ship dates or public availability were announced.

To further jump-start Silverlight, Microsoft is providing a free streaming service. Silverlight Streaming by Windows Live targets small developers who want to distribute their Silverlight content widely over the Internet but don't want to invest in the online infrastructure (e.g., storage and bandwidth) necessary to host these applications themselves. Silverlight Streaming offers unlimited streaming and up to 4GB of storage at no charge; beyond 4GB, customers will have to sign commercial deals, the terms of which will vary by usage and have not been publicly announced.

Building a Platform

Internet video is only the first stage. In addition to a beta of Silverlight 1.0, Microsoft released an alpha of Silverlight 1.1, aimed at providing a broader RIA platform. The most significant addition in Silverlight 1.1 is a cross-platform version of the .NET Framework, Microsoft's strategic development platform.

Building a RIA platform on the .NET Framework could make RIAs more popular with corporate developers. Currently, corporate developers building browser-based applications face the choice of simple HTML-based applications, which are easier to develop but have a limited user interface, and AJAX applications, which offer more interactive and full-featured interfaces but are considerably harder to create.

Silverlight 1.1 will be based on the .NET Framework 3.5, the version that will also ship with the "Orcas" release of Visual Studio (which is expected in late 2007), and will include the following:

  • .NET Common Language Runtime (CLR), including the same automatic memory manager (garbage collector) as the desktop version
  • Base Class Libraries, including network access
  • Portions of the .NET Framework class libraries, including data access, 2D graphics, and animation
  • Media integration with support for a variety of formats, such as Windows Media Video (WMV), Windows Media Audio (WMA), VC-1, MP3, and uncompressed audio (WAV).

With Silverlight 1.1, developers aren't restricted to writing Silverlight applications in JavaScript. Instead, they can use more capable languages like C# and VB.NET. In addition, the .NET Framework provides a more complete library of code to build on, particularly with Language Integrated Query (LINQ), a feature of the .NET Framework 3.5 that makes it easier to create and maintain applications that query data from remote sources, such as SQL Server.

Comparisons to Flash

Comparisons between Silverlight and Flash are inevitable: both are programmable browser plug-ins that provide platforms for RIAs, both support streaming video, and both are built around the idea that designers and developers should be able to integrate their work without "throwing screen shots over the wall" to each other.

Microsoft's most potent advantage is the fact that the .NET Framework, Visual Studio, and the C# programming language are widely used by corporate developers through Web platforms, such as ASP.NET. Adobe's developer tools are based on the open source Eclipse framework and lag significantly behind Visual Studio in many core areas, such as debugging. In addition, the VC-1 codec used by Silverlight can support HD quality video, something that Flash video is not yet able to do.

However, in addition to having a head start and a large installed base for the Flash runtime, Adobe is building on a very strong position in the graphic design market. Photoshop is used by virtually every graphic designer, and with Creative Suite 3 (CS3) Adobe is making Flash easier to integrate with its entire product line. In addition, Microsoft's tools run only on Windows, while Flash tools are also available on the Mac, the preferred platform for many graphic designers. Finally, Flash is already supported on a number of cell phones and other devices, including the very popular Nintendo Wii game console. Microsoft has not given any details on when or how it will make Silverlight available on such devices, saying only that it will happen after version 1.1.

Developers might also question Microsoft's long-term commitment to providing a cross-platform environment. Although Microsoft has produced Office for the Mac for over 10 years, it has also introduced and subsequently abandoned several other Mac products, including Internet Explorer and the Windows Media Player for the Mac. But the addition of Ray Ozzie as the new Chief Software Architect brings the possibility of a new approach. At the Silverlight announcement, Ozzie recognized the need many customers have to "make their services universally accessible across the Web" and said that Silverlight "is something targeted purely at the universal Web, that ubiquitous deployment, a cross-platform, cross-browser runtime that we believe can change the game."

Resources

The Silverlight home page, which includes download for both the 1.0 and 1.1 versions, is www.microsoft.com/silverlight.

Video from the MIX conference, including Silverlight demos, can be found at sessions.visitmix.com.

The Expression Studio home page is www.microsoft.com/Expression/default.aspx.