User-Centered Web Applications

Let's face it, a web page as a user-interface is pretty limited. For many years, big companies like Apple and Microsoft spent millions on developing the user interfaces for their software. Applications were responsive to user actions and it was usually the user that couldn't keep up with the computer. Then along came the world wide web and we threw much of that research out the window. We somehow gave up productive user interfaces in exchange for slow-to-respond web pages that always needed to make a round-trip to the web server to process every interaction. Billion dollar businesses were built on this set back in user experiences.

Well, at long last the promise of web applications that work as well as traditional client-server applications is near to being fulfilled. Evidence of this new class of web application can be seen today. Just take a look at Google Maps, Amazon A9, and Flickr. All of these sites have used the same technology, Asynchronous JavaScript + XML or Ajax for short, to close the gap between standard web pages and client-server applications.

An Ajax application is different because it eliminates the start-stop-start-stop nature of interaction on the Web. It introduces an intermediary, the Ajax engine, between the user and the server. Rather than loading a web page, a web browser will first load an Ajax engine that is usually placed in a hidden frame. The purpose of this engine is to render the user interface and to communicate with the server on the user's behalf. The Ajax engine allows the user's interaction with the application to happen asynchronously. That is, it communicates independently with the server. The result is that the user is never left staring at a blank browser window waiting around for something to happen.

Which is exactly where we were with client-server applications over 5 years ago. Now that's progress!


Leave a Reply

