Microsoft’s MIX07 conference has stirred up the web development world with demos of Silverlight, a new platform for rich internet applications. Code-named WPF/e (Windows Presentation Foundation/everywhere), Silverlight brings the full power of WPF to browsers and eventually Xbox and mobile devices. On the surface, it’s much like Flash, distributed as a small browser plugin and providing an interactive, vector-based, event-driven platform for the web based on XAML.
What’s so impressive is that Silverlight will include a mini .NET CLR (common language runtime). You’ll be able to code Silverlight applications in C#, VB, JavaScript, Ruby or Python and run them right in the browser. Silverlight isn’t limited to Internet Explorer 7, so unlike .NET apps written to run as an ActiveX control in IE, you’ll be able to run your Silverlight application in Firefox or Opera, on a PC or a Mac, and even on mobile devices. The beta plugin is only available for Internet Explorer and Firefox on PC and Mac, but more support is on its way. The plugin weighs in at less than 4MB, a negligible download for broadband users and an amazing feat considering the technology packed into it. A smaller plugin is automatically downloaded and installed to play multimedia content that doesn’t need the CLR and other features, less than 2MB in size. Just a few lines of code gives you browser and platform-agnostic high definition (720p) video streaming.
A Silverlight community site has already opened with everything you need to test the waters. You’ll find beta and alpha versions of the plugin, a beta of the next Visual Studio and development tools for Silverlight, SDKs and documentation. You’ll also find working examples to check out just what’s possible with this platform.
Performance is really impressive here. The media players demoed for Silverlight offer much higher quality than anything YouTube can offer with Flash while downloading and starting nearly instantly, and downloading the videos being played equally fast. You can have multiple videos playing without stuttering or flickering. Relatively complex interfaces seem to appear instantly without the “Loading…” splash screens so common in big Flash movies. Code runtime is phenomenal as well. .NET code for interactive web applications is many times faster than equivalent JavaScript, and JavaScript run through Silverlight is faster than running through the browser. That code can reach outside the Silverlight container into the DOM of the webpage, making it a complete rich internet app environment, enabling faster, more interactive, and more visually complex websites.
Tie this in with the Expression Studio line of web design, development, and multimedia tools Microsoft just released, and you’re looking at a whole new web with Microsoft leading the way. As Robert Scoble put it, Microsoft “rebooted the Web”. Bringing .NET to the web (and not just in their browser), creating a delivery platform for high definition media, and putting all the tools out there for developers to transition to this easily, I have no doubt this is going to be big. It also spells doom for Adobe’s Apollo Flex platform. There’s simply no comparison.



John Dowdell
May 2nd, 2007
Hi, just checking… you’re aware that YouTube uses casually-produced video, often compressed, which is then recompressed on the server to the final video format before being displayed by Adobe Flash Player, right?
I’m not sure of Microsoft’s eventual download sizes, performance, or capabilites. (The current Mac 1.1 alpha is 10.3 megabytes, for instance.) Some creators do choose to use “Loading” screens, but I prefer it when SWFs just start up in the usual way, “in a flash”. Adobe’s Apollo project is not an in-browser plugin, but instead brings normal web apps to the desktop, as standalone applications which can read/write the local drive… different thing entirely.
I think the title may actually be “A Whole New Web Starts Five Years Ago”, but I won’t insist on that one….
cu, jd/adobe
Dan
May 2nd, 2007
You’re right, I meant Flex, not Apollo. And the Mac plugin is indeed larger than 4MB, as it’s a universal binary, although this is all still a beta.
Tom
May 6th, 2007
Silverlight is a good compliment to an existing Microsoft-supplied development stack. It’s not the second coming of Christ. It’s not “a new web”. It’s still a third-party plugin that requires a download that doesn’t work on all browsers. It’s a better Flash with ActionScript replaced by new libraries for your [limited] language of choice. Dan, I expected you to look at this differently than the rest of the hype-mongers.
Oh well, lets jump on the bandwagon before it fills up!
Nick Ohrn
May 15th, 2007
I agree that this new Microsoft initiative is a huge leap forward in RIA on the web. I think the biggest advantage is that you can take advantage of almost the entire .NET CLR when using Silverlight. That gives an extensibility that Adobe’s Flash can only dream of.
I hope, however, that both platforms succeed in the places that they deserve to. Microsoft’s solution will be integrated into current .NET development stacks, and Flash will continue to be prevalent across the web. Maybe we’ll end up with Flash being used for animation and Silverlight for video playback (like they’re intended for) but I guess only time will tell.