A manager’s primer to using Silverlight 3.0 for LOB applications

by Curt 20. December 2009 09:12

Let me guess… An excited developer just went on and on about this new technology, called Silverlight. "It's going to change the web and the world as we know it", they say. You've heard it all before, but you're definitely curious.

Since I know you'd rather not sift through pages of Microsoft documentation just to answer a few questions, I wrote this post to give you a quick primer.

 

The web is so nineties

 

I don't know about you, but I'm tired of hearing my users complain about the 'web experience'. Even though web applications have been around for some time, users are still unsatisfied with using the web for line of business applications. Have you ever heard things like?…

 

"My session timed out, but I was still typing" or…
"I'm in East Sasquatch and I can't use your web application" or…
"Why does the page refresh every time I click on something." or…
"Why can't it work like <insert off the shelf or client/server name here>."

 

Benefits for end users


The most notable advantage of Silverlight is how it completely changes the user experience of web-based applications.

 

  • Rich Client Interface - Silverlight provides the ability to mimic the usability of desktop applications. Responses to events, like button clicks, drag-and-drop, tab selection, etc, provide immediate feedback to the user.

  • Occasionally connected scenarios – Unlike a typical web application, a Silverlight application can run without an internet/intranet connection.

  • Local data persistence - Silverlight applications can persist data locally and then re-sync that data with the 'mother ship' when a connection is available.

  • Cross browser compatible - Silverlight applications are cross browser compatible and can be run under IE (Duh), FireFox, Safari, Opera, Google Chrome, and Sea Monkey.

  • Run Outside the browser - As of Silverlight 3.0 applications can now run outside the browser.

Benefits for developers


The next thing you're probably wondering is. "What does this mean for my existing developers?"

 

  • Uses .NET framework - Developers can leverage their existing .Net skills and the Visual Studio IDE to write Silverlight applications.

  • Web deployment model - Silverlight applications can also take advantage of the web deployment model, meaning that applications and be deployed from a centralized server.

 

Challenges

 

  • Rapidly changing releases – As of this writing, Silverlight has had 3 major releases (1.0, 2.0, and 3.0). Barely a year has gone by between each version, which makes adapting code and taking advantage of the latest features a challenge.

  • Accessibility – If you're a government agency or you're required to build accessible (508 compliant) web sites then there may be some challenges with using Silverlight. As of version 2.0 accessibility features have been added, but the interpretation by some screen readers remains suspect.

When not to consider it


There are several scenarios, where you may want to consider an alternative technology to Silverlight. The primary inhibitor for a Silverlight application is it must run in a restrictive security context, known as the 'Sandbox'. This limits some functionality, so you should reevaluate it if the following are true.


  • Desktop ownership - If you own the desktop and clients are permitted to install applications.

  • Need to connect to external devices - If your application needs to interface with USB devices, like printers, card readers or scanners.

 

Competing technology

 

To know that you've done your due diligence, some other Silverlight-like technologies you may want to investigate are…

 

  • Flash – Flash offers similar front-end interactivity (some call Silverlight the 'Flash killer'), but you won't be able to leverage your existing .NET development staff.

  • Adobe Air – Adobe Air works like Silverlight, in that it offers rich interactive applications and it can also run outside the browser. The technology is based on a combination of Adobe Flash, Adobe Flex, AJAX, and HTML.

  • HTML 5 – HTML 5 is a major revamp of HTML and it is touted to also provide rich client interactivity of the web and even eliminate many plugs that provide similar type of functionality. Yes, Silverlight is one of those plug-ins.

  • AJAX – AJAX has been around for awhile now and I'm sure you've heard of it. It mashes JavaScript, Dynamic HTML, and XML to produce a rich web-based application.

A look ahead

 

Silverlight 4.0, which is in beta at the time of this writing, will overcome much of the restrictions of running in the 'sandbox'. Some of the key features added in the 4.0 version are printing support, interaction with other applications, interfaces with external devices, and multi-touch support.

The next version truly provides the tools necessary to build rich-client/web enabled application for almost any LOB application you can dream up.

Tags:

.NET | Development | Silverlight

About Me

I'm a software project manager in the Boston area. More...


    Contact Me
    Knols I've written
   My Linkedin profile