HomeServicesDemosAnalyticsOur ClientsAbout PCAContact Us

Smart Clients vs. Browser-based Business Applications

Due to the broad and ubiquitous reach of the Internet Browser, many companies assume that developing business applications inside the browser is their only option.   While browsers provide an excellent way to deploy simple applications, browser-based applications impose significant limitations on End-User functionality and ease-of-use, and they are very expensive to develop and maintain for more for more complex business applications – which are frequently required for business-to-business (B2B) needs.   Smart Client applications provide a much richer End User experience, they are much less expensive to develop and maintain, and they overcome many limitations for using the Internet for B2B data management needs.

Microsoft and Google Smart Client Applications

Both Google and Microsoft make extensive use of Smart Client applications. Google has realized the limitations of purely browser-based solutions, and has instead created Smart Client applications where improved user interfaces and functionality are desired.   All of the highly interactive, high data throughput applications created by Google are actually Smart Client applications, such as Google Earth, Google Picassa, Google AdWords Tool, You Tube, and Mobile Maps.  Similarly, Microsoft’s new Internet-based versions of the MS Office Suite (Word, Excel, Powerpoint) are all going to be Smart Client applications.   The reason: the user interface "experience" is simply not possible with pure browser-based methods!

Smart Client Applications: the Pros

  • Reduced Time to Develop.   Based on the .NET Framework and Windows Form architecture, Smart Client applications are faster to design and develop due to the rich set of controls and tools available, as well as OS-based display architecture which guarantees the same look-and-feel across all PCs.  Refinements such as changing colors, changing layouts of controls, refactoring, adding new forms, moving buttons, etc. can all be accomplished easily and quickly vs. browser-based approaches which require CSS instead of WYSIWYG tools.
  • Reduced Cost.   Prototyping and development of Smart Client applications can occur at a far accelerated pace, with much quicker turnaround of enhancements and refinements. More efficient development with reduced error and waste translates directly into lower cost.
  • RAD (Rapid Application Development).   The combination of the .NET Framework and Windows Forms provides an excellent architecture for rapid application development, which results in quicker delivery of rich applications with a 'high fidelity' End User experience.
  • Client-side Caching.   Smart Client applications run on the local user’s PC, and take full advantage of the PC’s resources (CPU, memory, hard drive and graphics) for storing and rendering information.  This allows properly-developed applications to use client-side caching to store frequently-accessed data on the user’s PC, resulting in much faster application performance. Instead of needing to download all data every time a form is accessed, unchanged data can be stored locally and loaded faster from the local disk.
  • Improved User Interfaces.   Smart Clients take full advantage of the PC’s graphical capabilities. The user interface is greatly improved, and can contain advanced functionality (3D graphics, drop shadows, overlaps, drag-and-drop, dynamic popup indicators) not easily possible using browser-based approaches.
  • Improved Performance.   Smart Clients take full advantage of the computer’s hardware for running calculations and creating objects in memory. This gives Smart Client applications a large speed advantage when parsing data and carrying out complex functions.
  • Scalability.   Because much of the application processing is done on each User's local PC, Smart Client applications consume substantially fewer server memory and processor resources. This allows the number of Users for Smart Client applications to grow significantly without requiring expensive server hardware to be purchased and upgraded, since hardware needs are offloaded to individual clients.
  • Improved Debugging.   Since users of Smart Client applications must be running Windows-based operating systems and use the .NET Framework, this greatly reduces the difficulty of recreating and solving bugs for users. Developers have far fewer variables when attempting to reproduce reported errors, and do not need to have significant resources in terms of types of machines and operating systems available for testing.
  • Security.   Applications running in Smart Client mode can be completely secured, including centrally disabling them from running on particular machines or by particular users (or enabling them to only run on certain machines). Unlike Browser apps, which anyone can gain access to, you KNOW WHO is using a Smart Client application, and you can CONTROL all privileges via role-based administrative settings.

