Is Microsoft Silverlight a Viable Alternative To Flash?


Silverlight is Microsoft’s latest foray into the world of web media. While there are many individual components to Silverlight, essentially, it functions much like a wanna-be competitor to Flash (the Internet standard for rich, interactive media). What Microsoft is trying to do with Silverlight, is make the creation of this media much easier (anyone who has sat down to author a Flash file understands how intensive the process can be).

And while historically Microsoft has always been a bridesmaid when it comes to anything Internet related, they did manage to get NBC to use Silverlight to broadcast video on the web for the 2008 Summer Olympics. If you’d like to see Silverlight in action before you read any further, you can check out NBC’s Olympic site here (you’ll be prompted to install the Silverlight plugin before you can watch any of the videos…and um…be prepared for a lot of video “buffering” messages too).  Update: The buffering problems seem to have been fixed and may have been due to the surge of traffic opening night.

So the question is, when it comes to web video, how does Silverlight stack up against Flash? Well, to answer that question, I did my own small test.

I started with a 3 minute video shot in standard NTSC format (720×480) and saved as an AVI file. It was 7 GB in size. Then from this AVI file, I created both Flash and Silverlight files in the standard web size of 320×240.

For the Flash file, I used Flix Pro to do the conversion (Flix runs $250). I rendered the Flash file at a bit rate of 700. The resulting Flash file was 16.5 MB in size…and…it had excellent, near crystal-clear quality.

To encode the video into Silverlight, I used Expession Encoder 2 from Microsoft (this is Microsoft’s Silverlight conversion tool…it runs $199). The resulting Silverlight file was 15.7 MB in size at a bit rate of 700…and…while the video image quality was excellent, the video lost a noticeable amount of contrast.

Both Flix Pro and Expression Encoder make the job of embedding videos in your web pages easy…they (optionally) create video players, the necessary embed code and even the web pages. The difference? The typical Flash video embed will have 3 files; the Flash player, a Javascript file and the Flash video itself. With Silverlight, there were 11 files…plus the video itself. While all of these extra files were small Javascript files…that’s still a lot of baggage.

Another thing to keep in mind is that roughly 98% of Internet users can view Flash videos without being prompted to install any extra software or plugins. Not so with Silverlight. Unless you just bought a brand-new Windows computer, you’ll likely be prompted to download the Silverlight plugin before you can watch Silverlight videos (this extra step can force a lot of potential viewers to simply click away).

So what’s my bottom line recommendation on Silverlight? Well, as far as web video goes, I see no reason why to choose it over Flash. Now to be fair, Silverlight is intended for far more than just web video…but then again…so is Flash.

Maybe things will change over time…maybe Silverlight will find a niche where it’s the dominant force. Maybe Windows developers will jump on the Silverlight bandwagon and flood the Internet with useful, elegant, intuitive web applications. Or maybe once again Microsoft is already too late to the prom.


  • Hello,

    I’m Ben Waggoner, video nerd on the Silverlight team.

    When you compared the Flash and WMV videos, did you play it back in Windows Media Player or Silverlight? If you compare playback in Flash to Silverlight, you should get the exact same contrast from the same video source, unless there was some sort of big in the Flix encoder that caused it to exaggerate the contrast.

    Also, did you actually see buffering messages in the Silverlight Olympics player? If so, I’d love to hear the details (what event? Live or on-demand?) so we could take a look at it.

    In particular, the on-demand “Encore” content uses some new delivery techniques and should never result in a buffering message, as it switches bitrates dynamically.

    A couple of minor points:
    I should point out that Windows isn’t bundled with Silverlight by default. It is preinstalled by some vendors (including HP IIRC). In April we said we were seeing over 1.5 million installs a day of Silverlight, so our ubiquity is growing quickly.

    In terms of the number of files that go up on a server, I don’t know if that’s a big issue (the player files can be used once per site, so you only need one additional file per video file). But in Silverlight 2, we support the .xap packaging format so all the player assets can be in a single file if desired. Keeping at least the XAML (XML markup that describes the user interface) as individual files makes for very easy searching, and allows for embedded comments etcetera.

  • Hi Ben,

    Thanks for the comment…it’s encouraging to know that MS does pay attention to it’s users.

    On your first question, I compared by playing the video back in Silverlight. I’ve added a picture to the post showing a screen shot of the A/B Compare in Expression Encoder. I know it’s a photo, but the difference between the final rendered videos is the same.

    On the buffering issues, it was happening with nearly every video I tried to watch on 8-5-2008 around 9:00PM EST. It was even happening on the pre-rolls. Today, the buffering problems are gone (I’ve updated the post to reflect this). By the way, I’m on a premium cable connection at near T1 speed.

    However, one strange thing did occur today. Under “Videos”…”NBC Encore”…I tried watching “Chat with Nastia Liukin”. The screen was black as pre-roll audio for an Intel ad played…while simultaneously, I could hear audio from the interview. Once the pre-roll audio finished, the video for the interview appeared.

    Thanks for the clarification on the remaining points. I agree, the number of files going up to the server is not a big issue (most are only around 1k in size)…but I pointed it out because I know prolific video content producers are sensitive to those things.


  • Yeah, you can’t always trust the A/B compare in terms of luma levels; depending on your video card and drivers, it can shift a little bit. If you want to see how it’ll look in Silverlight (which has a consistant decode on all machines), you really need to play it back inside of Silverlight.

    I’ll let the people who were working on the networking issues pre-launch know thier hard work paid off :). Needless to say, this is the biggest streaming video project in history, so there’s a whole lot of work going in with CDNs to be able to deliver a huge number of live streams.

  • First, thank you for the information. I wasn’t even aware of Silverlight, so to learn about a new technology is always good.

    From the viewpoint of a video producer, albeit new, when I hear 11 files vs. 3, I get worried. That’s more opportunity for things to go wrong.

    If that issue is being fixed in the next version, that will help. But when it comes to trying something new, as they saying goes, “if it ain’t broke, don’t fix it”.

    It will take a lot to push me, and I am afraid a lot of other video producers, away from flash unless there is a compelling reason to do so.

    Just my opinion.

  • One of the most powerful things about technology today is we can publish in multiple formats so that when new media become available we aren’t locked into old or archaic modes.

    If I start hearing more about Silverlight I’ll probably start looking for a conversion tool and/or just buy it outright and offer that as an additional option. I have given up on my Apple II formats however.