Main | About | Services | Gallery | Contact | Blog
Breadcrumbs: main » news » Understanding Heuristics and How They Drive Design [Revised]

Understanding Heuristics and How They Drive Design [Revised]

The following article was witten and published by William Szilveszter.

Inmates

Lukas Mathis recently wrote an article on realism in UI design. Will Shipley (of Delicious Software fame) also wrote an article on interaction design and heuristics. But both fail to cover the underpinnings of heuristics and the human mechanism—to truly get at the source of how the mind works and why design needs to be shaped in a different direction.

Understanding Heuristics

Firstly, the definition of heuristics taken from Wikipedia is less than satisfying. (A heuristic is “an adjective for experience-based techniques that help in problem solving, learning and discovery.” Is it me or is WP getting more and more difficult to read and digest? Do they even have editors?) Let us take to my second year cognition textbook (written by the most boring and lacklustre authors alive. I begrudgingly had to read this book from cover to cover, and it was nothing short of sheer agony let me tell you): “A heuristics is a strategy that is often, but not always, helpful in solving problems” (Reed., S. K. 2004. Cognition: Theory and applications, 6th Ed. Belmont, CA: Wadsworth.)

I think this definition will better serve our purposes, and is much clearer than the one provided on Wikipedia. But let me put it in simpler terms. A heuristic is analogous to being late for work. You wake up in a rush, deciding to forgo a shower, and choosing to grab a cereal bar instead of your traditional toast and coffee before running out the door. You make it to work on time, but you realize that you forgot your phone, and to lock your front door. You succeeded, but you did it cutting corners. Provided nothing detrimental happened, and all your stuff was still there when you got home, it would have proved a success. That is essentially what a heuristic allows you to do: Achieve your goal using tried and true shortcuts. They don’t always workout, but for the most part, the time and effort they save makes up for their less than pristine track record. It’s a trade-off. A process that tries to reach an outcome with the lowest possible denominator.

Before pressing on, let’s get a better understanding of what constitutes a heuristic and how they are formed. Way back, some few million years ago, human beings began to use tools, walk upright, and mould their environment to better suit their needs (thank you opposable thumb!). After generations, certain constants helped shape not only the way human beings interacted with their surroundings, but how their perceptual systems were being structured. This is the case with all organisms, for they adapt to their environment.

A cat has fur because that organism choose that particular phenotype (an observable component expressed throughout genetics) to handle some part of their habitat. That is not saying that fur was the only option, but it was a mutation that was accessible (an elephant, for example, doesn’t have the genetic capabilities to develop wings so it’s not an option should the environment call for them), and selected for by their sexual partners. Remember that evolution is a dualistic system, in that, random mutations lead to strange new abilities, but those mutations must be a) beneficial to the organism, and b) selected for by their mates. If they don’t pass on those traits to their offspring, then the benefits die with them.

Interestingly, a recently discovered cave fish has been shown to lack the “ability” to forget. Placing this fish in an empty tank with a small cylinder in the middle, saw the fish learn to avoid the object. However, after the object was removed, the fish never swam in that spot again. Scientist feel this is likely due to the environment of the fish. A cave is stagnant—there isn’t really much going on. So rather than expend energy to handle this extensive cognitive ability, it evolved without it. This fish a testament to the sheer awesomeness of evolutionary processes. I digress.

For humans, light always came from above (i.e., the sun), so we our visual system operates best under these conditions. Even the fear of spiders and heights are deeply rooted in human history (you tend to live longer if you don’t play with poisonous bugs and keep your ass firmly close to the ground). And my personal favourite: spontaneous food aversion. You ever eat something and within a few hours, start to feel nauseous? If that nausea turns into a violent illness, how likely are you to eat that meal again? Not very. It doesn’t matter if it’s the cause of your sickness. Your brain makes the connection without your active consent, and you develop an aversion to the substance. It varies in strength from person to person, but if you ate an egg salad sandwich and in a few hours, spent the rest of the night hugging a porcelain God, then I bet dollars to donuts you won’t be ordering it the next day for lunch, or the one after that.

Now it is important to note that heuristics don’t form overnight. They take generations, and the longer the stimulus has been present (and pervasive), the stronger these “rules” will become. After all, it makes sense to trust rules that nearly always return a favourable outcome. It also makes sense to put a “bypass conscious processing” proviso on these rules too, for the sake of rapid execution under minimal exertion. In fact, the most prolific heuristics (the ones there from the dawn of humanity) are so pervasive that they often replace (or at the very least, bypass) logic and critical thinking. They may sound like a detriment, but they play a crucial role in allowing us to parallel process oodles and oodles of information. Even those massive server farms having nothing on the human brain (all readers should give their lapels a soft tug).

Heuristics & Software Design

But classic computer programming has largely failed, because it failed to copy nature. Nothing in nature works 100% of the time, but it sure works well MOST of the time – and when it fails, well, you die and get replaced.

—Will Shipley

I’m afraid Will has all but lost me here. I’m imagining a bank machine that sometimes gives me money, while other times, it takes it from my account. I’m not sure what he’s driving at, but if a button doesn’t work 100% of the time, then I’d have to say that the coder is the one who’s going to get replaced. Admittedly I’m no coder, my formal training is psychology and philosophy, so maybe he’s talking about coding dynamics that are beyond my understanding. But I’m still trying to wrap my head around a program who’s code structure sometimes does this, and sometimes does that. I’m still not sure how that might work.

