It’s been well over a year now since GMail changed the way everyone thought about web apps.
It’s now officially annoying to use web apps that haven’t replaced clunky html functionality with peppy Ajax goodness.
Here are places Ajax should now be required in a web application:
* Form driven interaction.
Forms are slow. Very slow. Editing a tag on a del.icio.us bookmark? Click on the edit link to load the edit bookmark form page, then edit the field and hit submit to wait for the submission to go through, then return to the previous page and scroll down to find the bookmark to see if the tags look right. Ajax? Click on the edit link to instantly start changing tags, click on the submit button to asynchronously send off changes to the tags and quickly see in place what changed, no reloading the entire page.
* Deep hierarchical tree navigation.
* Rapid user-to-user communication.
In a message posting application that creates immediate discussions between people, what really sucks is forcing the user to refresh the page over and over to see a reply. Replies should be instant, users shouldn’t have to obsessively refresh. Even Gmail, which improves on the old hotmail/yahoo mail ‘refresh inbox, refresh inbox’ symptom, doesn’t really push Ajax far enough yet in terms of notifying new mail instantly.
* Voting, Yes/No boxes, Ratings submissions.
It’s really too bad there are no consistent UI cues for Ajax submission, because submitting a vote or a yes/no response is so much less painful when the submission is handled through Ajax. By reducing the time and impact of clicking on things, Ajax applications become a lot more interactive – if it takes a 40 seconds to register a vote, most people would probably pass unless they really care. If it takes 1 second to vote, a much larger percentage of people are likely to vote. (I have 2008 movie ratings on Netflix versus 210 ratings on IMDb.com).
* Filtering and involved data manipulation.
* Commonly entered text hints/autocompletion.
For heavy use applications such as a webmail client or a blogreader, users have the luxury of time to learn new UI concepts, and the frustration of interacting with a slow interface. This kind of application is a perfect opportunity to leverage Ajax everywhere. The more frequently users use an application, the more Ajax should be powering that use.
Here are some places Ajax shouldn’t be used:
* Simple forms.
Even though forms are the single biggest beneficiary of Ajaxification, a simple comment form, or submit order form, or other one-off rarely used form does not benefit from Ajax driven submission. Generally, if a form is not used much, or it’s critical to work properly, Ajax is not that helpful.
LiveSearch on blogs is more annoying than useful. There’s a reason that Google Suggest is staying in beta and not going on the front page of Google. Searching on Start.com Live.com doesn’t allow use of the back button to see a previous search, or previous pages. Maybe it’s possible that no one has gotten this right yet, but getting this right is hard enough that it’s generally not a good idea, or more trouble that it’s worth.
* Basic navigation.
* Replacing a large amount of text
Ajax saves a complete refresh of the page, so small pieces of the page can be more dynamically updated. But if nearly everything on a page is changing, why not just request a new page from the server?
* Display manipulation.
* Useless widgets.
Sliders, drag and drops, bouncies, mouse gestures, whatever. Mostly these widgets can be replaced with more intuitive controls, or eliminated altogether in favor of simplicity. In picking colors, maybe a slider widget is useful to pick the exact shade. But in picking a price point in a store, a slider to pick the price to the cent is just overkill.
OK I fibbed in the title, I only posted 6 places Ajax should be used and 6 places it probably shouldn’t. But look at this post more four-dimensionally; I have set up a wiki page on SWiK for places to use Ajax, and I or anyone else can fill in more places Ajax is useful as time goes by.
BTW, I’m now trying to use Feedburner to track my RSS feed, if you aren’t subscribed to the feedburner feed, please subscribe to http://feeds.feedburner.com/AlexBosworth.
** 本博客文章全部原创，原则上不欢迎全文转载，如需转载（包括部分转载，使用文章图片等）请务必标注原文链接！同时，本博文章不欢迎任何形式的派生及篡改，如需引用，请使用引用通告(Trackback) - http://blog.istef.info/2005/12/06/10-places-yo.../trackback/。商业网站使用请务必先取得作者授权！