August 11th, 2006

Ajax: Killing Usability One Request at a Time

14 comments on 728 words

My oh my how we’ve wandered down the wrong path. No–it’s not the path where our users praise us for the immensely useful service we provide; Not the path where where we’ve done what’s best for our users; Not the path where we evaluate our choices based on context instead of technology. We have instead taken the proverbial “slip and slide” down the road where Ajax “live” anything is assumed to be better than well justified design decisions.

Hi, My name is “YOUR NAME HERE” and I’m an Ajaxaholic.

Where we’re at

Remember when you were a kid in the store; wanting to eat every piece of candy on the shelf? Or maybe you remember the first time you used a layer style in Photoshop; Bevel and Emboss anyone? Dropshadow?

You never really understood why your parents wouldn’t let you have all that candy, or why seasoned designers would snub at your masterpieces. You were oblivious, immature, and naive. But, alas, we all mature with time. We begin to take note that the things we once thought were great had negative implications. Whether it be rotting teeth, or design cheese, we eventually learn the error of our ways.

Well, today, we are that kid in the candy store. Ajax has become the presumed “best way” to implement a lot of things that would be much better without it. We’re not having our conversation with the situation; instead, making design decisions based on blind assumptions, pounding this square peg into a round hole.

How we got here

How did we get here though, and how do we get out? While I don’t have a definitive answer for either of those questions, I do have a few assumptions.

It’s to easy: It’s never been easier to implement Ajax. With all the well designed Javascript (yes, Javascript, not Ajax) libraries out there now, it takes very little knowledge to implement Ajax in an application.

Assumed value to user: Live search is better than a well implemented search feature. A spinner graphic while waiting on an action to execute is always better than the brief flash of browser reloading.

Dollar signs: Marketing departments have a field day with this. I mean you can’t bill your company as 2.0 if you don’t have excessive amounts of bad Ajax in your application.

Poor Resources: This one bothers me, because these resources could be great, and are great at times. But when you’ve got leading websites that have Ajax in the name not promoting responsible use of Ajax, but rather using a “Cool, look at this!” tone on a lot of their articles, it doesn’t help the culture. If your promoting Ajax tutorials, running an Ajax site, make sure you point out that there is no such thing as Ajax Rounded Corners.

Cleaning up our act

We’ve got to make smarter decisions on when to use Ajax. Don’t just assume something will be better with Ajax. We’ve got to weigh both the Ajax and standard way of doing things and make a well informed decisions, not blind ones. Design your applications based on the needs of your users, not buzz words for the feature list.

