AJAX explained
AJAX is in the news all the time now and it is assumed that everyone knows what it means. Many people don't, so here is my quick summary of what AJAX is and some examples of applications.
AJAX is an acronym for Asynchronous Javascript And XML. Microsoft invented this concept in the late 90's but referred to it as XMLHttpRequest, also sometimes referred to as DHTML or Dynamic HTML. AdaptivePath coined the term AJAX to describe a similar set of technologies. AJAX is not a product or a platform. It is a set of technologies used to build interactive web applications that don't require constant page reloading each time the user takes an action.
AJAX makes web applications behave a lot like client based apps in terms of User Interface and responsiveness. With typical web based apps every time you take an action (entering data, moving an object, or selecting an option) it sends a request to the server, which returns a new web page to be loaded in your browser. This slows things down considerably. Client based applications do most of this locally. Think of Outlook email client on your PC versus Outlook Web Access through a browser.
The secret to making AJAX apps work is the downloading of Javascript "engine" and data in the background that handles communication between the web app and the server. This engine can handle many common user actions and calculations right in the browser without requesting anything from the server. When it can't it sends a small XML request (asynchronously) to the server while it simultaneously updates the page. This is where the "Asynchronous"" in AJAX makes things much faster.
Most browsers already support Javascript and XMLHttpRequest so no browser add-ons are required. The AJAX engine and associated snapshots of files and data are downloaded to your browser in the background asynchronously without you knowing about it.
You may have already used AJAX applications without realizing it. Microsoft Outlook Web Access, Google Maps and Yahoo Maps are AJAX apps. NetFlix, and many other consumer web sites, use AJAX to provide interactive information. For example, when you are on the NetFlix site and you hover over a movie title, a pop-up box gives you a description and details about the movie.
Other AJAX apps you may have already used include; Zimbra, Meebo (IM), Gmail, Flickr, Digg, JotSpot, Writely, NumSum, Amazon Catalog, 37 Signals, Yahoo search as you type, etc. WikiCalc by Dan Bricklin is currently in beta.
AJAX has re-energized web based applications. Aside from the UI and performance improvements, the big change is making traditional individual user client based apps into multi user network based applications. Spreadsheets, word processors, and presentations, that were traditional single user applications can now be web based collaborative applications.
AJAX does have downsides. These apps still require a connection to the Internet or local network to work. Working independently off line is still a client app thing. Security, data integrity, and backup are also still concerns for web based apps.
AJAX web based applications are quick, easy, intuitive, and mostly free. They solve some problems very well, but will not replace traditional applications anytime soon. Users will continue to find a blend of solutions to satisfy their needs.



Comments