Ajax: A New Approach to Web Applications

Defining Ajax

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;
> and JavaScript binding everything together.

The classic web application model works like this: Most user actions in the interface trigger an HTTP request back to a web server. The server does some processing — retrieving data, crunching numbers, talking to various legacy systems — and then returns an HTML page to the client. It’s a model adapted from the Web’s original use as a hypertext medium, but as fans of The Elements of User Experience know, what makes the Web good for hypertext doesn’t necessarily make it good for software applications

How Ajax is Different

An Ajax application eliminates the start-stop-start-stop nature of interaction on the Web by introducing an intermediary — an Ajax engine — between the user and the server. It seems like adding a layer to the application would make it less responsive, but the opposite is true.
Instead of loading a webpage, at the start of the session, the browser loads an Ajax engine — written in JavaScript and usually tucked away in a hidden frame. This engine is responsible for both rendering the interface the user sees and communicating with the server on the user’s behalf. The Ajax engine allows the user’s interaction with the application to happen asynchronously — independent of communication with the server. So the user is never staring at a blank browser window and an hourglass icon, waiting around for the server to do something.

Who’s Using Ajax

Google is making a huge investment in developing the Ajax approach. All of the major products Google has introduced over the last year — Orkut, Gmail, the latest beta version of Google Groups, Google Suggest, and Google Maps — are Ajax applications. (For more on the technical nuts and bolts of these Ajax implementations, check out these excellent analyses of Gmail, Google Suggest, and Google Maps.) Others are following suit: many of the features that people love in Flickr depend on Ajax, and Amazon’s A9.com search engine applies similar techniques.
These projects demonstrate that Ajax is not only technically sound, but also practical for real-world applications. This isn’t another technology that only works in a laboratory. And Ajax applications can be any size, from the very simple, single-function Google Suggest to the very complex and sophisticated Google Maps.
At Adaptive Path, we’ve been doing our own work with Ajax over the last several months, and we’re realizing we’ve only scratched the surface of the rich interaction and responsiveness that Ajax applications can provide. Ajax is an important development for Web applications, and its importance is only going to grow. And because there are so many developers out there who already know how to use these technologies, we expect to see many more organizations following Google’s lead in reaping the competitive advantage Ajax provides.

Moving Forward

The biggest challenges in creating Ajax applications are not technical. The core Ajax technologies are mature, stable, and well understood. Instead, the challenges are for the designers of these applications: to forget what we think we know about the limitations of the Web, and begin to imagine a wider, richer range of possibilities.
It’s going to be fun.

More from my site

  • Restaurants in Trinoma Okey, I'll be rating all of the Restos in Trinoma. These are based on my experience during the Trinoma Bloggers' Food Tour, and also my co-bloggers' terrible and wonderful experiences […]
  • Free PHP Web Hosting with no Ads? If you're looking for a free PHP Web hosting with no ads, ACCU Webhosting gives free 1 Gig web space and 3gig bandwidth, with FTP, File Manager Support, No Banner, No Pop ups, PHP + MySQL […]
  • Give Adsense back to Batang Yagit Movement Ang pinaka mamahal nating si Batang Yagit ay minalas at na ban ang Adsense Account niya. Bakit kaya na ban? Ano bang mga dahilan kung bakit na baban ang Adsense Account? Bakit si Batang […]
  • Yahoo Messenger Status Length Limited? Others said that it's a new YM worm, and others also said that it is implemented by Yahoo! Well, it's really implemented by Yahoo!. So, for those who are interested to make their Yahoo […]
  • Friendster Private Profile Viewer Script How to view a Private Profile in Friendster? Viewing a Private Profile in Friendster, is it possible? Friendster Private Profile Viewer tool or script, does it exist? This is what my […]
  • Beijing Olympics Mascots The 2008 Beijing Olympics Mascots were so cute. Like the Five Olympic Rings from which they draw their color and inspiration, Fuwa will serve as the […]

One thought on “Ajax: A New Approach to Web Applications

Leave a Reply

Your email address will not be published. Required fields are marked *

eleven − 6 =

This site uses Akismet to reduce spam. Learn how your comment data is processed.