This is an archive site. For the recent posts, visit

Ordered List


Dec 9 2005

Statistical AJAX

These days the term ‘AJAX’ seems almost as overused as ‘drop-shadow’ was 18 months ago. Though it seems that in the hype of creating on-the-fly browser-server interaction, tracking that interaction has been overlooked.

But despite the weariness of terminology, the technology behind live communication between browser and server is producing a more flexible, usable web. I have even included said technology in a few recent projects at Notre Dame with some very successful results.

One must be careful, however, as AJAX comes with its own pitfalls, just as any other web technology. Depending on the requirements for the application, a developer must focus on degradation and user expectation, among other accessibility issues. On the bright side, methods exists to accomplish these goals, and these methods are becoming more widely available as time goes on.

Maybe I’m Selfish

I care about the users needs and expectations first, of course. But what about the needs of the developer? Or the Client. One thing a website needs in order to be deemed successful in the eyes of most clients is metrics. And metrics are something that seems to have escaped AJAX, at least as of now.

What I mean is, there is no standard statistical package that can easily translate the usage of an application that uses AJAX into meaningful statistics. With standard development, each page registers its own unique URL with its own page title, with a unique identifier for the visitor. All this can easily be combined to have a pretty good idea of what’s going on at your site. But I have yet to see a tool that can do this with a site that makes heavy use of AJAX.

But It’s So Hard

First off, there is no standard way of doing AJAX. There’s the Prototype method, SAJAX, even coding the XMLHttpRequest Object yourself, amongst who knows how many other options. And each time the data is requested from the server, there is no standard script from which it grabs. All this and more make a server-side solution nearly impossible.

This leads to a JavaScript solution, and even at that, it would seem a purely custom one. Even stats packages based on JavaScript such as Mint don’t allow for tracking data after the initial page load. It seems that in the hype of creating on-the-fly browser-server interaction, tracking that interaction has been overlooked.

Begging the Question

So what kind of statistics should a client expect from the use of AJAX. Is the click-stream important, or is it the end-results we care about? Could an industry-standard solution even be created for tracking this data without the need for coding a certain way? I just love it when I ask more questions than I answer.