the article Making Rich Web Application Architecture Usable outlines the things users hate to do when working with an online app and gives tips on how to avoid those things.
Users Hate Learning
- keep elements visually consistent
- use real-world metaphors
- fix element locations
- space out new tasks
- make buttons learnable (text label) and scannable (distinguishable icon)
Users Hate Repeating
- automatic data collection (contextual information such as location and task)
- re-use data across apps
- use default values that reflect the majority with user ability to change
Users Hate Waiting
-show progress
- give access to previous steps
- display partially loaded data to "minimize the perceived wait"
- use appropriate alerts
Users Hate Searching
- consistent nav
- "task-based interfaces should be loosely connected", allow users to choose their own paths
- but also display an ideal path
- give each task it's own url that can be easily bookmarked and linked to
Users Hate Reading
- present data in a way that is accessible to all and scannable
Users Hate Security Breaches
- get users consent when sharing data
- default to strict security and allow user to loosen it
Users Hate a Monotonous Look
- users like to be able to customize the look & feel (backgrounds, colors, skins)
- but keep interface elements consistent regardless of the "theme" chosen
Users Hate Platform Restrictions
"The ability to deploy applications on various operating systems across different accessibility software is an important criterion when it comes to choosing the development platform."
Users Hate Rigid Functionality
- provide options to edit functionality
- provide "presets" according to different audience types
Users Hate Mistakes
- auto-save actions and enable undo
- develop macros for repeat actions