Microsoft released Silverlight 2 yesterday, and with it brought the full .NET platform to rich internet applications (RIAs), which are currently dominated by Adobe's ActionScript-based Flash environment.
The Redmond, Wash., company hopes that Silverlight -- its answer to Adobe's Flash -- will give it traction in the world of online applications, which are increasingly moving away from simple HTML or AJAX, said Brian Goldfarb, director of developer platforms at Microsoft. The company is emphasizing Silverlight 2's media capabilities, especially its Deep Zoom feature, which lets users zoom in on high-resolution images without having to download them in their entirety.
Knowing .NET won't enable a programmer to write Silverlight 2 applications right away, but it does get the programmer about 70% of the way, said Scott Stanfield, CEO of Vertigo Software, a Microsoft gold partner in Point Richmond, Calif. Most of the learning curve comes from Silverlight 2's version of XAML, an XML-based language that Microsoft uses to define UI elements, Stanfield said. That should be a bit easier with the release of Microsoft Expression Blend 2, which provides a WYSIWYG interface for creating Silverlight 2 elements, he said.
Microsoft hired Vertigo to recreate the website for its Mojave Experiment, a marketing campaign that had originally been created in Flash. The site currently features a 3D cloud of images which users can zoom through, each of which turns into a short video clip as the user zooms onto it. The application was written in Silverlight 2 from scratch in two weeks, Stanfield said.
Vertigo also used Deep Zoom in creating an application to show off Hard Rock Cafe's memorabilia collection in Silverlight. That program presents users with a table of image thumbnails which they can then zoom into -- in some cases, close enough to see the coils on an electric guitar's strings. That feature would have been very difficult to recreate with Flash but was included out of the box with Silverlight, said Patrick Colbert, director of customer relationship management at Hard Rock. Silverlight's streaming capabilities also lets users use the application without having to download each high-resolution image in advance.
Of course, the big downside of Silverlight 2 is that it requires a browser plug-in; Flash also requires a plug-in, but it's nearly ubiquitous. But Colbert said that the fact that other big names had already used Silverlight -- NBC used it to broadcast the Olympics online, and the Democratic National Convention used it for its live broadcast -- made Hard Rock more willing to use Silverlight instead of Flash.
Hard Rock is planning other Silverlight applications, although Colbert said he could not provide details. Although the platform is largely used for media-rich applications now, there's also significant interest in using it for business applications, such as ERP front ends, Stanfield said.
"Our phone is ringing off the hook for Silverlight," he said.
Silverlight 2's development environment
Silverlight 2 also works with the standard Visual Studio debugger that .NET programmers are already used to, said Tim Heuer, community program manager with Microsoft. Programmers can set debug points and look at objects and variables just as they would with any .NET program, he said. They can also use the debugger to look at traffic going back and forth between the Silverlight client and a server.
The debugger can even connect remotely to a Silverlight application running on a Macintosh, allowing a developer using Visual Studio on a Windows machine step through the code as it executes on the Macintosh.
A lot of those debugging features were technically possible in Silverlight 1, but "you had to work really, really hard -- you had to want to," said Jesse Liberty, another Microsoft community program manager.
The company stressed on Monday its open source and interoperability initiatives, focusing on its work with Soyatec, a Paris-based software company, to develop a Silverlight plug-in for the open source IDE Eclipse. The company is also working with Novell on Moonlight, an open source version of the Silverlight runtime, although it declined on Monday to provide a timeline for that project's completion; Moonlight is currently incompatible even with all of Silverlight 1.