4. Accounting for Bandwidth
Ideally, only the truly dynamic portion of pages would be updated with each update or change request. This would consume much less bandwidth and significantly reduce download speeds. However, technology that could perform such isolated updates must be tailored for the particular application that it runs. If you want quick front-end performance for your application, you have to write a proprietary thin client that acts as a smart browser. This customized browser would improve performance by updating only the parts of the pages that needed to interact with the back-end.
The problem with this solution is that it requires a trade-off between the performance increase enabled by the proprietary browser and the usability of the general browser: proprietary browsers can update pages much faster than general browsers, but if you use a proprietary browser, your users will need to learn how to use this specific type of browser. If the application has many repeat users, the performance benefit of the proprietary browser will likely outweigh the drawback of the initial learning curve. For example, users of online stock-trading applications would likely accept an initial learning curve in exchange for improved performance, but an application with a small percentage of repeat visitors should probably sacrifice performance for the instant usability associated with general browsers.