Many people I talk to, believe "pure" SaaS applications are always delivered through a web user interface. I believe this is a limiting definition and a dangerous constraint too. SaaS and Web are related but not dependent concepts and our guidance is that you choose the right UI technology to better serve your customers. I mentioned this some time ago here.
There's proven record on this. Even Microsoft competitors are offering richer client alternatives for scenarios that make sense: Google Gears, Adobe, etc.
In order to illustrate this, we've been working for the last month on creating a richer client experience for LitwareHR. We are not quite done yet, but we are close.
The scenario we used for inspiration is that of an advanced HR manager using LitwareHR. A "power user" dealing with many open positions, being able to open new positions and evaluate candidates regardless of his connectivity to the network.
The value proposition of LitwareSC is:
Not all functions are available on the Smart Client though. Site customization, configuration and extensibility are only available through the (private) web site. The assumption is that the HR Manager will very infrequently perform these tasks. On the other hand, managing positions and evaluating candidates make up 20% of the possible operations that an advanced user will do 80% of their time, and the smart client allows him to do it very efficiently.
Figure 1: Litware Smart Client scenario - Contoso as an example
From an architecture point of view, here are some things to highlight:
LitwareHR-SC high level architecture is illustrated in Figure 2 below.
Figure 2 - LitwareHR Smart Client Architecture
After the first login (which requires connectivity of course), the application customization options are downloaded. This includes the company logo, any entity definitions (like extensions to the Positions), etc. All this information together with the entities instances are retrieved and stored locally.
The "Browse Positions" option uses a very cool WPF control which is based on one originally written by Kevin Moore (PM in the WPF Team). The original one can be found in Kevin's bag-o-tricks: FlipTile3D.
Which renders this view in our preliminary prototypes:
Figure 3 - Early LitwareSC screenshot
I want to thank my friends at patterns & practices, Blaine, Glenn and Matias for their support; and the fearless Bluestar Infotech dev team led by Pankaj for cranking this sample in record time.
I'll post an update (and the code) when we complete the development.