Smart Client Applications: the Cons

  • Requires MS Windows OS.   Smart Client Applications only run on Windows-based machines, or Virtual Machines such as VMWare, or Parallels for the Mac.
  • Requires .NET Framework.   Smart Clients require that the .NET Framework be installed on the Windows machine. The .NET Framework however has been available for quite some time and is not considered a "new" architecture. The .NET Framework ships with all modern versions of Windows.
  • Smart Clients Require Installation.   There is a small install process (One Click) which must be run the first time a user needs to use the application. From then on, the application auto-updates and does not require installation. This installation is launched by clicking on a link on a webpage and does not require the user to be an administrator nor does it ask any complex questions.

Browser-based Applications: the Pros

  • Runs on any OS.   Browser-based applications will run on any computer which has a fully-functional web browser. This may not include many smart devices such as cell phones or PDAs, which use a limited browser which cannot display or interact with non-mobile specific web pages.
  • No installation.   Browser-based applications do not need to be installed in any way. Users simply navigate their web browser to the correct address. A web browser is required.

Browser-based Applications: the Cons

  • User Interface Differences.   Since users may have different machines, different operating systems, and different browsers (with different versions), the display and layout of web pages (and the overall user experience) can change drastically among users. For example, buttons can shift, text boxes can change in size and location, elements can be hidden off-screen or disappear entirely, and images can load incorrectly on overlap other controls.
  • JavaScript Differences.   Since users may have different browsers, the functionality of a website may be affected due to differences in how client-side JavaScript code is executed. This can result in buttons not working, error messages, and a general breakdown of functionality. Unfortunately, due to the 'browser wars' many browsers do not fully adhere to any given standard, or adhere to different versions of a standard, which makes programming cross-browser JavaScript difficult, tedious and time-intensive. This also results in increased time to debug specific users’ problems.
  • Browser Capability Issues.   Since users may have different browsers, the capabilities available to those browsers might be significantly different, especially based on the user’s specific preferences. Some browsers may have JavaScript disabled, will not allow Cookies, will block Popups, do not have correct helper applications installed (Flash for example), and will not execute certain code or allow certain controls. Mobile-based browsers, such as those found in many cell phones and PDAs will not correctly render "normal" web pages and will have reduced capabilities. Once again, this results in increased time to debug specific users’ problems.
  • Slower Development.   Designing and creating web pages is more time consuming based on the HTML and CSS-based architecture of the web than that of .NET Windows Forms. Cross-browser layout issues not only result in delays but also require defensive programming which consumes additional time. Making small layout changes can also require complicated CSS programming (once again accounting for cross-browser display bugs, such as the well-known issues between IE and FireFox), and result in slower turnaround to clients.
  • Costly to Development.   Slower development and the more complicated programming required to account for machine, operating system, and browser differences among users, creating pure web-based applications is not as cost effective as Smart Client applications.
  • Difficult to Debug.   Since users of applications can have almost any type of computer, smart device, operating system, and web browser, it can be extremely difficult to reproduce problems reported by users, and therefore even more difficult to remedy problems. A team might require an extensive set of computers of different types, running different operating systems, and with different settings to properly reproduce reported problems, which is often not feasible. The introduction of browsers on PDAs and cell phones makes this even more challenging.

Hybrid Applications: Smart Client + Browser

While Smart Clients have a clear advantage in terms of advanced capabilities, ease-of-use, and rapid development at a reduced cost, we recognize that there are valid reasons (and needs) for browser-based business applications.   The primary reason: some businesses simply cannot dictate that all End Users install an application. In addition, sometimes a rich, highly-interactive End User experience is not needed.   Under these scenarios, PCA often creates "hybrid applications" that deliver the capabilities and benefits of both Smart Client and browser-based approaches. Smart Client applications are used by the business owner to create and maintain database records, and to manage all the application administrative functions, and the resulting database records and reports are made available to customers via the browser interface.