Discussion

  1. Jon Jon said on August 12th

    I totally agree with what you’re saying here—but in all honesty, as far as usability is concerned, when would Ajax be applicable? Users expect to go to a different page when a link is clicked. It has been the way of the Internet since the beginning and now things have changed. Should users have to learn to deal and really believe that their email was sent even though they’re still on the same page?

  2. Gabe Gabe said on August 12th

    I also agree with the article, but Jon, you’re totally wrong. Let me give you a good example:

    Google Maps vs MapQuest

    It’s probably the most extreme difference in usability I’ve ever seen for two sites that do the same thing.

    Also, if you use Basecamp, the Ajax todo posting and re-ordering is a huge timesaver.

    I realize that past experience plays a huge role in usability, but I think you’re overestimating the awareness the average user has of pages and urls. Remember, people have been using responsive GUIs for twenty years, so the idea that something can update without the URL changing and screen blinking is not a new idea.

  3. Neil Mix Neil Mix said on August 12th

    I couldn’t agree more, Justin.

  4. Tuggle Tuggle said on August 12th

    I don’t think you’ve demonstrated how ajax is “killing usability”. You can’t kill something that never existed or never was on it’s way existence in the first place.

    For example, “Live search is better than a well implemented search feature.” Yes, a well implemented search feature would be much better. But the developer that threw in the live search did it because he/she is most likely incapable of making a great search feature. They don’t understand their users and they don’t understand product usability. So how did ajax kill anything. It’s not like we see hoards of great UI designers casting overboard their solid methods to embrace all the ajax they can. That would be killing usability. All we have here is a new toy for amateurs to dress up.

  5. Steven Smith Steven Smith said on August 12th

    AMEN! If every transition in Keynote (God forbide PowerPoint) is a spinning 3D, it kind of looses its affect. Ditto for AJAX. AJAX should make the user experience better not arcade’ish.

    Good post.

    Steven

  6. Jon Jon said on August 12th

    @Gabe: Perhaps I should have been more clear. I absolutely agree that Ajax can be a great timesaver. What I was speaking about was the abundance of “implementing Ajax so we can say we implemented Ajax”. Your arguement is well supported and I absolutely side with your examples.

  7. Justin Palmer Justin Palmer said on August 12th

    @Tuggle: Your right, you won’t see great UI designers casting aside their well thought-out principles, thats what makes them great UI designers.

    But, sometimes great designers are forced to implement bad design because of other factors. Design is unfortunately a profession that everyone assumes is common sense and everybody gets to take their turn deciding how they think something should be implemented.

    Bad design is just bad design, it kills usability as well, I don’t disagree that a bad Ajax live search is any better than a poorly implemented standard search.

    You can quantify the decision to use Ajax in a lot of cases by determining if it’s a low-input, high-volume action. TODO list, Chat, Dragging Maps, changing the status of something like a comment from unapproved to approved, etc.

    Now I can’t bundle all things under this rule because you still have stuff like atomic saving (GMail) and plenty of other useful, but uncommon scenarios.

  8. Tobie Langel Tobie Langel said on August 13th

    I completely agree with you. As a matter of fact, I never understood the crave for live search (whose results disappear from the page when your return to them), ajaxified comments (who are often badly implemented and lead to double posting, improperly encoded content and the like).

    However - and I’m not playing devil’s advocate here - we web developers and designers are often confronted with client’s unmeasured desire for eye-candy. Traditionally, this often led to totally unaccessible websites coded in Flash.

    Ajax can play - and has already played - quite a big role here by offering the eye-candy some clients crave for while maintaining fully-degradable and rather accessible websites (that is, until screen readers get their act together and correctly render content added by Ajax).

    In the meantime, if the choice lies between adding an ajaxified tabbed navigation (which fully degrades, and will be fully accessible once the next generation of screen-readers will be available) or coding a website in flash, I’ll more than happily choose the former.

    Accessibility is a subject which most clients are still not interested in (especially in countries where there is no legal backgrounds to it). It is our responsibility to enlighten them, but in the end, they are the ones making the decision, and if not presented with an eye pleasing alternative… they will alas often go with the bells and whistles of Flash.

  9. Tobie Langel Tobie Langel said on August 13th

    I’m sorry if I drifted out of topic in my previous comment, but I think it is difficult to discuss usability without taking accessibility into consideration as an unaccessible website is just totally unusable for someone with disabilities.

  10. Justin Palmer Justin Palmer said on August 13th

    Tobie: Unfortunately, what you’ve said is true. A majority of clients that aren’t in-the-know will would rather have the roman candles instead of bottle rockets.

    On the Accessibility issue, I really wouldn’t attempt to sell accessibility to clients, but rather make what I do for them as accessible as possible as part of my civic duty.

    Trying to sell accessibility to a client is like trying to sell candy bars to chocolate lovers by reading them the nutrition facts. It’s just not appealing.

    P.S: Great tips you’ve been posting. :-)

  11. Tobie Langel Tobie Langel said on August 13th

    [...] make what I do for them as accessible as possible as part of my civic duty.

    I like that!

    And thanks for your postscript. You’ve been a major source of inspiration since I started client-side scripting, so I’m particularly touched by your remark!

  12. Nate K Nate K said on August 14th

    I agree with what you are saying. As professionals in this field we have a ‘duty’ (for lack of better terms) to create FULLY functional websites. This means that it is usable and accessible to all, with Javascript being added unobtrusively.

    Too many people jump on the bandwagon with buzzwords, and it has always been that way. Taming these people is another story.

    Thanks for the insight for the day…

  13. Andrew Andrew said on August 14th

    It’s certianly true that any technology has its buzz-n-bandwagon stage. There’s clearly been some inappropriate use of Ajax, but I can’t agree with the sort of blanket statements like Jon’s comment above: “Users expect to go to a different page when a link is clicked.”

    I think it’s probably best to say: Users expect to go to a different page when their context and expectations suggest that’s the appropriate thing. I don’t think that means “all links must take the user to another page.” (Jon’s second comment suggests he’d probably agree.)

    Tabbed Ajax navigation is one of those grey areas. Top level site navigation shouldn’t be done with Ajax..the expectation that each tab has its own URL and physical “place” is very strong. But a tabbed section within a page might be different: the expectation might be that the user’s simply flipping between attributes of the same object.

    It’s very hard to speak in general terms without specific examples and specific user contexts as evidence. Yahoo’s Bill Scott’s been giving a great presentation about Ajax and Design Patterns, and his stuff is a good place to start if you’re thinking about general guidelines for when and when not to use Ajax and DHTML.

  14. B. Hill B. Hill said on August 30th

    I like AJAX! It is great on removing tough dirt and grease. It always leaves my surfaces sparkling clean. The grease-cutting formula in a lemon fresh scent is the best.

Sorry, comments are closed for this article.