Jun 1 2011

Never Underestimate Your User

Never underestimate your users, if you do you’ll soon hear about it. Software is often built with assumptions about your users. Your user will be an accountant, your user will understand the labels, your user has experience with Excel, your user is this, that, and the other. Never make blanket assumptions of how your software will be used.

There are assumptions built in in every input field and user control element in software. Common assumptions baked in the User Interface of applications is that your users live in the United States, that they have a zip code or a telephone of a certain pattern. I’ve seen problems with file upload mechanisms when users try to upload a 500 MB PDF document and the server crashes, or when a user tries to enter 10,000 character comment and the database truncates 90% of it.

Facebook and Twitter have learned how to hedge users behavior that could lead to problems with limitations. Twitter best exemplifies this by the 140 character limit of each status update and the 2000 limit on the number each twitter account can follow. The 2000 follower limit can be increased but only when at least that many people follow you back. Facebook has a similar hard coded number of friends you can have.

The less assumptions you built into the software, the easier to use it will be. But as you remove assumptions, consider having caps, limits, and restrictions in case you start to have scaling issues.