Learn more about my newest book, "Designing the Moment"!

Stop labeling your assumptions

Here’s something you can do right now to improve almost any application:

Stop labeling your assumptions.

Oh, wait. You don’t know what “labeling your assumptions” means. And that’s exactly my point.

There are loads of input fields and checkboxes and radio buttons on the web right now that lack context. They ask users to do things without explaining what those things mean. Like my statement, “stop labeling your assumptions”. Without context, you have no idea what I’m talking about.

What I mean is that we often make assumptions about how much our users will understand about our applications. We assume a user will know what we mean when we write “Enable checking” next to a checkbox, or “Content file:” next to an input field, or “Refresh” on a button that could apply to either the whole page or a single content area. We assume, and then we label our assumptions.

Right there in the interface, we tell our users that in order to use our software, they have to know things only we know about how it is used. They have to read our minds.

Funny that we so often accuse our users of being the faulty part of the equation, isn’t it?

Here’s how you fix it.

Look at each and every label in your application and ask yourself if someone who had never seen the app before will know what it means. Write a list of all the “No” answers and either change those labels so they’re more meaningful or add instructive elements that explain them (text, screenshot, short video, etc).

Keep another list of “Yes” answers. When you’re done writing, show all your Yes’s to 3 people who have never touched your app before.

When you’re done, I suspect you’ll need to change a few more labels.

Don’t feel bad, though. I changed at least three of my own earlier today.

Posted by Robert on August 6th, 2007





one comment

Natasha said:

This is something I find myself struggling with all the time. The application I’m currently working on is an IDE that offers a graphical editing and testing environment for an SDK developed by my company. The first labels that make it into the UI are *always* direct translations from the SDK back end. Unfortunately, the fact that the elements we show in the UI already have names make it difficult to break the chains. I constantly have to remind myself that although someone writing code by hand might be stuck using obscure syntax, we shouldn’t force that syntax on users of our graphical editors.

Posted on August 13th, 2007


post a comment

Name (required)