First time here?

You are looking at the most recent posts. You may also want to check out older archives. Please leave a comment, ask a question and consider subscribing to the latest posts via RSS or email. Thank you for visiting!

First a word on the “continuum” I keep hearing about for applications.  I’d like to apply it to my digital lifestyle.  You know that vision where you only have one place to keep your music, but can access it anywhere, etc., etc.  I still haven’t hit nirvana like that yet, but for movie watching it’s getting close.

I used to be a customer of Netflix when they first launched.  To be honest, at that time their pricing was singular and I just wasn’t watching enough movies at home to warrant the cost, so I ended my relationship.  Now I have kids, travel a bit, have an XBOX, etc.  For me, Netflix has become more relevant as a matter of convenience…oh and the fact they have a pricing model that totally fits in line with my use.  The thing that is great about Netflix for me now is that they “get it” with regard to how digital and old-school movie rentals can/should occur.  Why? Simple, it’s everywhere for my lifestyle now.  My Netflix account enables me to get DVDs the traditional way (even with Blu-Ray even though I don’t have a player, but nice to know the option is there) as well as digitally.  Recently they changed their Watch Instantly capabilities to use Silverlight.  But that wasn’t all.  With the launch of the XBOX next generation experience, Netflix now has an application for the XBOX.  So now I can get DVDs, watch on my computer(s) and watch on my home theater system.  All with one account, one place, etc.  The only missing piece is a supported/legal way to download to my portable media player (iPod, Zune, etc.).

The one thing that I really like about the instant watch capability is the fact that it remembers where you were.  So if I am traveling and start watching a video but couldn’t finish, when I get home to my XBOX, it starts where I left off.  Nice polish on that feature.  I can still start over if I want, but it is great to see that added value of watching where I left off.  For me, Netflix truly has figured out fast how I want to watch movies and innovates to offer the options for me.

I was showing my family these features and went to a PC in my house to show them the instant watch capabilities as an example.  It just so happened to be a machine that didn’t have Silverlight installed on it yet for some reason.  After logging in to my Netflix account and picking the first movie to demonstrate to them, I was greeted with this images:

It was a reminder of two things for me: 1) that I didn’t have Silverlight installed and 2) what paying attention to the install experience of your web application features can do to enhance the experience and loyalty of your customers.  You see in reality Netflix could have just left the default Silverlight install experience:

on a blank screen.  For me, I would have known what that meant and still been reminder.  But I’ve ranted about providing a great Silverlight deployment experience, about some easy ways of implementing it and how important it is not to assume and to optimize your rich client experiences for your users.  Netflix nails it and is the best example I’ve seen yet.  Period.  Let’s examine the key areas here (numbering mine):

Netflix focused on the main tenants of first impressions with new technology:

Maintain Visual Cues

Netflix keeps the user engaged, not by using the default Silverlight install image, but by maintaining a consistent user experience in the design.  Although the user has chosen to “watch instantly” and they are not there yet, this design helps keep a consistent brand recognition and even shows a player in the background a little bit.  This tells the user that they are still starting along the same action they desired.

Focus on the Content

Content is king.  Content is king.  Nobody will install anything if they don’t believe the content is relevant.  Look at how Netflix uses some personalization in this experience.  In section 1 you can see that they’ve alerted you about the content you chose…they haven’t forgotten about your desire.  They also put the DVD cover as a part of this experience to remind you of the content you wanted to watch.  This is HUGE to the experience.

Reduce Barriers to Entry

Some people might be apprehensive about installing new things.  In section 4 Netflix helps alleviate some concerns by showing the value of the action, and assurance that this is not something that has to do with advertising, etc.  They are providing you with additional information to help you make a decision and help you feel that the process is relative only to the task you requested (watch instantly).

Set Reasonable Expectations

In section 2, the authors of this experience help give some reasonable expectations to the user with “it only takes a minute” instructions.  This gives the user a reasonable expectation of time.  They have a reasonable assumption now that they aren’t downloading the entire movie, or something huge that will take 20 more minutes before they can watch their selected video.

Minimize Decisions

They haven’t given you any other offers here.  No option to create a new account, or sign up for other methods.  You’ve asked to watch instantly and that’s what they are presenting here…the option to do that.  They are making that decision clear in section 3 as well – this is the call to action…no other.

You may also notice the absence of giant Silverlight logos.  To me, this is a good thing.  It is important that you provide some context to your users about what they are installing if it isn’t directly from you though, whether it be from Microsoft, Adobe, wherever.  Here Netflix points out “Install Microsoft Silverlight” which puts in your mind the brand of Microsoft.  This way when the installer shows up it isn’t a surprise it isn’t from Netflix.  Perhaps adding the Silverlight brand/logo in a subtle way wouldn’t be a bad touch here to have some visual recognition and continuity from this screen to the installer.


