Welcome to Pete Brown's 10rem.net

First time here? If you are a developer or are interested in Microsoft tools and technology, please consider subscribing to the latest posts.

You may also be interested in my blog archives, the articles section, or some of my lab projects such as the C64 emulator written in Silverlight.

(hide this)

Silverlight Install Experience for MSDN East Coast News

Pete Brown - 01 September 2008

I’m putting the finishing touches on our first beta of MSDN East Coast News and decided to provide a customized install experience.

The out of the box installation experience looks like this:

image

That works, but really isn’t acceptable for this application. It doesn’t show the user why they would want to install this application.

FWIW, I have the same beef with adding applications within facebook. The “add application” UI (now the same thing for the “allow access” UI) doesn’t give you any hint as to what the application looks like or what it might do:

image

Now, you can click through on the link and see what the application is all about, but it would be better to have the app author put something on this page that showed you what you were getting into. Anyway, I digress, but the point is you want to provide the user with some information that will allow them to make an informed decision when they are presented with the prompt to install the software.

So, here is the customized install experience I put together tonight:

image

Don’t hate me for that orange color, I hate myself enough for it already (I will likely change it <g>)

The simple customization was very easy to build. All I needed to do was provide a couple images and some markup:

<asp:Silverlight ID="silverlightControl" runat="server" 
                Source="~/ClientBin/AppliedIS.PartnerHuddle.xap" 
                MinimumVersion="2.0.30523" Width="100%" Height="100%">
    <PluginNotInstalledTemplate>
        <div width=100%; height=100%;">
            <img style="position:absolute; top:0; left:0; z-index:5" src="Images/EastCoastNewsGetSilverlight.jpg" />
            <div style="width:363px; height:235px; position:relative; z-index:10; margin-left:380px; margin-top:30px;">
                <h3>Get Microsoft Silverlight 2</h3>
                <p>MSDN East Coast News requires Microsoft Silverlight 2 
                to provide a rich integrated media experience. Silverlight 
                is a small, safe, cross-platform browser plugin created 
                and supported by Microsoft.</p>
                <p>By Clicking "Click to install", you accept the 
                <a href="(license url)" target=_blank>Silverlight license agreement.</a>
                <br />
                Silverlight updates automatically, <a href="(privacy url)" target=_blank>learn more</a>
                <br /></p>
                <div align=center>
                    <a href="(install url)">
                    <img src="Images/GetSilverlightButton.png" style="border:none;text-align:center" />
                    </a>
                </div>                    
            </div>
        </div>
    </PluginNotInstalledTemplate>
</asp:Silverlight>

(I removed the URLs above because I’m waiting on official guidance before I publish anything with the three URLs listed. I wouldn’t want you to refer back to this entry in a year and wonder why the URLs don’t work.)

The example above uses the asp:Silverlight control, for Silverlight 2 Beta 2. Inside the <PluginNotInstalledTemplate> you put in any markup you wish the user to see if they do not have Silverlight already installed. This markup is typically a prompt to install Silverlight, but it could also be alternative content in HTML or Flash if you so desire.

In my version above, the content is a single background image I put together from app assets and screenshots in PhotoShop, some markup explaining what Silverlight is, and a button (image) which links to the Silverlight 2 installer.

To test, simple disable the Silverlight plugin in IE and then hit your page.

image

image

There are other ways to detect Silverlight and provide an alternative experience (script, browser sniffing etc.). If you plan to have more than one instance of Silverlight on a given page, you’ll want to investigate those methods in order to provide a single install prompt, rather than bombard the user with multiple prompts.

You can also do some very clever things with page refreshes and whatnot. I didn’t do any of that here, in part, because the intended audience for this application will likely already have Silverlight installed.

     
posted by Pete Brown on Monday, September 1, 2008
filed under:      

4 comments for “Silverlight Install Experience for MSDN East Coast News”

  1. Pete Brownsays:
    @Noel

    Sure it does, you just need to make sure you actually have Silverlight uninstalled to see it. While that's a bit annoying from a devtime experience, the end result is as expected.

    http://silverlight.net/forums/p/34311/104210.aspx

    Pete
  2. Chrissays:
    I have the same problem...
    I have just uninstalled Silverlight thinking this would solve my IE6 problem. It does not, my PluginNotInstalledTemplate tag is not doing its job properly in IE6. Help!!

Comment on this Post

Remember me

4 trackbacks for “Silverlight Install Experience for MSDN East Coast News”

  1. Community Blogssays:
    Koen Zwikstra with Silverlight Spy, John Papa on UserControl from Popup Control, Shawn Wildermuth on
  2. Community Blogssays:
    First today as a USArmy veteran (1970-1973), I think I would be remiss in not remembering 9-11-01. Roger
  3. POKE 53280,0: Pete Brown's Blogsays:
    My primary Silverlight project for the past couple months has been the Facebook application I’ve been