According to JJ Garrett, AJAX can be described as follows:
Ajax isn’t a technology. It’s really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates:
* standards-based presentation using XHTML and CSS;
* dynamic display and interaction using the Document Object Model;
* data interchange and manipulation using XML and XSLT;
* asynchronous data retrieval using XMLHttpRequest;
OK. That helps a little. But I like to think of it as a means of transferring even more compute authority to the customer/client. AJAX applications rely upon a compute engine (usually a scripting engine and not a JVM) located on the client computer. The client initiates a transaction. But the more complex interactions between the client and the remote server are conducted on the client’s behalf by the local compute engine. And the interaction between the local and remote compute engines takes the form XMLHttpRequest packets sent between the two compute agents.
Blah, blah, blah. Let’s set aside the jargon. An example will help. Recently, I posted an entry about Tom Friedman’s most recent book The World is Flat. If you click on the link, you’ll see the Amazon.com info on the book.
But wouldn’t you like to know what some of the other retailers are selling this book for? You could check Half.com and Barnes & Noble by opening up a new tab (or a new browser instance). You could then bounce to the home page and get to the pages for this title. That’s three or four clicks with some wait time per site. Most of us can bear this. But you could also write some scripts that would check it out for you.
In comes Greasemonkey and AJAX to the rescue. Since I use Firefox, I have loaded Greasemonkey. I found a script that takes the ISBN number of the book (from the Amazon page) and searches the other major book retail sites. Each site is queried for its price. Then the composite information is assembled and presented on a transparent page that floats above the Amazon page. Now Amazon is not incented to give me its competitors rates. But I can check them out if I have the time or if I have a script. BTW, there are other scripts that will check out whether your local library has the book on its shelves as well.
So how can you get this kind of thing. First, you need a browser that interacts with a local scritping engine. IE does some of this. Using DHTML and VBScript, some of this is possible today. But I wouldn’t work too hard at it. You’ll see robust implementations in IE7. In the meantime. Go get Firefox. Then get Greasemonkey. Finally, go get the Book Burro script.
As I’ve noted before, this is the future of the web. The complex interactions will be driven by automation – not fingers. This kind of thing is the BPM of ecommerce. But in this case, the power is in the customer’s hands. You can build your own scripts. But you can also get scripts from a whole lot of places. But it’s up to you – not some nameless developer in the northwestern United States. You have the power.