Beware of users!

Seriously, those jerks really know how to break things. They’ll use your software in ways you never thought possible. And then it’s your fault when it breaks! How dare they!

As developers, we need to expect everything. This is where I start talking about usability and such.

I could tell you about using personas to keep you thinking about your users and their specific cases while you’re developing your software.

I could tell you about using paper prototyping to minimize changes later in the development cycle when you realize what you thought was intuitive really isn’t.

I could tell you to minimize the amount of interaction needed to use the major functions of your software to keep from confusing or frustrating your users.

I could tell you about software prototypes, betas, and public testing programs to get feedback from your potential user base.

But really, even though I have experience with these techniques, I’m no expert with them. I’m just here to tell you to be aware of your users. Be aware that they haven’t been spending hours upon hours looking at the same screens. They can’t use your app with their eyes closed like you can. They don’t know that if you click buttons too fast, HTTP requests might get lost. They’re not aware of the nonstandard gestures you programmed in to make things easier (unless you have a good way of telling them).

The users want an easy-to-use thing that does everything, never breaks, and looks pretty while doing it. Just remember that.

You can find this cross-posted at http://blog.aaron-milam.com.