This is first in my series of technical drilldown posts on the new offline and out of browser support in Silverlight 3.
It is something of a tradition in Microsoft to list out scenarios when a new feature set is being conceived. This practice is by no means unique to this company. I feel that doing so establishes a common baseline and taxonomy which immensely helps as the concept matures and gains complexity. Typically these scenarios are fleshed out in functional specifications.
In this post, I summarize the flavors of apps and scenarios that are enabled by the new offline and out of browser support in Silverlight 3. Most of these are self-explanatory and so using another Microsoft tradition, I will stick to concise bullet points rather than prose. A list similar to the one below in fact was used by our crew when we started our planning for this feature set a few months ago:
Connectedness
Fully disconnected app
- App has no networking needs
- Reliance on Silverlight just as an installation vehicle for the app
- We don’t expect this will be very common
Occasionally connected app
- App is resilient to network outage
- Conditionally persists data into iso store or cloud based on network availability
- This is the sweet spot for our feature offerings and where most of our attention goes
Connected app
- App uses the offline feature set only for the sticky desktop presence
- We don’t expect this will be very common
User experience
App behaves exactly the same in browser and out
- App author wants to deliver the same experience in either case
- “Try before you buy”, “Get more features upon install” and other such progressively enhanced SKU situations
- Our data suggests consumers find comfort in apps that – in broad brushes – seem similar OOB as when they did in-browser
App shows different UI in-browser and out-of-browser
- App author wants to exploit the real estate available in standalone window
- Browser page could have limited functionality which lights up only upon detach
- Browser page shows only the “Install” badge and the “real” UI only shows up when launched out of browser
Approach
Porting an existing Silverlight 2 app to run offline/out-of-browser
- Even though the feature is a new addition to SL3, some SL2 apps can benefit from it
- Requires no changes to code and no rebuilds
- Can be done as a post-production step by modifying the manifest and optionally adding icons into the XAP
- Build disconnected and connected apps, but not occasionally connected
Building a new offline/out-of-browser app
- Our mainline scenario
- Leverage everything the offline/out-of-browser feature set and the rest of Silverlight has to offer
- Build disconnected, connected and occasionally connected apps
In the next post, we will look at the pillars of this feature, starting with the install (a.k.a detach) operation.
Related posts:
Read: Silverlight out-of-browser support: What kind of apps can you build?