nav search
Data Center Software Security Transformation DevOps Business Personal Tech Science Emergent Tech Bootnotes BOFH

Has Microsoft matched Flash with Silverlight 3?

Redmond certainly hopes so

By Tim Anderson, 19 Mar 2009

Mix 09 Traditionally, version 3.0 is the moment when everything comes together for Microsoft. Has the company pulled this off with Silverlight 3.0, the beta of which was announced today here at Mix 09 in Las Vegas?

The list of new features is impressive, although behind almost every announcement, you can sense Microsoft looking nervously at what Adobe Systems is doing with Flash, both as a media client and as an application platform.

Adobe has AIR, for example, for desktop Flash applications. So, Microsoft has announced Silverlight out of the browser. Developers enable this with a couple of lines in the XML manifest, which configures a Silverlight applet. Users can then right-click and select Install onto this computer. It is also possible to create an install button programmatically. This copies the application locally and creates a shortcut to start it.

There is no security prompt, because Silverlight out of the browser is sandboxed in the same way as Silverlight in the browser. Access to local storage is limited to Microsoft's Isolated Storage, which is an application-specific area. It is 25MB by default but can be increased with user consent. You can write code to detect whether the system is online or offline, and changes in network status trigger an event you can handle. Application updates are near automatic when the version on the Internet changes.

What's different between AIR and Silverlight out of the browser? Quite a lot. Most AIR applications ask for full, local-file access, which means passing a security prompt. Microsoft's vice president of the .NET development platform Scott Guthrie told us this is a key point.

"End users are concerned when they see a big security dialog. What we're doing with Silverlight is to provide a sandbox experience. That starts to dramatically increase the number of scenarios where people feel comfortable clicking OK," he said.

Sandboxing is a double-edged sword. There are scenarios where an AIR application can make good use of its greater permissions. AIR applications also have features that Silverlight lacks. Only pure Silverlight applications will run out of the browser. If your application also needs HTML or script running in the browser, it cannot work, whereas AIR also includes WebKit for offline browser applications.

AIR also has a local-database manager, embedded SQLite. AIR has support for the notification area - sometimes wrongly called the system tray on Windows. Silverlight out of the browser will probably have this, though it is not certain. "It's something we will enable, but I don't know the timeframe," Guthrie said.

Microsoft has also addressed weaknesses in Silverlight's remote-data support. A new binary XML protocol means more efficient access to data delivered as XML. There is also a new server-side feature called .NET RIA Services.

"You can expose a domain service and do change tracking of any data you retrieve, submit the changes back, and the server will revalidate and then persist," explained Guthrie.

This is a REST service that builds on ADO.NET Data Services, once known as Astoria, and will be usable from AJAX web applications as well as in Silverlight. Data comes down by default in JSON format. Automatic synchronization of offline changes is not yet included, though Guthrie said: "The architecture is designed to enable that in future."

Small package

Silverlight 3.0 will still be a relatively small download - the beta is just under 5MB - but additional .NET Framework pieces can be downloaded on the fly and cached locally, so that all applications can share them. There are now more than 60 controls included. Deep linking enables URLs to point to places within your Silverlight application, which enables sane back-button support in the browser as well as being search-engine friendly.

Another Search Engine Optimization (SEO) feature is an ASP.NET add-on that mirrors dynamic content into HTML for indexing. Text and font support is improved by ClearType, though this is not in the beta. There's also support for multi-touch, but only on one operating system. "The only implementation right now that supports it is Windows 7," Guthrie said, although the API is designed to support other implementations as they become available.

Silverlight 3.0 is much improved for graphical and multimedia applications. There is a new 3D API. "You can take any control, any media element or image, and apply a 3D effect or transform to it", Guthrie said.

There is also a raw pixel API. On the media side, there's support for H.264 video and AAC audio, hardware based media acceleration for both full-screen and partial-screen applications. There is also what Guthrie called a "raw video pipeline" API, enabling custom codecs written in C#.

A new media services add-on for Internet Information Services enabled adaptive streaming, where clients get a higher or lower bit rate depending on client support and network performance. This can change dynamically in response to changing conditions.

Silverlight 3.0 is available now in beta, with full release promised for later this year. Visual design will be available in Expression Blend 3.0 and also in Visual Studio 2010, though since Silverlight 3.0 will come out before the new Visual Studio, developers will initially need to work in Visual Studio 2008 with visual preview rather than a full visual designer.

Version of 3.0 of Microsoft Expression Blend design tool will have support for SketchFlow, which lets designers add interactive features without writing code, as part of the designer to developer workflow. There is also support for importing from Adobe PhotoShop and Illustrator, with full layer support.

This is impressive work, and there is no doubting Microsoft's commitment to Silverlight and the progress it has made. Microsoft's problem: sites like riastats.com show that Silverlight is only installed on a minority of browsers, currently around 20 per cent, compared to Flash on around 95 per cent.

Microsoft is being generous with its terms for encoders and streaming add-ons for Silverlight, in an effort to increase adoption. Nevertheless, for developers in search of broad reach, Flash is currently more attractive. And while Microsoft may achieve high penetration on web browsers, getting onto non-Windows mobile devices will be more challenging. ®

The Register - Independent news and views for the tech community. Part of Situation Publishing