XMLHttpRequest – A New Power to be Tapped?

Adaptivepath's article about Ajax has been flying through the blogosphere like wildfire over the past couple of weeks. I'm not linking to it here because it's #2 when searching for “Ajax” on Google.

It essentially calls for a series of small interactions with a web server that happen seemlessly while the user is working with the page. This minimizes the the roundtrip problems that normally happen when working with large forms and large datasets. It also minimizes the waiting time for the end user. The reason this concept has gotten so many electrons lately is because of the elegant implementation by Google for Gmail, Google Suggest, and Google Maps – each of which is impressive in its own right.

Is this concept new? No, not at all, the tools are simply much better for it now than ever before. Nearly three years ago, I saw a simple implementation of this when my team leader at the Library of Congress implemented a highly extensible user interface using some creative database calls and a huge amount of Javascript manipulating the DOM. Did it work? Yes. Was it elegant? Mostly.

In a development role last year, I created a similar interface using 0x0 iframes and creative Javascript for a Ticket-based Timesheet Tracking System. Essentially, I was able to mimic simple multi-threading and provide validation and data lookup realtime. Did it work? Yes. Was it elegant? Mostly.

Now the tools are beginning to reach their full potential. I believe the reason this is taking off is because the trail has been blazed… just like the first time a 4-minute mile was run. Users have seen how fast and smooth an interface can work and soon they'll be demanding it in all of their web applications. Right now, I'd wager that to get VC money, you'll have to do it. Within a year, most webapps will have to do it just to keep pace. Two years from now, no one will even think about building an application without it.

Could this place have been reached a year ago? Definitely, Gmail is nearly a year old.
Did it take Adaptive Path giving it a name? Of course not.