AJAX (asynchronous JavaScript and XML) isn't a new technology. Rather, it's a method of using several existing technologies -- including CSS, JavaScript, XHTML, XML, and XSLT -- to develop Web applications that look and act like desktop software. Jesse James Garrett, director of user experience strategy and a founding partner of Adaptive Path, coined the term in a paper he published on the Adaptive Path Web site in February.
The term asynchronous refers to the way AJAX applications communicate with their host servers. Under the old model, the Web browser refreshes the current window each time a user performs some action that initiates a request for new data from the server.
Under AJAX's asynchronous model, the browser doesn't have to wait for the user to request an action, nor does it have to refresh the entire window to show newly retrieved data. Instead, the JavaScript code running in the browser communicates with the server by passing XML-formatted data back and forth. The JavaScript code can also apply style sheets to retrieved data and display it in one portion of the existing Web page.
Among consumer-facing applications, Google's Gmail and Google Maps services are the most common examples. In Gmail, AJAX is responsible for the way threaded conversations slide open to reveal the text of different messages. In Maps, it allows users to drag and scroll across a map in a seemingly seamless fashion.
Garrett also points to Yahoo's Flickr photo sharing application and Amazon.com's A9 search engine. And it's likely that Yahoo's new Web-mail service, based on technology it acquired with the purchase of Oddpost, will soon get plenty of attention from AJAX proponents.
Increasingly, however, AJAX application vendors are looking to the enterprise. For instance, Scalix's Web Access e-mail application actually resembles Microsoft Outlook more than Outlook's own Web-mail interface.
But there are some limitations on where AJAX applications will work. Because they make use of some of the latest Web technologies, they will run only in certain Web browsers -- the list, however, is expanding.