Games and Decisions

I read somewhere (maybe Everything is Miscellaneous?) that the concept of “game” is hard to define; we have prototypical examples of games in our minds – chess, soccer, solitaire – but it’s difficult to draw boundaries based on attributes (does solitaire have any of the same features as improv games?). The point was that we categorize based on prototypical examples, not by inherent properties of the category.

But I’m going to go out on a limb and posit that games are defined by a player making choices. In chess or solitaire, choosing your moves; in soccer, precise motor sequences to maneuver the ball. There are certainly activities that fall outside this boundary – passive activities like reading or sitting in lecture. But it seems like every activity involving at least one active participant has been referred to as a game – from soccer up through stock trading, having a conversation, or living life!

What makes prototypical games more “gamey” may be that they don’t have significant consequences in the “real world”. They allow us to practice our decision-making skills in a safe environment, so that we can see the outcomes of a decision without having to worry too much about it – and thus, learn. By “decision-making”, I mean everything from instinctive muscle reactions to complex, deliberated thought processes.

What does this mean for interface design? Games are fun. If what I am claiming is correct, games are all about if-then scenarios. Interfaces involve the user making decisions in the form of input. In order to complete the if-then, so the user can see the outcomes of their decisions, we should design interfaces that respond to input with feedback about the outcome. As soon as a decision is made, the consequences should be shown. This is what I call “user-generated animation” and it’s all over Graph Sketcher and Mac OS X in general. Basic drag and drop. Colors and widths changing as you drag the sliders. The dock resizing as you run your mouse along. The new album “skimming” feature in iPhoto. Bill Moggridge was on to something when he encouraged us to draw inspiration from games.

Going even further, maybe this helps explain my dislike of both games and decision-making (compared to the average person). I’m most comfortable making decisions in a very emotionally safe context; and most games and aspects of life do not fall under that category. I tend to approach decision-making as a chore, in which case games are not fun unless they have some other outcome such as getting to know the other players or learning some useful skill.

Design as Abstraction

I am going to posit that good design means coming up with good abstractions.

What do I mean by abstractions?
Anything that takes you up a level of abstraction so you don’t have to worry about the underlying details anymore. For example, WYSIWYG interfaces abstract away the fact that the computer is really manipulating some sort of data store. Data stores themselves abstract away the details of memory mangagement and disk access. Physical inventions like glue and paint abstract away from the chemical underpinnings; electrical tools abstract from their electrical basis. Rice cookers abstract away from the details of stove temperature and cooking time.

What makes a good abstraction?

  1. Good abstractions are powerful, in the sense that they let you do a lot with the very same tool. This is what Will (the designer of many of the Sim games) said.
  2. And good abstractions are not “leaky” – they do not force the user to resort to, or even understand, the underlying details that the abstraction is supposed to cover up. This is what Joel (On Software) said.
  3. Good abstractions are conceptually understandable, so that users can actually figure them out. Don Norman talks about the connection between devices and users’ mental models in “Design of Everyday Things”.
  4. And good abstractions are reliable, in that they extend to all relevant circumstances. This reliability develops users’ trust and satisfaction – which is discussed in Norman’s “Emotional Design”. It also enhances the power of the abstraction.

Computer monitors are very powerful — they can display essentially infinite patterns via a simple abstraction of colored pixels. They successfully hide the underlying digitical circuitry. They are trivial to understand. And well-manufactured, they are reliable for years (and each pixel supports a relevant range of brightness and hue). I think these factors explain the computer monitor’s enormous success as a design.

Artificial Intelligence approaches often try to take great leaps of abstraction. Instead of typing letters, you say a word and expect the computer to understand which letters you meant. Snap a photo and expect the computer to recognize your friend. Such approaches will only be widely successful when they are sufficiently powerful and leak-free. Shouldn’t they work all the time, even in low-light situations? Shouldn’t they recognize all your friends, not just some? How about people you’ve never met? The recognition abstraction implies that these are all relevant circumstances, so it is hard to develop the user’s trust without supporting them all. User understanding about which of these circumstances are too technically challenging requires breaking the abstraction (leakiness). All of this suggests that these approaches will not be successful unless the limitations are clearly and easily understood (as in limited domains like speaking digits) or the technology eventually manages to fulfill all the expectations of the abstraction.

Outside of limited domains, I think the “pure recognition” abstraction is doomed because of the real ambiguities that exist in the world. There is often absolutely no way to tell the difference between certain words that sound the same or faces that look the same. The only way to know for sure is to ask questions, look at context, keep gathering data until the ambiguity is resolved. Since the user is involved in providing context, gathering more data, and answering questions, this requires a different metaphor – a “conversational recognition” abstraction. The CEO of ConceptQ was talking about this, and exploratory search interfaces like faceted browsing function along the same lines.