Post No Signs
It is very tempting to try to influence behavior by posting signs. On the surface it makes sense. If we want someone to do something, simply post a sign that says so. Yet on a recent family trip to Disney World, it struck me that Disney parks have very few signs posted. And for a park that size there are practically no “do not” signs.
Disney evidently knows the same things I do about about signs. First, people ignore them. People just do not take time to really read anything: including signs, error messages, or user manuals. Second: signs, especially “Do not..” signs, make any experience less enjoyable. The signs are not the experience, so by definition they only detract from it. Software developers can learn from this example.
Cut words from software
There are alternatives to extraneous signage. Let’s look at some signs you will not see at Disney parks, the alternatives, and how these alternatives relate to good software design.
”Keep off the grass”
Disney keeps people off the grass by providing walkways wherever folks are likely to want to go and discrete barriers between the walkways and the grass or flowerbeds.
Likewise, well designed software keeps users off the grass by predicting what they will want to do next, offering a clear path to do so, and disabling the ability to go the wrong direction.
“Do not run”
Disney keeps folks from running by offering gentle, positive reminders from park staff. Anytime I tried running to quickly get a Fast Pass, I heard a Disney cast member firmly say “Walk Please”.
Likewise, instead of telling users why they cannot perform a task, good software design shows users how to accomplish the task they are trying to perform. For example, instead of saying “You can’t create that user before creating at least one group”, an app should say “Let’s create a group first, then we’ll create the first user” while directing them to the new group screen.
Disney does not insult you by thinking you need to be told not to run through a crowd of thousands (until you prove them wrong like I did and actually try to run through a crowd of thousands – a large percentage of whom are pushing strollers). Similarly Disney also doesn’t think most people need to be told not to litter. Disney keeps folks from littering by trusting guests’ better judgments and by keeping the parks clean with a huge maintenance staff.
Well designed software is the same. Instead of blaming users when they do something “wrong”, good software design simply cleans up the mess and moves on without major complaint.
“Do not enter”
There are many areas on the Disney parks where guests are not to go. There are many doorways between the magical guest areas and the backstage workings. If you watch, you will see Disney cast members coming and going through these alleyways and low-key breaks in the fence. What you do not see is big “Do Not Enter” signs. Why? Because the entry/exit points for Disney cast members are simply not marked. In fact they do not even look like they go anywhere. By hiding the employee only access points, Disney need not put up “Do not enter” signs.
The best way to prevent someone from doing something is to not even make that “something” an apparent option. For example, instead of responding with an error message like “This customer record cannot be deleted because there are unpaid invoices”, an app should not even show the “delete” button or link for that customer record.
“Do not sit on the sculpture”
Actually, I saw this sign at the St. Louis Art Museum some years ago. It was on a piece of brushed aluminum modern art that had a wide, flat, bench-height surface. This piece was placed in the lobby where people are naturally milling about talking or waiting to meet others in their party. What better place to have a bench! But, this art was no bench and the sign let you know so. I don’t think the artist had envisioned his or her piece so negatively overwhelmed by the “Do Not…” sign. Disney has no such sign because if something looks like a bench, it is a bench.
In good software design: if something looks like a button, it better be a button. If something looks like it should be clicked, dragged, dropped, slid, entered, or pressed; it better respond to a click, drag, drop, slide, enter, or press.
“Do not do back flips from this ledge”
I saw a teenage boy doing back flips off of a ledge and onto the concrete below it. Evidently corkscrew roller coasters and haunted mansions were not excitement enough for him. Sometimes there is just no accounting for teenagers. Disney had nothing in place to predict this behavior or to discourage it. How could they?
And there is certainly no way to predict everything users might try with a computer or with software. So, when something unexpected happens, well designed software simply says so and offers an easy way for users to contact the vendor for help.
Post No Signs
Five Man Electical Band expressed a proper disdain for signs.
Sign Sign everywhere a sign
Blocking out the scenery breaking my mind
Do this, don’t do that, can’t you read the sign
Take a hard look at the software you write and use. Are there unnecessary signs posted around the app that could be torn down and shredded if an alternative design approach were used?