Presentation servers are a more recent phenomenon. With the advent of intelligent terminals and higher CPU power on the client desktop it allows off-loading of a number of tasks from the server to the client. In this architecture the client performs all the display and presentation chores as well as handling most of the low level input handling. The client only passes higher-level messages/requests to the server. Keystrokes, mouse movement etc are all handled locally and hence greatly reduces the bandwidth requirements as well as the load on the server. The most popular presentation server available today is the ubiquitous web browser.
Figure 1: ULC Presentation Split
The immense popularity of the World Wide Web has allowed the web browser to become the closest thing we have to a "Universal Client". Naturally the near universal availability of the web browser has caused developers to target the browser as an application development/deployment platform. Unfortunately HTML was primarily designed as a page layout language and not as an application development language.
Though subsequent versions of the HTML specification have tried to address some of these shortcomings, HTML still remains an unsatisfactory language for building applications. Inconsistent implementations of the HTML specification in different web browsers further increase the developer's burden. Often developers have to build browser specific versions of each displayed page.