Creating these experiences is an important step in managing first impressions.  It isn’t difficult to do either.  We provide some tools and support scripts (Silverlight.js) for you to understand the different scenarios.  Over time as more and more get Silverlight installed this will be less of an issue, but still shouldn’t be ignored.  I’ve seen many Flash sites that use the default “Get Adobe Flash” small icon and wish they would concentrate just as much on the experience as well.

I mentioned that the Silverlight.js file can help aid in detection/installation of Silverlight.  I’m curious your thoughts on it.  If you have a few minutes to spare, I’d love for you to take this very quick survey of your impressions of this technique and using the Silverlight.js script.  No personal information is required.

Bravo to the Netflix team…very well done.  Oh, and the experience isn’t that bad either ;-) -- Seriously though the player and bandwidth/quality detection is great.  Overall Netflix has won me back as a customer for sure!

This work is licensed under a Creative Commons Attribution By license.

12/2/2008 1:05 PM | # re: Silverlight install experience best practices
I recently signed up with netflix and had the same experience. The silverlight streaming works very well and with high quality video. I also recently purchased a roku box that connects through wi-fi to my netflix account and streams video directly to my TV. It works great!
12/2/2008 1:58 PM | # re: Silverlight install experience best practices
When I clicked "Watch Instantly", they prompted me to install a non-Silverlight viewer. After a quick search, I found this, http://www.netflix.com/silverlightoptin Once I joined the beta, it defaulted to the Silverlight viewer. Just a little info to help people along.
12/2/2008 2:14 PM | # re: Silverlight install experience best practices
Jack: Thanks for the reminder. You can read about it on the Netflix blog (which has some other fun information about behind-the-scenes of their services as well) blog.netflix.com/.../...-netflix-movie-player.html.
12/2/2008 2:58 PM | # re: Silverlight install experience best practices
That is quite impressive - I like the way they nicely integrated it in as you suggest.

Very cool!
12/2/2008 3:11 PM | # re: Silverlight install experience best practices
Nice post. I know this post works for for most of the users but we really need to have an option for installing SL in a corporate environment where the user does not have admin rights. Is it possible now?
12/2/2008 3:12 PM | # re: Silverlight install experience best practices
Pic: Do you want to deploy it via administrative options (i.e., SMS services) or are you asking for per-user installation capabilities. If the latter, we don't have that support yet.
12/2/2008 3:23 PM | # re: Silverlight install experience best practices
Tim - Yes. The latter (per-user installation capabilities). I hope it's under considerations for the future. Thanks for the info
12/2/2008 3:37 PM | # re: Silverlight install experience best practices
Hello Tim,

How can we handle the events after installation... At present when I click on Install it goes to the Microsoft site, is there any way to automate of postback once the installation has been done.

I'd rather prefer to have an installation without MS site redirection.
12/2/2008 3:45 PM | # re: Silverlight install experience best practices
Rick: It shouldn't go to a MSFT site. If your 'not installed' experience links to the correct install URI, then when clicked it should deliver the bits directly. Do you have a URL?
12/2/2008 4:04 PM | # re: Silverlight install experience best practices
I've been an enthusiast of Netflix since their earliest days, and in fact interviewed Reed for a consumer experience magazine, The Perfect Vision.

The Silverlight approach they have in place now delivers a tremendous UX: press a button, and The Fifth Element starts streaming across a 24" monitor. The video quality seems to be roughly DVD. The install was quite easy. Although I was using WMP to play something else at the same time (oops!) it got through that OK, just complaining that it needed to update the player DRM, which it seemed to do even through an instance of WMP was active.

Tim: is there an easy way to see the actual bitrate coming through? Checking the code, all I can find is <9 Mb/s, which is correct, but can one get more information about the stream from the client itself?
12/2/2008 5:10 PM | # re: Silverlight install experience best practices
I just tried to check it out on a clean machine and it tried to get me to download the old non-Silverlight movie player. I guess the SL version is only available for XBox and perhaps Macs at the moment? Any chance you know of a backdoor to check it out on a PC?
12/2/2008 5:17 PM | # re: Silverlight install experience best practices
oops, nevermind... I missed Jack's post.
12/2/2008 7:57 PM | # re: Silverlight install experience best practices
Nicholas: send a note to Netflix via their blog about that request. I think there is, but not sure if it is a end-user feature ;-)
12/11/2008 5:51 AM | # re: Silverlight install experience best practices
I have to distribute silverlight 2.0 to my corporate environment and will be using Tivoli to do so. My biggest issue I have now is to set everyone's plugin so it is set to 'Never check for updates' since they have locked down PCs.
7/2/2009 10:21 AM | # re: Silverlight install experience best practices
Netflix streaming on Silverlight is truly terrible compared to the previous WMP plugin. Once you opt in Netflix don't let you go back, either, and they force you to use it on any PC you use. If you currently have the standard Netflix player, don't even think of downgrading it to Silverlight; you'll regret it. It's so bad, I've now canceled my subscription. If I want poor quality, blocky video that skips 2 frames out of every 3, I'm sure I can find it elsewhere for free. Most free services are better, in fact.
8/16/2009 12:03 AM | # re: Silverlight install experience best practices
It's definitely too late to write comment on this latest year post, but my disagreement with your position that installation is the provider responsibility is so deep I could not resist to write this.

