Menus · Design

A tick box that hid your dish from everyone

At the far left of every row on the menu screen sat a tick box with no label. Unticking it removed the dish from the guest menu, the kiosks and the till. Somebody who found that out by pressing it called it crazy — and asked for an eye. What a control owes the person about to press it.


On the back-office menu screen, at the far left of every dish, there was a tick box. It had a tooltip if you hovered long enough — "Show on public menu" — and nothing else. Untick it and the dish vanished: from the guest's QR menu, from the kiosks, and from the till, because the query every one of those reads requires the same flag. The person who found this out by pressing it said, reasonably, that hiding a dish from everywhere behind an unlabelled box was crazy — and that it probably just needed an eye icon at the top of the column, because an eye is a thing people already know.

What the box did not say

Three things. What pressing it would do. Where the dish would go. And that "public menu" in the tooltip was an understatement — the till is not public, and the dish left that too. A control that does a large thing owes the person about to press it a plain statement of the thing, before the press, not in a tooltip after the fact.

An eye, a key, and a sentence

The box is now an eye. Open, green: shown to guests and staff. Closed: hidden from the QR menu, kiosks and the till. The eye sits in the column header too, so the column has a name without a word in it, and a one-line key under the toolbar says what open and closed mean and what the drag handle beside each dish is for. Pressing the eye changes it on screen at once and tells you where the dish went — hidden from the QR menu, kiosks and the till — in the same words the key uses. If the save fails the eye reverts and says so.

Why not a confirmation?

Because the action is not dangerous, it was only unexplained. Hiding a dish is reversible with one more press, and a venue that sells out of something at half past eight wants it gone from the guest menu now, not after a dialog. The fix for a control that does not say what it does is to make it say what it does. A dialog would have made the box slower without making it clearer.

The wider rule, which this screen is now held to: a control names its own effect, in the place the eye lands before the finger does.


Try it on tonight’s service.

Nothing to install, no card. Not better by the weekend? Close the tab.