Solving world hunger with a web site… and what a Smart Client is

Thursday, February 19, 2004 2:40:49 AM (GMT Standard Time, UTC+00:00)
You'll notice that one of the tracks that Microsoft has chosen for Dev Days 2004 is around Smart Client technology.  I have talked to a number of people about the upcoming event, and consistently get the same question.  What exactly is a Smart Client?
 
Well its really not that easy to answer… as Microsoft has demonstrated over the last 2 years with little guidance around this new architecture.
 
One way to understand what a Smart Client is would be by looking at its lineage.  Smart Clients are a derivative of Rich Clients (or Window Forms applications).  One of the characteristics that makes them smart is that they extend Rich Clients by leveraging the CLR to encapsulate the features that have made web applications popular. Namely a centralized, simplified deployment and versioning model.  No more DLL Hell.
 
Lets take a look at characteristics of other application platforms:
 
Web application:
  • Centralized Deployment
  • Limited UI capability (no wait cursor, sluggish interface, poor user experience)
  • Server Processing Centric
 
Rich Client:
  • Responsive UI
  • Client Processing
  • Access to user environment context (File System, Registry, Desktop Apps, etc.)
 
Smart Client melds the best of both worlds:
  • Centralized deployment
  • Responsive UI
  • Ability to leverage client's processing power and resources (File System, Registry, etc.)
  • Operate with out being connected
 
Of course this is a limited list of characteristics defining each application platform, but they are some very key characteristics, and have driven the creation of the Smart Client platform.
 
Up until recently we didn't have a lot of architectural guidance around building Smart Clients, yet this is a differentiating factor for Microsoft among other development platforms.  I am surprised that this technology, and its value haven't been pushed to the masses of Microsoft developers and architects.
 
On the other side you have to give the ASP.NET product team credit… they have everyone building web sites? 
 
I need to display my company brand for the world to see…  build a web site.
I need an business application to track clinical data for my patients… build a web site.
I need to build a expense tracking and reimbursement system with the ability to scan receipts… build a web site.
I need to solve world hunger… build a web site.
 
I believe a lot of this is do to the disarray around what a Smart Client is… we are seeing a lot of implementations that scream Smart Client being implemented in a web application. 
 
So now you have a an idea of what a Smart Client is…  what's next?
 
Come to Developer Days 2004 and take in the Smart Client track.  Find out what is advantageous about building and deploying Smart Clients.  Hear about best practices around building, securing and deploying this breed of application.
Comments are closed.