Optimizing the Silverlight Install Experience

One of the things that is important to think about when you start using Silverlight in your sites/applications is to make sure you handle the "what if the end user doesn't have Silverlight installed yet?" scenario.  Ideally you want to make sure that the installation experience for Silverlight is very seamless, and nicely integrated into your overall end user experience.

Silverlight "Indirect Install" Experience

By default when you use the Silverlight.js library to load a Silverlight control in a page, it will automatically detect whether Silverlight is installed on the visiting client machine, and if not prompt the user to install it via an install image the Silverlight.js library automatically injects into your page. 

This default installation option is a model we call the "indirect install" option - because when the user clicks the install link it automatically opens up a new window with the Silverlight EULA and download page on Microsoft.com displayed. 

The benefit with the indirect install option is that it works with any site (no custom JavaScript required).  The downside, though, is that your visitors will end up navigating to a separate page to install Silverlight, and the overall end user experience won't feel super integrated within the rest of your site.

Silverlight "Direct Install" Experience

Silverlight also supports an installation approach that we call the "direct install" option - where you can directly integrate the setup of Silverlight in your site, and build a much more immersive and user-friendly experience.

When a user who doesn't have Silverlight installed clicks the install Silverlight image, you can author your site to directly download the Silverlight setup from Microsoft.com and immediately kick off the setup program.  When the setup program completes, you can then automatically refresh the HTML page and immediately launch the Silverlight content on your site (the user doesn't have to navigate or manually click refresh to enable this).  The overall process takes less than 20 seconds on a broadband connection, and the end user experience feels really integrated and easy.

Silverlight Installation Experience Whitepaper + Sample

Earlier today we published a whitepaper and set of sample scripts that walksthrough how to build a Silverlight "Direct Install" Experience on your own site.  You can download them for free here.  You can learn even more about it on Tim Sneath's blog here.

The whitepaper and sample scripts demonstrate both how to enable the direct install experience, as well as how to design the HTML UI of the site so that you can easily encourage end users to naturally click the install link.

Silverlight Books

To learn more about how to use Silverlight 1.0 to build cool media and interactive experiences, also check out some of the new Silverlight 1.0 books that are now all shipping:

   

Hope this helps,

Scott

 

Published Tuesday, October 30, 2007 2:44 AM by ScottGu

Comments

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 7:32 AM by Mike

Doesn't the browser need to restart in order to correctly register and load the plug in? I know Firefox does. Perhaps this can be integrated into the installer somehow (I don't know if all browsers publish an API that allows you to restart them while keeping all opened pages and tabs).

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 8:54 AM by Eric

This is one of the areas where Adobe Flash is a more attractive option to me for my users.  If you go to a Flash-enabled site, you are presented with a "do you want to install?" option, you click yes, it installs, and you're done... no refreshing of the browser, nothing.

What's more is that the Flash publishing tools offer this as a standard method for publishing Flash; you don't have to author your site to do it.

Why can a more Flash-like download and install experience not be offered with Silverlight?

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 9:25 AM by Vikram

hmmm, Thanks for the information. This was useful. nay idea when is the next version comming? and when will the support for Windows 2000 be there?

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 9:30 AM by Steve

Hi, Have you got any news you can share about when and what is coming in Silverlight.  When will we see a beta of Silverlight UI Controls ?  

"hope this does not annoy..."

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 9:41 AM by xgluxv

great !!!

thank you

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 9:52 AM by Josh Stodola

This "direct install" idea is just fabulous.  Is there anything you guys don't think of?!  Unbelievable.

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 10:39 AM by Bryan

Awesome. Thanks for the update!

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 10:52 AM by Robert McLaws

I wonder why MS press chose an image of a soddering iron for the Silverlight book. Seems like a pretty odd choice.

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 11:46 AM by Justin Etheredge

One of the things that I thought I remember seeing a lot about early on with Silverlight was that unlike Flash it was based off XAML so it was all text and could be indexed/made accessible. It seems that everywhere I look now I see people injecting the Silverlight controls into pages with javascript which would make it impossible for a search engine to index the content of the xaml. Am I wrong on this or has Microsoft changed its guidance on how Silverlight should be used?

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 12:16 PM by Dave

Will the "Direct Install" work in FireFox?

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 12:25 PM by ScottGu

Hi Mike,

>>>>>> Doesn't the browser need to restart in order to correctly register and load the plug in? I know Firefox does. Perhaps this can be integrated into the installer somehow (I don't know if all browsers publish an API that allows you to restart them while keeping all opened pages and tabs).

