Ajax, when used properly, can be a great user experience.

Badly written ajax however can be a pain. Often huge javascript libraries are loaded, it makes your browser and system slow and sometime you just end up staring at an spinning animated gif for “Loading …”.

Good Ajax makes the application snappy, responsive, fast, and avoids screen flicker. But with your traditional “get new HTML page” model, error handling is done by your browser. DNS issue? Your browser will say server not found. Connectivity issues? Browser will inform you of the timeout. Slow connection? our browsers throbber [wikipedia] gives you an indication something is happening.

With AJAX, it’s up to the authors of the Ajax application to do proper error handling. And many AJAX application have serious issue here.

User proofing Ajax application [A list apart] is a good article on some basics on how to improve your Ajax applications.

Ajax is in the need for some software engineering for QA. Right now, it’s so much low level hacking there, it makes you expect 90% of Ajax applications have serious usability and reliability issues.