A good article about the history of AJAX with some good points about making good user interfaces for the web:
"Ask how long it takes to execute a requested task," he said. "If it takes more than 2 seconds, consider not providing the task or splitting it up into small, user-controlled tasks."
"A good tool should be transparent, should execute actions in less than half a second and should involve interactive bottom-up learning, "because you change your mind as you go," he said."
"Also, "You don't need to remember how an app works," Bosworth said. "There's a big difference between making something easy to use and making it productive." In other words, just because people can easily learn to use an application doesn't mean using the application will make them more productive."