It depends on the browser.  FireFox unfortunately does currently (although I wouldn't be surprised to see them change that in the future).  Newer versions of IE do not require that.

Hope this helps,

Scott

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 12:28 PM by ScottGu

Hi Eric,

>>>>>>> Why can a more Flash-like download and install experience not be offered with Silverlight?

If you don't have any Flash installed on your machine (like new versions of Windows Vista) then you have the same install experience as you do with Silverlight with Flash.

If you already have a previous version of Silverlight/Flash on your machine and are only being prompted for upgrades (which is the experience you are referring to when the dialog prompts), then we both have an in-place update mechanism that is very smooth.  You see this more with Flash sites today since Flash has obviously been out a lot longer.  Once Silverlight adoption increases you'll see the same experience with Silverlight.

Hope this helps,

Scott

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 12:29 PM by ScottGu

Hi Vikram,

>>>>>> hmmm, Thanks for the information. This was useful. nay idea when is the next version comming? and when will the support for Windows 2000 be there?

Windows 2000 support will show up with Silverlight 1.1.  Our next public preview of Silverlight will be a big one (lots and lots of new features - which I'll be blogging about more later this year).

Hope this helps,

Scott

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 12:30 PM by ScottGu

Hi Steve,

>>>>>>> Hi, Have you got any news you can share about when and what is coming in Silverlight.  When will we see a beta of Silverlight UI Controls ?  

I'll be doing a more indepth tutorial series on Silverlight development once I finish my LINQ to SQL series, and will talk about the complete feature set as part of that.  The beta of Silverlight 1.1 will have many, many, many new big features - including a lot of controls work.

Hope this helps,

Scott

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 12:31 PM by ScottGu

Hi Justin,

>>>>>> One of the things that I thought I remember seeing a lot about early on with Silverlight was that unlike Flash it was based off XAML so it was all text and could be indexed/made accessible. It seems that everywhere I look now I see people injecting the Silverlight controls into pages with javascript which would make it impossible for a search engine to index the content of the xaml. Am I wrong on this or has Microsoft changed its guidance on how Silverlight should be used?

The reason for the javascript for launching the control is mainly right now to detect when Silverlight isn't installed, and make the end-user installation experience seamless.  Since right now most browsers don't have Silverlight installed, this ends up being pretty important.  XAML itself is still crawlable by search engines, and there are other ways to make sure this gets indexed.  I'll blog about some of them in the future.

Thanks,

Scott

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 12:32 PM by ScottGu

Hi Dave,

>>>>>> Will the "Direct Install" work in FireFox?

Yes - this is fully supported in FireFox and Safari.

Hope this helps,

Scott

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 12:34 PM by ScottGu

Hi Shail,

>>>>>>> So should be think that whatever there is in Flex is also in Silverlight

In general yes.  Silverlight will pretty much have a superset of Flex functionality.  I'll be blogging more about some of the more application development features of Silverlight (controls, layout, databinding, styles/templates, application model, web services, data querying, etc) later this year.

Hope this helps,

Scott

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 2:43 PM by Jeremy

We are implementing Silverlight for a few sites that will be running on workstations that don't have permissions to install applications, so right now we're relying on IT to push Silverlight as an install on those PCs.  Would the "Direct Install" method be any different, or does that operate on a level where those PCs would allow it without IT having to be a part of it?

Thanks!

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 4:07 PM by Kiran

Hi Scott

Based on your earlier comments that Silverlight will be a superset of Flex functionality - is this comparing Silverlight 1.1 vs Flex 3.0 (currently in Beta) or are you referring to a version of Silverlight after ver 1.1?  Also no mention of VS2008 RC.  Is there no RC for VS2008?

# re: Optimizing the Silverlight Install Experience

Tuesday, October 30, 2007 6:40 PM by Steve

>>>>>>> Hi Steve,

>>>>>>> >>>>>>> Hi, Have you got any news you can share about when and what is coming in Silverlight.  When will we see a beta of Silverlight UI Controls ?  

>>>>>>> I'll be doing a more indepth tutorial series on Silverlight development once I finish my LINQ to SQL series, and will talk about the complete feature set as part of that.  The beta of Silverlight 1.1 will have many, many, many new big features - including a lot of controls work.

>>>>>>> Hope this helps,

>>>>>>> Scott

Scott, sounds fantastic.  Yes I am keen for more Linq to SQL tuts. as I have asked and you have replied before, I am especially interested in Linq going across the web to a rich client, be it silverlight or XBAP.  You have replied so I wont continue on about that.  Just want to say can't wait for any thing that Helps.  

Steve

# re: Optimizing the Silverlight Install Experience

Wednesday, October 31, 2007 3:52 AM by dms

hi scott,

nice content

# re: Optimizing the Silverlight Install Experience

Wednesday, October 31, 2007 9:50 AM by Martin

Hi Scott,

Is webcam and mic support going to be supported in the 1.1 release?

Martin

# re: Optimizing the Silverlight Install Experience

Wednesday, October 31, 2007 10:03 AM by jagadishsaraf

When I am Playing more than one video using SilverLight and hosted that on server my Question is whether that video use server memory or client system memory culd u plz help me

# re: Optimizing the Silverlight Install Experience

Wednesday, October 31, 2007 10:03 AM by jagadishsaraf

When I am Playing more than one video using SilverLight and hosted that on server my Question is whether that video use server memory or client system memory culd u plz help me

# re: Optimizing the Silverlight Install Experience

Thursday, November 1, 2007 10:47 AM by Gary

There's one thing you guys are missing. You guys promote running as a normal user and not an admin, but most installers you release (especially MSI-only packages) take more work to install when logged in as a normal user under XP. For the direct install of Silverlight, why doesn't the installer for this brand new software prompt you for admin credentials if necessary?

# re: Optimizing the Silverlight Install Experience

Thursday, November 1, 2007 2:23 PM by Eric

Scott,

>>>>>>> If you don't have any Flash installed on your machine (like new versions of Windows Vista) then you have the same install experience as you do with Silverlight with Flash.

This is not correct.  I just did a comparison on a new WinXP install with IE 7.  There was no Flash installed on the machine.  Here are the experiences:

1. Flash

- I went to one of my websites that were published using the standard Adobe Flash publishing tools

- I was prompted with an install

- The installation completed in the background, and the Flash immediately began to play

2. Silverlight

- I went to MDSN

- In the video area, I clicked the install icon

- After that, I had to run the installer, I could either save or run, I chose "run"

- When the installation was complete, the installer disappeared, and the page I was looking at didn't change.

- I figured on my own, that I need to refresh the browser, and when I did the Silverlight object played.

You have to understand my position here by understanding my audience.  I work in an industry where my customers can be anywhere from 5 to 10 years behind the technology curve (although they will have IE7).  I just can't release an application with an install process that requires these choices and guesswork.  Tech people like me can live with it, but Silverlight is a technology that requires consumer end-users to install.  C'mon! You're at Microsoft!  MS became such a successful company by making software that ANYONE can figure out how to use.

:)

# re: Optimizing the Silverlight Install Experience

Thursday, November 1, 2007 3:46 PM by ScottGu

Hi Eric,

>>>>>> This is not correct.  I just did a comparison on a new WinXP install with IE 7.  There was no Flash installed on the machine.  

Actually - Flash comes pre-installed on all Windows XP machines.  That is why the prompt to install/activate ends up being clean.  If you try it on a Vista machine (which doesn't have Flash pre-installed) you'll find the install experience not as smooth.  

>>>>>> When the installation was complete, the installer disappeared, and the page I was looking at didn't change.

The guidance we published above (which my blog post talks about and links to) details a more ideal install experience that you can do for Silverlight.  This integrates setup directly in the site, and automatically refreshes and plays the content on the page as soon as Silverlight is installed - no manual refresh required.

Hope this helps,

Scott

# re: Optimizing the Silverlight Install Experience

Thursday, November 1, 2007 7:09 PM by Dan Humiston

Why not push Silverlight out to all Windows users via Microsoft Update?  Let's not mess around here!  The two big challenges Silverlight faces is adoption of the plug in and a strong artist and developer community. You can't have a vibrant industry support until the install base gets above 90%.  Flash, the dominant format in this space has adoption rates of 96% (v9) to 98% (v6).  

# re: Optimizing the Silverlight Install Experience

Friday, November 2, 2007 9:30 AM by Sean Blakemore

Hi Scott,

Slightly off topic, I'm really excited about Silverlight and the possibilities for fast client side processing, I'd heard about the OpenFileDialog support and started having all kinds of ideas. All was going well until I realised there was no way to save my data! Why no SaveFileDialog? Please tell me this is on the way in the next refresh, surely there aren't really any security concerns when the user must explicitly grant access to a specific location for writing one file only?

It'd be such a shame if this wasn't supported...

Many Thanks,

Sean

# re: Optimizing the Silverlight Install Experience

Friday, November 2, 2007 9:55 AM by Eric

>>>>>> Actually - Flash comes pre-installed on all Windows XP machines.

>>>>>> If you try it on a Vista machine

About 2% of our website audience uses Vista, but I will try that when accounting gets around to approving my request for a new laptop ;)

On the same token, before I did my testing, I ran the Adobe tool that completely removes Flash from the computer, so the computer that I tested this on was WinXP with IE7 & no flash installed.

>>>>>> no manual refresh required

Thanks for clarifying, that is encouraging.  I'll talk more with Adam Kinney about this.

# re: Optimizing the Silverlight Install Experience

Friday, November 2, 2007 11:58 PM by ScottGu

Hi Sean,

>>>>>> Slightly off topic, I'm really excited about Silverlight and the possibilities for fast client side processing, I'd heard about the OpenFileDialog support and started having all kinds of ideas. All was going well until I realised there was no way to save my data! Why no SaveFileDialog? Please tell me this is on the way in the next refresh, surely there aren't really any security concerns when the user must explicitly grant access to a specific location for writing one file only?

The good news is that we are planning on adding a SaveFileDialog() before the final release of Silverlight 1.1.

Hope this helps,

Scott

# re: Optimizing the Silverlight Install Experience

Monday, November 5, 2007 5:01 PM by The Dude

If you really want to get silverlight adopted, then just roll out the silverlight player in a internet explorer update. Then maybe I will consider doing silverlight development.

# re: Optimizing the Silverlight Install Experience

Wednesday, November 7, 2007 2:01 PM by Webdroid

Hi Scott,

How would I go about optimizing theSilverlight install experience if pushing Silverlight via the ASP.NET Futures Media control?

Thanks in Advance,

André aka Webdroid

# re: Optimizing the Silverlight Install Experience

Thursday, November 8, 2007 5:06 PM by Ryan

Are there any plans to have Silverlight support some of the more advanced streaming protocols that WMS offers out of the box? I.e. rtsp and multicast streams. I'd love to use it for local network media streaming...

# re: Optimizing the Silverlight Install Experience

Tuesday, November 13, 2007 1:35 AM by Alex

Hi Scott,

Since we talk about Silverlight installations here... Why when newer version of Silverlight is installed (to view brand new samples of Silverligh .Net applications), current release of Silverlight refuse to work and install at all (when you try to install it, it says "newer installation of Silverlight is found"). Will Silverlight team keep this version politics for future versions?

# re: Optimizing the Silverlight Install Experience

Sunday, November 25, 2007 1:21 AM by Kulin

Hey Scott, is it possible to use the Silverlight SDK 1.0 or 1.1 with some sort of integration into VWD 2008? I installed Silverlight SDK 1.0, but it only offers to install a VS 2005 template, but doesn't detect VWD 2008/VC# 2008. Any thoughts would be appreciated.

# re: Optimizing the Silverlight Install Experience

Saturday, December 1, 2007 4:40 PM by Lloyd Sheen

I just cannot get this to install.  Vista Ultimate.  Says it is installed but will not work.  Please help.  I notice that many ASP tutorial videos are now Silverlight so I am SOL.

# re: Optimizing the Silverlight Install Experience

Thursday, December 6, 2007 2:36 AM by Lance Fisher

I know this is slightly off-topic, but is the starter kit for the Top Banana project going to be released.  I'm trying to figure out if I could build a similar project for audio that loads .mp3s from the client, and uploads the final product after the user finishes editing.

# re: Optimizing the Silverlight Install Experience

Friday, December 7, 2007 4:00 PM by Russ

Perfect!   I need to run a Silverlight control in a small popup window, so the redirect to the install page wouldn't work for me.

So I implemeted the "Direct Install" method and it worked perfectly!  Until I clicked on the "Silver License Agreement" link, which promptly tried to display the agreement in my small popup window.

Back to the drawing board?

Still, who's going to click on THAT link ;-)

Russ

# re: Optimizing the Silverlight Install Experience

Tuesday, December 11, 2007 5:57 AM by Willem

Hi Scott,

I would appreciate a write back capability for the stream of the OpenFileDialog when 'open with read-only attribute' has turned off by the user. Because CanWrite now always is false, I don't understand the reason for the existence of this checkbox in the OpenFileDialog in Silverlight 1.1 Alpha Sept. Will this come with SL2 or will there be an alternative?