I absolutely sure that pushing installation experience out of main concern of MS is single most gravest mistake MS have done.

The whole "web as platform revolution" in my opinion is, in fact, just a reaction for horrible installation experience for native applications!

As a developer, when I am choosing between web and native (.net included), I am not choosing between "broad reach" and "narrow reach". Ironically, in today world "narrow reach" means 90% of windows computers and "broad reach" means "support all available browsers (5?)".

So, it would be natural choice for me to write my application natively for Windows only (with hosted data, of course) to achieve "write once - reach 90% computers".

But, of course, in reality, I still choose web app. The reason is simple - to start running new windows app in Windows is the great pain!!! I repeat it again. IT’S A GREATE PAIN!!! And again. IT’S A GREATE PAIN!!!

Of course, I can (as you suggest) relieve this pain for users by elaborating and finely tuning and crafting the installation procedure. But why? It is infrastructure, not my application!

So, I have to... no, I am FORCED to write web app. By MS itself.

The real choice I have is not between "broad" reach vs. "only windows reach". All my customers use Windows, for Pete sake!

The choice is this:

1) "If you want your customer to not install infrastructure for your app - use web".

2) "if you want your customer (or you as developer), feel real pain starting using your app - use Win Installer, OnceClick, whatever.

Why AppStore could figure it out what should be installation experience for native app?

Why MS always screws the very start of using new application?

And now, MS made it again with Silverlight. Instead of seamless loading 4Mb (less the app itself) WITH application that user wants we have a whole separate process to install framework, with separate user agreements, that makes user think “should I bother?”

And, after screwing this (I don’t blame you personally), you (and by you I mean MS) provide very good tips how to not scare user to still use my program.

Ironic, isn't it?
8/16/2009 7:54 AM | # re: Silverlight install experience best practices
Oleg -- interesting comments. You bring up windows client, you bring up AppStore...two both predictable models that make installation easier. How would you suggest we would have made the Silverlight experience predictable? How would we have known what the size of the application would be? Whether it would be out-of-browser or not? What about localization? I would love to hear your opinions on these...most overlooked when people complain about this. I've not found a single consistent pattern in Silverlight applications that would have allowed us (MSFT) to create a predictable template for installation.
8/16/2009 4:42 PM | # re: Silverlight install experience best practices
Tim, first of all I would like to apologize for the rough language (both emotionally and grammatically) of my previous comment.

In fact, you (and your team) are the last person I would blame for "installation mess". And I appreciate this post of yours greatly. It is very rare to see MS encouraging (and helping!) developers to make great installation experience. Also let me underline that Silverlight team itself made a _great_ job to make installation as painless as possible (4MB only, auto upgrade etc). That is why I anticipated SL so much. That is why OOB brings so much interest and excitement.

The only missed link – why is it not a part of OS? Why still the question – “You have to install Silverlight first. Do you want to”?

I know that you give me a million reasons why – both technical and legal. And that is exactly my point. Either these challenges will be met or I will have to drift to browser app model, where there is no such question at all. And while I still will be using Windows to host browser for a while, a browser - not OS – becomes delivery platform for application, with all future consequences for MSFT as OS developer.

As for your specific questions – I personally consider that current OOB installation model as an ideal (for example, here http://www.thirteen23.com/experiences/desktop/ted/ - they totally could throw the word “install” away). That is under one condition that SL is already installed. Otherwise you have to make a lot of excuses as in Netflix installation workflow (again, their work is great!) and hope that user will forgive you (and installation itself won’t fail)

And I really, really want the same experience for common .NET apps. Imagine that clicking on link would bring not “download” dialog, or ClickOnce dialog, but instantiate usual windows chrome and everything further would be inside application itself. Of course it’s not the responsibility of your team. But you are still closer to MS, so to whom I can tell all this?:)

And thank you for Silverlight!
8/17/2009 10:37 AM | # re: Silverlight install experience best practices
Oleg -- I like the approach the TED player took as well...perhaps you saw my post a few days ago: timheuer.com/.../...ser-force-install-pattern.aspx. As to how an install experience should be, I've put up two samples implementing our guidance at http://timheuer.com/silverlight/install (this is the more polished one. If you have SL you'd show your application, right now it shows a crappy lamo tim heuer special :-)). Simpler http://timheuer.com/silverlight/install/simple

Please add 8 and 7 and type the answer here:


The opinions/content expressed on this blog are provided "ASIS" with no warranties and are my own personal opinions/content (unless otherwise noted) and do not represent my employer's view in any way.