Smart client is a term describing an application environment which:
- delivers applications over a web HTTP connection
- does not require installation (or provide automated installation and updates)
- automatically updates without user action
- has the look and feel of desktop applications
A "Smart Client" application can be created in several very different technologies. The original use of the term in the context of the web was Isomorphic Software's SmartClient product (they own the SmartClient.com domain), which uses an Ajax-based, cross-browser cross-platform approach. Subsequently Microsoft began using the terminology to refer to .NET applications delivered via the Internet Explorer browser to Windows XP. The terms "Rich Internet Application" (RIA) and "rich web application" are essentially synonymous with "Smart Client", and are used to refer to several other technological approaches including Flash, Java applets and Webstart applications.
The Smart Client approach came about because when businesses tried to develop web applications to replace their old desktop applications, user productivity decreased. This was because web-based user interfaces based on server-side HTML generation are typically not as responsive, have fewer hot keys, require more use of the mouse and are unreliable when handling large files such as CAD drawings.
Smart Client applications bridge the gap between web applications and desktop applications. They provide the benefits of a web application (such as leveraging the Internet and offering remote access to data) while still providing the snappy look and feel inherent to desktop applications.
Mainly there are four platforms for building Smart client applications:
Dedicated desktop boxes which offer Smart Client environments are starting to appear. The only one currently in production is Cranberry UK's SC20 Smart Client, in September 2007, which delivers applications via Citrix Application Streaming, traditional thin client hosted desktop, and locally integrated "thick client" applications.