Derek Featherstone speaks in this UIE seminar about how “incorporating Ajax into your design can dramatically impact a user’s experience on your site. This is my notes from the seminar.
You can improve flow, reduce errors, and improve satisfaction.” However, “you can also ruin your site’s experience just as easily, causing more harm than good. As with any powerful tool, Ajax needs to be wielded with care.”
It’s not about AJAX, its about what you and your clients want from your application.
What we’re looking for is speed, intuitive, responsiveness
I want to know what my choices are and what the most appropriate actions.
It has little to do with AJAX but everything to do with the User Experience. Apple only loads what will be the most important to most users not all items. Thus if you scroll down the page will start to load those items. This saves bandwidth.
Mapquests updates in the map would require a click of a button to move up and it would take time to reload the page and reorient yourself to the location. Google Maps removes all that and just immediately updates. No waiting for an update. Google search works similarly. It goes back to the database and lets you know how many results there is somewhere. All of this is about getting people to the right place faster. AJAX is starting to move into desktop apps. Predict a users behavior to create an efficient/pre-cached experience.
What is AJAX specifically? Bill Scott said, People mean “the set of technologies that allow web apps to provide rich interaction, just in time information, and dynamic interfaces without required page refresh.” So then when do we use it? When it enhances the user experience. We shouldn’t use it just because someone said we should use it.
One use might be for creating the illusion of speed for slower processes, when maintaining context is an important part of the activity, for discrete, small updates to the page, for error prevention & recovery (user name checking, password strength), when mental model down’t match process, for connecting two pieces of functionality to improve interaction.
Do research to figured out when to use AJAX. It can be low budget. Any research is better than none. Anticipate user needs and it involves guesses and changes. Is there anything predictable? Precatch responses when you can, repetitive areas (use it to eliminate the need for repetition.
What to look for in interviews:
I wish I had known
user account creation / management
where would it hurt most if it crashes
what is most likely success or failure – design for recovery
Figure out where the focus should go and manage that accordingly.
What are our design obligations? Indian Jones has to replace something at the temple with something of the same weight to avoid getting show. So we need to think of AJAX as if we take something away replace it with something that is good or better. Ensure that people don’t think the interface isn’t responding.
Research, discover what people want, implement
before and after state are mostly the same
simple validation for account creation
look for important secondary tasks (and put them away)
always test for keyboard usage
save something in real time (but not before they have an account)