Fresh Fish Sold Here

Imagine a fish stall at a market. A long brown wooden counter covered with a layer of crushed ice and a selection of the seas finest, all laying on their side with one lifeless eye gazing up at you. The stench of raw fish permeates through the surrounding area. The sign above the stall reads “Fresh Fish Sold Here!”. You’ve been hired to re-write this sign. What words are unnecessary?
- Fresh — As opposed to stale, rotting, disgusting?
- Fish — If you can see the stall and smell the fish, you’re not gonna think it’s lamb.
- Sold — As opposed to what, Fresh Fish Socialise Here?
- Here — As opposed to there?
Most people will assume all of the above. It’s unlikely someone sees a table full of fish and thinks “Hmm, I must have stumbled upon the burial site from a recent fish holocaust, I should alert the EU”.
In the pursuit of usability it’s easy to assume users are bumbling idiots who are seven cans short of a six pack, and label the forms accordingly. Often on the web you’ll see form inputs with a label, a prefilled example, and a clarification. The quest for usability can result in noisy forms, which appear more complicated than they ever should.
It’s important to realise the difference between making a usable form, and labelling the shit out of every control on the screen. When you’re labelling your applications, always bear in mind who you’re writing the labels for. Some things are plain obvious until over-explained.