Ajax and Usability

Does Ajax help our users or help ourselves?

Would Jakob Nielsen just say no to Ajax? Someone seems to think so, as the often controversial usability guru and web pioneer was spoofed in a recent article with the declaration: Ajax sucks. The article parodies nearly word for word Nielsen’s 1996 article Why Frames Suck Most of the Time.

Ifyou’re not a web designer, or are a web designer who’s been living under a rock for a year, Wikipedia defines Ajax as follows:

Asynchronous JavaScript and XML, or Ajax, is a web development technique for creating interactive web applications using a combination of:

  • XHTML (or HTML) and CSS for marking up and styling information
  • The Document Object Model manipulated through JavaScript to dynamically display and interact with the information presented
  • The XMLHttpRequest object to exchange data asynchronously with the web server. (XML is commonly used, although any format will work, including preformatted HTML, plain text, JSON and even EBML). In some Ajax frameworks and in some situations, an IFrame object is used instead of the XMLHttpRequest object to exchange data with the web server.

In short, the Ajax technologies allow the user to exchange information with a server without a page refresh. You’ll find it running under the hood of many popular web applications known for their fresh, and friendly interfaces; Google Maps, Gmail, Netflix, TaDaLists, and Flickr. You know how when you rate a movie in NetFlix, it updates instantly? Or how when you zoom in on Google Map you don’t have to wait for the page to reload like MapQuest? (Here’s a satellite map for my favorite chinese restaurant, Peking Gourmet, drag the slider on the left and the images will zoom in and out with no delay). And when you go through photosets in Flickr and the new photo appears in place of the old one? All Ajax.

Spoof author, Chris McEvoy, contends that Ajax breaks some of the most integral usability and navigational conventions, such as functional back buttons, url navigation, bookmarking capabilities, and browser compatibility. Additionally, he points out the difficulties for search engines crawling Ajax sites, which are unable to discern which page states to index.

Amidst the wave of Ajax backlash, as many sites are popping up praising Ajax’s usability for once cumbersome interactions that required reloading an entire page, or multiple pages; particularly communication and forms, radio boxes, and data sorting. See Alex Bosworth’s 10 Places You Must Use Ajax. Both camps can agree, however, against Ajax for Ajax’s sake, which can potentially slow down browsers with excessive code. It’s hard to deny Ajax’s place with the popularity of “Web 2.0″ implementations like Gmail, Google Maps, and Netflix, but as with any new technology, developers must first ask themselves “How is this going to help my user?” Just like Flash, Ajax won’t kill a site, poor application will.