Repetition for Fun and Failure
Repetition is so very important to everything. I mean it! Everything!
It’s the belief in repeatability that drives our trust in science. It’s the process that makes our brains better at almost anything we can do. It’s the thing that turns the jagged jumble of a fractal shape into the structures of the natural world. Still not convinced? It’s the last step in Lather-Rinse-Repeat. Spooky, like the golden ratio.
In seriousness, repetition is one of the basic facts of life. It’s hard-wired into our most elementary thinking machinery and behaviour. One of the most important ways that we differ from traditional computers is that when we recognize repetition, we start to not notice it. Think about the last 5 times you brushed your teeth? Anything out of the ordinary? If not, then you likely don’t remember much about those individual experiences. If something strange did happen, like an important phone call or hearing some big news while you brushed away, the repetition is broken with uniqueness and you’ll likely remember it. Just ask any five people what they were doing when they heard about some huge event, and you’ll see this trick of the mind in action.
You may rightly question, what has this got to do with making software? Answer: abso-freaking-lutely everything.
Let’s start with a truism I learned from reading either Alan Cooper or Jeff Raskin’s writing: there’s no such thing as intuitive software. What can possible be intuitive about software? Nothing in the world works like it, so there’s nothing from which to draw natural inferences. Instead, we bootstrap the learning process with metaphors: layered objects, desktops, folders, rulers, envelopes, and so on.
It’s through the repeated use of these metaphors that software becomes familiar, and when we say intuitive we really do mean ‘familiar enough to drastically lower the learning curve.’ But ‘intuitive’ fits better on a brochure, so it’s the word we’re most familiar with. Funny how that turned out.
Se learn through repetition, and as we do we necessarily start to ignore the details of each repetition. This bit of knowledge is extraordinarily powerful for anyone designing a coherent set of software features. We can often rely on repetition to reinforce the pathways through information and actions that we create with software. We can also count on seeing it misunderstood and mis-used. Behold, one of the deadly sins of interface design: setting people up to fail by making critical, non-recoverable tasks repetitive.
An amazing example of how thousands of Windows Vista users will be screwed by bad use of repetition comes from an article on gaming technologies. While talking about the gauntlet of warnings that people to pass when introducing software on Vista, the author :
The principal user experience problem with LUA’s is that when a consumer wants to download and install a game demo off the Internet, they must first click past the IE warning dialogs, and then respond to the security elevation dialog Vista pops up requiring an admin account name and password to enable the software installation.
For boxed games, this may not be super intrusive because consumers purchase relatively few boxed titles annually, and have already paid for the game at the point that they experience the elevation dialog… The same will be true for core gamers surfing free downloadable demos. The frustration value of this experience is akin to what it would be like if you had to enter a username and password per song you wanted to try in Apple iTunes.

The intrusive dialogs are also oddly pointless, because Vista’s frequent warning dialogs do nothing to differentiate legitimate commercial software from known hazardous products, so consumers will still mistakenly install malware. Kids will either have to ask their parents to respond to elevation dialogs per download they want to try, or have their own elevation account and password and continue to download whatever they want.
It sounds pretty safe, if cumbersome, but it’s not even near safe. Using the same authentication interface makes granting permission easier. It also makes ignoring important details easier, while encouraging users to rely on muscle memory rather than think about what they’re doing. This is a problem in many interfaces, and not exclusive to Windows at all. But leave it to Windows to lower the bar to pain.
The Vista design ensures the absolute trivialization of the warning steps by increasing the number of instances, decreasing the importance of each instance, and making it an obstacle to immediate gratification. This is the perfect storm of disastrous repetition: Vista will train an army of unwitting users how to habitually pass an important, protective measure. Hackers will have it easy, with victims hurriedly and habitually granting malicious code the permission it needs to make trouble.
Fixing the scenario requires a rethinking of the administrative authentication interface. User names and passwords are a fact of life, and aren’t going anywhere. They shouldn’t be tossed out of the scenario, but instead reinforced with cues that interrupt the tendency to ignore details and rely on memorized action. Such cues could be floating placement of some interface elements, greater emphasis on details of the action being authorized, and possibly a challenge in the form of a choice or question about the context for the action (choosing a category for the software being installed, for example).
So say it three times with me: where you see repeating events in the software you’re creating, treat it with care. Dealing with repetition properly will make their lives truly easier; failing to address its dangers will lead to ‘what did I just do?’ moments that we all, regretfully, know too well.