At any rate, in my opinion, he’s barking up the wrong tree (ouch, sorry for the cliche). It’s not the code that needs to improve, but the way it’s being applied. Code needs to be logical and its application too, needs to be logical. The problem, repeated for the upteenth time, is the coders themselves (sorry guys, as much as you hate to hear it, it’s true). Their superior understanding of code makes them volatile, often resulting in a convoluted and irritating program that general users find unusable (or not very enjoyable to use). This is precisely why scientists shouldn’t run the world. Or plumbers. Or engineers. What truly needs to change is the way coders perceive and ultimately conceptualize the their finished programs.

Usability pundits (Donald Norman, Alan Cooper, etc.) have all fingered the root of the problem a long time ago: A lack of understanding. Not in writing code, but of the human being. And this brings me back full circle to the actual issue at hand. Coders aren’t trained in heuristics, nor are they trained in the human machine. They have no idea what heuristics humans employ, why, how, or when. Take for example human memory. The average person can remember 7 +/-2 digits. That’s why North American phone numbers are 7 digits long (area codes don’t interfere because they are usually quite static, only having a few local ones to remember). When this tidbit of information leaked to the masses, coders retooled their programs. Every drop-down menu now had no more than 7 items. Every preference box had no more than 7 buttons. The problem? People don’t need to memorize drop-down menus, they are staring them in the face. Sadly, because coders aren’t experienced in psychological research, or fully understood the findings, they were inadvertently misapplied.

Good Design Through Metaphor: Tapping Into Heuristics

The use of metaphors are common practice. They work because a single metaphor (by definition) can serve many functions, in that, it is applicable across many instances.

Graphical user interfaces are typically full of symbols. Most graphical elements you see on your screen are meant to stand for ideas or concepts. The little house on your desktop isn’t a little house, it’s «home». The eye isn’t an actual eye, it means «look at the selected element». The cog isn’t a cog, it means «click me to see available commands».

—Lukas Mathis

Heuristics offer programmers a b-line straight to the soft, chewy centre of the human brain. It taps into knowledge that is already there, waiting to be put to use. This is the key to “intuitive” design. The human brain is already hardwired for a great number of things. By tapping into this current network, programmers can access streams that already provide well established knowledge regarding the function. And as mentioned above, this is best done through the use of metaphors. Things like folders, windows, buttons, and desktops. Even icons and labels work in this way. (But bear in mind, a metaphor is not a heuristic.) Do you see a trend? Human beings are cognitive misers. We don’t like to think about every little detail. We prefer automation. The shortest route travelled.

Admittedly, the best way to develop programs (or new technology) is to employ teams that have a wide breadth of expertise—from coding abilities to varying degrees of psych experience. When you design a tool for a human, you better damn well understand the human. Having experts on both the technology and the user will guarantee an exponentially better final product.

Anyone truly interested in crafting better programs (if nothing else) needs to read these three books:

1. Interaction Design: Beyond Human-Computer Interaction link

2. Emotional Design: Why We Love (or Hate) Everyday Things link

3. The Inmates Are Running the Asylum: Why High-Tech Products Drive Us Crazy and How to Restore the Sanity link

And if you are looking for an excellent read on the human mind and evolution, you must read these:

1. How the Mind Works link

2. The Selfish Gene link

This article was posted about 1 year ago, first appearing on Aug 29, 2009.
  1. Candace says:

    I agree with your basic conclusion, but there are a couple of things that make you come off as pretentious rather than informative.

    1. You, as a person with knowledge, should have edited the wiki entry. That is the whole point of its existence.

    2. In the US, Human Factors, is an umbrella term used for a number of disciplines including HCI, engineering psychology, applied cognitive psychology, HMI, HSI, human performance engineering, and so on. The term cognitive ergonomics is rarely used in the US. What you say is human factors, would typically be referred to as ergonomics in US. So you can’t fault Will for that particular terminology.

    My final reason for commenting is to let you know that I found your blog through my Google alerts for human factors. Thanks to you for blogging and thanks to Google Alerts for finding the blog for me.

  2. William says:

    Candace,

    1. I have modified Wiki articles in the past, only to come back and find them restored to their previous state. I’ve since stopped wasting my time. If they want to expand their knowledge base to reflect human readable articles, then they need to revise their practices. Most of the wiki is written by experts who have no idea how to use the English language. Editors are needed but sadly, not appreciated. The wiki typically only cares about source and correctness, nothing else.

    2. Interaction design is the umbrella term that includes the multidisciplinary fields. Human factors is a more focused discipline, as is HCI, and cognitive ergonomics (sometimes referred to as cognitive engineering). Ergonomics is often used interchangeably with human factors.

    This information comes direct from the Human Factors & Ergonomics Society (Santa Monica, CA), and can be found in the first textbook provided (Interaction Design: Beyond human-computer interaction, p. 11).

Name
Email (not made public)
Website (optional)

Comments are currently being held for moderation. If your comment does not appear immediately, please do not repost.

Understanding Heuristics and How They Drive Design [Revised]