Please select destination

Designing a good UI can present some tough challenges. Human/computer interfaces often have to represent the wrangling of some pretty abstract concepts. They expose a variety of features to users with a range of experience and skills.

None of that applies here.

willfully stupid ui

This interface appears on the ground floor of the perfectly regular physical universe building in which I work. It operates the lifts (elevators), which facilitate powered vertical travel between floors.

The building has 18 floors (including the basement). These floors are arranged in chronological physical order as per convention. The ground floor, the first floor and the basement are communal - every other floor is used almost exclusively by its own residents.

So we're representing simple, concrete concepts to expert users. How then could it go so wrong?

First up - why are we looking at a (resistive) touchscreen at all? Screens provide a dynamically configurable interface, but the building's floors are static. New floors are not added, old floors are not taken away. The only dynamic content the screens provide is occasionally to advertise that the screen (or "kiosk") has broken.

But if we accept that we will use a screen, there are still a lot of outstanding questions:

  • Why does floor 1, popular a choice as it is, appear twice?
  • Why are floors 11 - 17 stuck behind a second button press when they're just as popular as floors 2 - 10?
  • Why is the basement called "-1"? No human would call it this.
  • Why is screen space devoted to the instruction "Please select destination"? With real estate at a premium, why waste it on so obvious an instruction?
  • Why is the "Help" button wonky?

So how hard is it to do better? In this specific case, not very. Twenty seconds of thought and two minutes of clicking produced this:

less stupid

Everything you need requires a single click. No space is wasted on redundant buttons or text. Everything is lined up with everything else!

The problem is that there's no penalty for poor UI design in this context, so lazy UI design has no cost. It's annoying for users, but not so annoying that they'll take the stairs.

So what's the solution? Bad UI terrorism? Should we hit offending interfaces with hammers, pushing up the cost of maintenance such that investing in a better UI makes financial sense?

Perhaps we should make it a reputational cost. We could name and shame the perpetrators, running award ceremonies for the worst offenders.

We could produce UI grading stickers - I would find it deeply satisfying to slap a "UI grade: F - must try harder" sticker onto an idiot lift screen.


Whatever we do, we mustn't accept bad UI as inevitable. We must remember how frustrating it is to encounter in the wild, and challenge bad UI decisions whenever and wherever we are able.