- Your users will probably mess things up. Some are just down right stupid. Don’t trust anything they say, it is probably a mistake. The best way to deal with this sort problem is to ask them lots of questions, even when it’s obvious they meant to do what they just did. Are you sure you want to do this? Absolutely sure? This will interrupt their workflow so much that they wont have time to do any damage. Or work. Which is probably for the best.
- Make sure any text in your application is as verbose as possible, your users will appreciate having something to read. So avoid short labels such as “User Name” they want to see descriptive text like “Please type in your username in this text box over here:”
- Make careless errors throughout. Where possible make any choices ambiguous so that they don’t know what the impact of decisions will be. You can also save time by not doing any spell checking on your application or worrying about how things line up on the page in to natural groupings.
- Your users have all the time in the world to trawl down long lists of data. Any mechanism for filtering and sorting that data would lead to confusion so it’s probably best left out.
- Avoid any form of established conventions – it will probably be obvious what you meant. Whilst you are at it, fit as much information on one page as physically possible and don’t worry about its location either. Users will almost certainly be able to spot the pertinent piece of information amongst all the clutter. If you want something to aspire to, John Gruber found this beauty. I think we all can learn from that!
- Don’t provide any easy way of getting data out of your application. Why would users want to when they can use the features of your app? If they want to do advanced work with their data using specialist tools then that’s an opportunity for you to enhance your app! They can just wait until you’ve implemented those features (obviously, once you’ve charged them for the privilege!)
- Treat your users as criminals by making sure you have draconian security measures in place. Bonus marks if your app dials-home every time it is run, just in case the user has stolen it since the last time they ran it. Of course, it’s better to devote time to making a poor product hard to steal than releasing a quality product that people are happy to pay for!
If you were in any doubt; the above is very much written tongue in cheek. However, the amount of times I’ve seen these mistakes in the wild you’d think that people were deliberately trying to alienate their customers and users or taking the above seriously!
I’d be interested to hear of things that you have encountered in software that almost seem like they were added for the sole purpose of annoying you!