10. Must sacrifice to Mouse Click God
When adding a feature, just layer it on some place, creating another menu, and more mouse clicks and mode changes. Users must like to click the mouse, so this only adds to their happiness.
9. Default to dumb
Automatically shift the user to an unrelated mode or feature, with no way to get back but going to the menu. See 10 above.
8. Auto Error
If you can make the auto shift or complete throw an error. See 9 above. And then require an edit (See 6 below).
7. Modal Dialog boxes everywhere.
Because all users love dealing with their 2 year old throwing a tantrum who demands attention now, and will not let you do anything until answered. All errors should be modal dialog boxes. See 8 above.
6. Click. Wait. Greatest. Idea. Ever.
When possible use click and wait before being able to edit anything. Because the only thing users like more than clicking, is waiting.
5. Sticky Clicky.
When possible, make an entire entry, when clicked on, do only one thing, so that editing, reorganizing, or changing, requires additional actions. Bonus points for 9 leading to 8 leading to 7 leading to 6 leading to 10. Must sacrifice to mouse click God.
4. Small targets.
For edits, make a small correction require hitting as small a target as possible, and instead grab and delete the entire text, requiring re-entry. See (9) leading to (6) above. Example: correcting one letter in a URL, or email address.
3. Prevent the user from doing what he wants to do.
For example, editing an email address in Apple's mail program. A gem: cannot edit, must click wait, and then has a small target. A thing of beauty is a joy forever.
2. Can only Undo what does not need to be undone, can't undo what needs to be.
Because users love redoing their work. Bonus if the undo route requires utilization of as many of (10-3) above.
1. Do it differently every single release.
Because people hate it. But remember to maintain the ideas in (10-2) above.