Ajax Wisdom
Ajax and Design
Ajax Wisdom: 1
Don’t design your page around Ajax
First design the page and then see where Ajax can be added to enhance the interaction behavior.
Start with wireframes, which detail the page structure and content layout. Detail the wireframes by adding in the page and/or element behavior as you’ve always done.
From there, evaluate the design and determine where Ajax can be used on the page to enhance the user experience.
-- Alice Toth, Feb 19, 2007
Having working in the computer business since 1967, I'm not so easily captivated by the latest high-tech fad. I've seen the Gartner Group's hype cycle play out enough times to become skeptical of the current "hot" technology. But the hype cycle provides a useful framework for evaluating the progress of new technologies. Like Ajax, for example.
If you're not familiar with this framework, it will help to see a diagram, so I've included one below [click to enlarge]. You can find similar examples in many places.
Where the hype began
In the case of Ajax, the underlying technology had been evolving since the late 1990's, but the Technology Trigger -- the launching pad for the Hype Cycle -- was Garrett's article, published on February 18, 2005. This is where the hyping of Ajax began:
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.
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.
-- Jesse James Garrett, Feb 18 2005
Inflating expectations
I'm not blaming Garrett for what followed. An evangelist for any new concept, even if it's just new terminology, must first convince people of its importance.
Anyway, Garrett succeeded wildly. For the next year, we were climbing the Peak of Inflated Expectations. A Google search will produce hundreds of articles and blog posts echoing the benefits of Ajax as they were described by Garrrett. Granted, many of these also mentioned one of more of the caveats Garrett included in the FAQ that followed his first article:
Q. What kinds of applications is Ajax best suited for?
A. We don’t know yet. Because this is a relatively new approach, our understanding of where Ajax can best be applied is still in its infancy. Sometimes the traditional web application model is the most appropriate solution to a problem.
... and ...
Q. Does Ajax have significant accessibility or browser compatibility limitations? Do Ajax applications break the back button? Is Ajax compatible with REST? Are there security considerations with Ajax development? Can Ajax applications be made to work for users who have JavaScript turned off?
A. The answer to all of these questions is “maybe”. Many developers are already working on ways to address these concerns. We think there’s more work to be done to determine all the limitations of Ajax, and we expect the Ajax development community to uncover more issues like these along the way.
... and ...
Q. Do Ajax applications always deliver a better experience than traditional web applications?
A. Not necessarily. Ajax gives interaction designers more flexibility. However, the more power we have, the more caution we must use in exercising it. We must be careful to use Ajax to enhance the user experience of our applications, not degrade it.
-- Jesse James Garrett, Feb 18 2005
But I think it's fair to say that in most evaluations of Ajax, those caveats were given much less attention, and certainly less weight, than the anticipated benefits. The general drift of the commentary was: Yes, there are some problems and limitations, but those will be overcome in time, as Ajax adoption becomes more widespread. Unless the writer was advocating ignoring Ajax altogether, and using Flash instead, when the critique of Ajax was more likely to center on another of Garrett's caveats:
Q. Are Ajax applications easier to develop than traditional web applications?
A. Not necessarily. Ajax applications inevitably involve running complex JavaScript code on the client. Making that complex code efficient and bug-free is not a task to be taken lightly, and better development tools and frameworks will be needed to help us meet that challenge.
-- Jesse James Garrett, Feb 18 2005
Overcoming inflated expectations
Thankfully, we're over the Peak of Inflated Expectations. Reality has set in, and people are now posting more balanced evaluations of Ajax. But as to where we are on the hype cycle, I'm not sure we've passed the Trough of Disillusionment yet.
Even Ajax enthusiasts like Michael Mahemoff -- creator of the Ajax Patterns site and author of the book of the same name -- are still writing about current concerns with Ajax. So I don't think Ajax is on the Slope of Enligtenment yet, and it's pretty clear it is a long way from reaching the Plateau of Productivity. I'll have to do some more research -- maybe a Gartner analyst has expressed an opinion on this?
Looking for wisdom
Anyway, this seemed like a good time to scour the Web for wisdom about Ajax. And apparently, while Ajax is still a very hot topic, "Ajax wisdom" is not! Google returns a handful of hits, none especially notable. Even more telling, the domain name ajaxwisdom.com was available. (So I registered it, and right now it points here. If there's enough interest in fundamental truths about Ajax, I'll start a separate site once I have more content.)
Just a little research shows that there's a good supply of Ajax wisdom out there to tap into. For example, it's encouraging to read posts like Ajax and Design by Alice Toth, who recognizes that:
... but then goes on to point out that:... one nice thing about Ajax is that it gives the illusion of speed. It allows the browser to display information onscreen while continuing to query and receive data in the background. The user doesn’t have to wait for a page refresh before seeing new information. Because the browser didn’t have to wait for the entire results set before rendering data, the users perceives the site as being quick.
-- Alice Toth
This illusion of speed, however, can backfire by confusing the user since they might not realize anything actually happened. Here’s where some basic usability needs to be tied into Ajax. Let the user know when something changes on the screen. Display a success message, highlight the new information, change from form elements to text, etc.
-- Alice Toth
Alice's post, though short, is a good sign that Ajax is no longer being touted as the answer to every problem. Instead it's taking its place as one solution technology that has a role to play in the wider world of Web design. This is a less revolutionary role to be sure, but one much more likely to lead to lasting successes.
This post is the first in a new series on fundamental truths about Ajax.
Tags:
Ajax wisdom,
Ajax,
Ajax Patterns,
Gartner Group,
Hype cycle,
Alice Toth,
Jesse James Garrett,
Michael Mahemoff


Reader Comments (2)
Interesting aricle, but I'm not sure about this...
"Even Ajax enthusiasts like Michael Mahemoff -- creator of the Ajax Patterns site and author of the book of the same name -- are still writing about current concerns with Ajax. So I don't think Ajax is on the Slope of Enligtenment yet, and it's pretty clear it is a long way from reaching the Plateau of Productivity."
To be fair, any technology or discipline, no matter how enlightened, has a set of current concerns. I think you can only tell how advanced it is by actually examining those concerns, as well as the concerns that have already been "solved". That concerns exist doesn't really indicate anything.
Michael,
Your comment deserved more than a quick response, so I've written a follow-up post on Ajax performance management elaborating on my point of view.