26. It's your turn to pick another key combo for "quit application!" [ajw]
25. Just to be extra-sure, require a reboot whenever the user changes your app's preferences. [magus]
24. I know, let's use MDI! Users love that. [peterb]
23. Must be at least 3 ways to reach any config panel. The panel should look the same but behave differently depending on how you reached it. [ajw]
22. When in doubt, install icons wherever humanly possible. Make sure to check and recreate them if the user accidentally deletes them. [visigoth]
21. Make sure that the options for any component are spread out across at least three different config panels or tabs. If you put them all together, your users would simply find what they were looking for quickly and not see all the other exciting preferences your system has to offer them. [magus]
20. Steal all file associations you can get your hands on. Otherwise some other app may misuse them. [ajw]
19. Put one third of your options under Tools/Configure, one third under Tools/Options, and sprinkle the remainder around randomly. [ajw]
18. It's not copy and paste if it doesn't cause inter-app locking problems. [ajw]
17. The X11 style guide is your bible [tomault]
16. An uninstall program? Why would you want that? [peterb]
15. If you're working from an existing UI, throw it away and recode it in VB so that it's 10x as slow. [ajw]
14. Users are bored with dialog boxes that pop up over their windows and obscure their work. Try to pop under their windows instead. [magus]
13. It's not done until a random keystroke or mouse gesture will rearrange panels in some way that it will take ten minutes to recover from. [ajw]
12. Remember, garish color combinations draw attention to otherwise boring content [tomault]
11. "Quit" should bring up a 10 second advertisement for one of our other products. [peterb]
10. Three things: toolbar icons! toolbar icons! toolbar icons! They should cover 75% of the visible work area. [ajw]
9. Users should be required to set each and every option manually when they run the program for the first time [tomault]
8. Undo? What's that? [jch.z]
7. Everyone loves skins. Spend 10% of your time on the UI, and 90% of your time coming up with L33T skins for it. [jch.z]
6. Make any operations on network-mounted objects go away and query the remote server. That includes selecting the object. [ajw]
5. If the remote server's unavailable, tantalize your user with noises about working offline, before shooting down their hopes with a red "failure" dialog box. [ajw]
4. Any change made to content must cause all tree views to reset themselves and scroll back to the top [tomault]
3. Automatic update option must require some obscure option in "internet preferences" to be set correctly before it will work. Failure messages must not be meaningful in any way, of course. [tomault]
2. changes to the default font will be distributed as critical updates [dpelleg]
1. If anything goes wrong, don't abort or signal an error. That might confuse the user and give them a chance to quit without overwriting their document. Instead, replace the erroneous content with a big red X and hope the user saves the results over their good document without noticing it's corrupt. [roc.z]