There are some really common usability errors in everyday software we used; errors that result from the ways the particular programmer has learned without learning of all the other ways there are.
For example, talking about Windows software in particular, the following common flaws come to mind:
- Failure to support multiple screens. For example, windows centered in the virtual desktop (instead of a specific screen) and hence displayed spanning the monitor boundary in a dual monitor setup.
- Failure to support serious keyboard users. For example, utterly messed up tab order; duplicate or completely missing accelerator keys.
- Alt+Tab order mess-ups. For example, a window that doesn't go to the end of the tab order when minimized.
- Subtle breakage of common controls that were reimplemented for one reason or another. E.g. failure to implement Ctrl+Left/Right on a textbox; failure to add an Alt+Space window menu to a skinnable window, failure to make Ctrl+Insert copy to clipboard, etc, etc. This one is a huge category in its own right.
There are a gazillion of things like this. How can we ever make sure we don't break a large proportion of these? After all they aren't all written down anywhere... or are they?