Thursday, 15 September 2005

What is Ajax?

Ajax is an emerging way to design applications that run inside a web browser. 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: i.e. the scripting language, not Java applets). 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): David Ferris of Ferris Research just called it "The Best Email Web Client." 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

There's much more that can be said about Ajax. If this short post has whetted your appetite, ask me more.


Tags: , .

No comments:

Post a comment