Quick Explanation of AJAX, Vehicle for Rich Browser Messaging

AJAX is an emerging way to design applications that run inside a web browser. It's a way to make messaging web clients provide a much richer experience. Its key advantage over conventional web applications is that AJAX applications are much more responsive and interactive.

It's an acronym for Asynchronous JavaScript and XML. What that means is that the underlying data are exchanged between the browser and web server in XML and the display intelligence runs in a JavaScript program (AKA ECMAScript: the scripting language, not Java). The program is downloaded when the browser first connects to the web server.

A relevant example of a good AJAX application is Scalix Web Access (SWA). This alternative to Outlook is extremely fast, compared with the current Outlook Web Access and provides a comprehensive list of functionality, including email, calendar, scheduling, tasks, contacts, delegation, and public folders. Another example is Google's GMail, although the Gmail paradigm is a little too page-based for AJAX purists.

To contrast a conventional web application with an AJAX application:

Conventional:

  • Display intelligence runs in the web server, which generates HTML pages to be displayed in the browser
AJAX:

  • Display intelligence runs in the browser, which exchanges the underlying data in XML
  • Page-based user interface paradigm, unlike most desktop applications; each change requires a complete new page to be transferred and displayed
  • User interface design can be much more familiar -- similar to desktop applications; changes can simply modify an existing object on the page and usually do not require a server transaction
  • Mouse interactions are limited to clicks, which take considerable time to transfer to the server and be acted upon
  • Interactions can be far richer, including dragging
  • Users must wait for each interaction to complete
  • Data transfers can be scheduled in the background, meaning that users don't need to wait; data can be pre-fetched in anticipation
  • Must be online to use
  • Could work offline

... Richi Jennings

One Comment

  1. Posted March 6, 2006 at 1:32 PM | Permalink

    You might be interested in some experiments I did on offline AJAX: https://blog.monstuff.com/archives/000272.html

Post a comment

You must be logged in to post a comment. To comment, first join our community.