1. Give users multiple ways to achieve their goals
2. Give users all the functions they need to achieve the task at hand.
3. Be consistent in navigation, screen layout, and interaction design.
4. Use ‘widgets’ correctly. Incorrect use of widgets make people confused.
5. Assume users have no memory. They shouldn’t need to remember things about function or navigation.
6. Users are like Bears. Never surprise a user.
7. Users should never need to figure out how something works – the function of an element should be obvious from its visual design.
8. Don’t crowd screens. Just because it fits doesn’t make it OK. White space=good
9. Alignment and formatting matter. Make sure elements are presented neatly and professionally. Group similar things on the screen.
10. Iterate your designs. The more you test-analyze-modify, the better your software will be.
Thanks to Rob Lokinger from CAI Canada.