The Zero Deployment Advantage
Web browser applications offer one extremely significant advantage over Windows applications. It is called zero deployment. They can be used anywhere, by anybody, at any time (subject to authority).
To execute a native Windows application you need to deploy it to the users desktop or to a server that the user has LAN speed access to. This process is complex, time consuming, costly and error prone.
However, as a medium for deploying advanced Windows desktop functionality, zero deployment is the traditional Web browser application's only advantage. In all other functional respects, these applications are inferior to native Windows applications. You can make browser applications look and feel like native Windows applications to an extent, but ultimately, and for fundamental architectural, security and bandwidth reasons, they will almost always produce clumsier and slower end-user responses, with poorer navigation and desktop integration capabilities.
It's important to understand that attractiveness of doing everything via a browser interface is largely an economic one.
Zero deployment is a very attractive economic proposition.
In other words, end-users tend to have web browser interfaces imposed on them by IT for cost saving economic reasons rather than for productivity improvement reasons. Often they would much prefer to have the power, speed and flexibility of native Windows interfaces (eg: to the level of MS-Word and MS-Excel) but simple economics and the limits of technology means that they cannot.
You should never think that you are going to actually improve your end-users work life by giving them a browser interface in place of a well designed native Windows one. You are giving them a browser interface to save money.
Getting this balance, between zero deployment economic reality and end-user expectations and requirements, right is a complex equation. If you look on the Internet you can now find reports from various IT industry groups that describe situations where designers and developers have gotten this balance wrong.
The impact of this type of decision can range from end-user complaints, demoralization and loss of productivity through to complete project/product failures. This is especially true in situations where the end-users hold all the decision power (eg: in the purchase of packaged software solutions).
So, should you develop Windows or Web browser applications?
The answer is that in any medium to large-scale commercial application you are most probably going to need to develop both:
- Use Windows interfaces to satisfy the high performance, high functionality and desktop integration requirements of your core users.
- Use Web browser applications to minimize the cost of deployment to your occasional users.
There is, however, one exeception to the above rules: VLF.NET Applications. They provide a near-zero deployment capability while maintaining many of the performance, appearance and functional benefits of Windows applications.