views:

72

answers:

3

Hi All, Currently I have a pure silverlight website with navigation. Im worried about the customers that are hitting the website and are leaving straight away because they are have to have the SL plugin installed and they also have to wait for the 1.5 meg xap file to download.

The first page of the silverlight application is the login/registration page where the user must login or register to proceed to any other page in the site. Im thinking about swapping this page out for an ASP.net MVC webpage. So when the user hits the site the first page loads up automatically (since it will be the ASP.net MVC part of the site) and as they are signing up or logging in, the silverlight app is downloading in the background, or if they dont have the plugin than i will handle it a bit more gracefully. Once they log in it will pass them over to the silverlight app.

Just wondering if anybody has gone down this root and has any advice on the subject?

Thanks in Advance

A: 

There are several approaches to this problem. I would be considering approaches to reduce the size of the initial Xap file by downloading additional components seperately. This blog is an example but there are plenty of others try variations of this web search: "dynamic download assembly MEF Silverlight".

You would be seeking to have just enough in your initial Xap to display the logon screen. Meanwhile it could be performing a background download of your main page. You might even be able to go further with MEF in a navigation framework to further sub-divide your app so that the main page display doesn't require the fully downloaded set either. Here is another more advanced blog on that subject.

AnthonyWJones
Well im hoping even users without the SL plugin installed will be able to hit the Login/Register page without issue.
Raven
A: 

you can also consider breaking it up into multiple applications(xaps). But you will need to worry about sharing data across applications, which should not be too much of a problem with isolated storage being available to you.

Vinay B R
A: 

You should carefully customise the HTML hosting page to avoid scaring away potential customers. Turn off Javascript to experience what they see:

  • Never use the default "Silverlight missing... download it" page/image.
  • Show a HTML page with a look/style similar to your actual Silverlight application.
  • Show examples of what they are missing with images, sale pitch text etc.
  • Duplicate basic functionality on your website (see below).

Any Silverlight website that wants to employ SEO needs an ASP.Net site backing it up (to provide indexable content pages to the Search engines), so you might as well add a bit more to that ASP.Net site that duplicates initial functionality of the Silverlight App (i.e. your registration pages).

So, rather than replace the Silverlight login, duplicate it on your ASP.Net site. Then by the time they have registered, and read how fantastic your Silverlight site is, you will be more likely to encourage them to download SL. If you use RIA services, it is also consumable by Asp.net, so you can share a lot of functionality between your website and application.

Regarding 1.5Mb download. As AnthonyWJones implies.... that is bad. You want to make your initial Silverlight load less than a few 100kb if possible. Internet users expect to see something within seconds or they will leave. This is possible using modular loading techniques like MEF or Prism (which now includes MEF support). We have a 20Mb Prism Silverlight application (42+ modules), but the initial load is under 500kb (and looking to reduce that back to under 100kb).

Enough already