Nuno Nebeker

The Thingy Didn't Do the Thing!

Published on

I have some thoughts to share on user interface design. This is from the perspective of somebody who is involved in interface design, as a full-stack developer. The reader may not consider themselves to be involved in interface design, but if their work does things that interact with humans - that “interface,” if you will - they probably are. These thoughts have to do with taking responsibility for our designs, and I don’t want to make the reader uncomfortable with their own work or bring mine into play, so let’s consider a fictionalized scenario.

The Incident

7:04PM, Friday: User Alex opens a ticket. “I turned on The Thingy™. I waited for 3 hours and it didn’t do The Thing™. I checked and all of the doohickeys were in the upright position. Fix it!”

10:03AM, Monday: Customer Service brings ticket to Development. The Thing™ will not be executed if there are doohickeys, regardless of whether they are flopping or in the upright position. User error, ticket closed. Customer Service is to advise the user of the system’s specified behavior and offer a training package in the value of 0.5% of the client’s anual revenue.

Why The User Was Actually Right

We know better. That’s it, that’s all. Since we’re designing systems, we inherently know more about them than our end-users.

The Development team is well aware that there must be no doohickeys in play to do The Thing™. How could the system do The Thing™ if it needs to disable the discombobulator? If the doohickeys are floppy there’s obviously no way to do that - even the users know that! - but even if they’re in the upright position they’ll draw power from the de-re-pre-laminator.

Even the reader can infer that, right? I sure hope not, that would be a very bad sign.

The point is, we humans make assumptions and use them to inform quicker decisions. We also don’t know what we don’t know, and we don’t know what others don’t know.

Is There a Better Design?

There are a few options:

  • A tooltip asking the user to check there are no doohickeys;
  • The Thingy™ can be disable when there are doohickeys;
  • The Thing™ can be preceded by a doohickey-removal process;
  • The current status of the doohickeys can be shown in proximity to The Thingy™ - specifically if they’re floppy or in the upright position, and if they’re there at all;
  • Any combination of these can be accompanied by a confirmation popup.

Which one is the best one? As a very clever college professor of mine always (rightfully!) said: “it depends.”

The Takeaway

Users are just like us: they make decisions and act based on the information and affordances presented to them. They have less information and fewer affordances than we do, so they are likely to make less-informed decisions and take less effective actions.

We’ll always have to balance those with our system’s actual requirements and other considerations, but if the end-user can’t do what they need to do, because we didn’t give them enough information or didn’t allow them to take the necessary action, that’s our fault, not theirs. So let’s be positive and not defensive, even when the user should know better - let’s make them know better. Let’s think of the human and make their life better.