Friday, February 22, 2008

Top Ten Ajax Mistakes

Ajax is powerful, but its very power can get Ajax developers into trouble. This list of top Ajax mistakes was compiled by Alex Bosworth. Unfortunately, his original posting has been lost in the great URL broken link black hole, so I summarized his main points here:
  1. Using Ajax for the sake of Ajax: a lot of the new Ajax applications are really just little toys, not developed for any real purpose (see the Ajaxian post, Why Ajax?)

  2. Breaking the back button: the back button doesn't mesh very well with Javascript. Keeping back button functionality is a major reason not to go with a pure Javascript web app. O'Reilly has a good post on fixing the back button.

  3. Not giving immediate visual cues for clicking: if something I'm clicking on is triggering Ajax actions, you have to give me a visual cue that something is going on.

  4. Leaving offline people behind: web application design should at least consider supporting offline Ajax access.

  5. Sucking wind on slow networks: if I have poor network connectivity, every time I do something I have to wait for the server to return a response, giving me poor Ajax performance.

  6. Sending sensitive information in the clear: all traffic must be vetted to make sure security is not compromised. Because Ajax apps tend to be more chatty, there are more opportunities for security breaches.

  7. Assuming AJAX development is single platform development: it's not enough just to code to JavaScript standards, you need to test on all major browers and versions. Quirksmode has a good discussion of javascript browser compatibility.

  8. Inventing new UI conventions: a major mistake that is easy to make with Ajax is: 'click on this non obvious thing to drive this other non obvious result'.

  9. Not using links I can pass to friends or bookmark: I need to be able to pass people "permalink" URLs to my Ajax web app. There is a good article in the Content with Style blog on fixing Ajax bookmarking.

  10. Blocking Spidering: Ajax applications that load large amounts of text without a reload can cause a big problem for search engines. This is related to the lack of permanent URLs. Google has a good discussion of the Ajax spidering issue.

No comments: