Surprisingly, humans are able perform precise tasks without precise knowledge of the actions required. We prefer to unload as much information as possible as to not overload our brains. Whatever information we can get out of our heads and still perform the task at hand, we will forget it. There are three main reasons why we can reduce the declarative knowledge we store in our heads in favour of procedural knowledge:

  1. Information in the World: When we are provided with a memory aid we are not required to remember as much declarative information. This is the reason a typist has a lot of trouble recollecting the location of every key on a keyboard. They simply don’t need to know that information to be able to type efficiently.
  2. Great Precision is Not a Requirement: We only memorize enough information to allow us to perform the task at hand, and nothing more. For example, when we are sorting through our change we know that a penny is the small brown one and can identify it using two points of data. If we added another similar small brown coin with a different value to our change we would be forced to commit another distinguishing data point to our memory. Notice how the more convoluted a set of options or objects becomes, the more data we need to store in order to distinguish between them.
  3. Constraints: This is kind of the opposite of 2. More details are given to allow greater precision without extra work. There are two major types of constraints, natural constraints which are based on logic or physical possibilities, and cultural constraints that are learned from experience and generally agreed upon such as “righty-tighty, lefty-loosy”.

Types of Constraints:

Physical - the possible way things fit together, or their possible operations Logical - processes of elimination, natural mappings Semantic - the meaning of a situation, you should do what makes sense Cultural - learned schemas, or general rules for interpreting situations. For example, what different colors mean in different situations.

The Difference Between Memory in the Head and Memory in the World

Memory in the head: Our memory is generally split into short term and long term memory. It is also categorized into three categories:

  • Arbitrary - random information with no context
  • Meaningful - associated with other things we have already committed to memory
  • Explanatory - we derive things from our mental models of how things should work

Memory in the world: If something is pressingly important we remember it, if not we need to be reminded of it. We use signals to send us a message. We need to put both of them together for an effective reminder. We use natural mappings as reminders for how controls map to physical objects. It is important to minimize labels. Sometimes labels are necessary, but the physical layout of the controls on the product should infer how to use them.

There is a tradeoff between memory in the head and memory in the world, they balance with each other and feed off each other. Forcing users to keep memory in their head is cleaner, and products can be more aesthetic because of the absence of clues and additional information. However, this will complicate the use of a product for someone who does not have the necessary information committed to memory. Knowledge in the world, by contrast, is always there and always accessible by anyone. However, it leads for a more cluttered and complicated looking design. This is a tradeoff that is heavily subjective. Some people like to leave themselves visual cues while others find a clean work environment is more important.

Impact on the Development of User Interfaces

There is a reason why beautiful design often seems to be the simplest design that offers all the functionality needed in a sensible and accessible way.The best applications are formed by maintaining simplicity while still being able to provide enough information for the user to understand how to work the application. That is, finding the balance between knowledge in the mind and knowledge in the head.

Things to take into consideration:

  • Focus on the main task a user is trying to perform. They don’t want to be bombarded with options and barriers for a simple thing, think “one click buying” from Amazon. Make the most common functions the easiest to access.
  • Use constraints on the possible actions a user can perform at any given point. For example, in Adobe Photoshop, the menus change depending on what type of object you have selected. They display all the possible actions that can be taken so it’s easier to decide what you want to do.
  • Use lots of contrast between options. Make it easy to distinguish between functions and what information or feedback means to the user. If you are signalling the user make sure he knows what the signal means. Show them specifically why you application is beeping or blinking at them.
  • Take advantage of natural mappings in your application design. Put controls close to the thing that they control. If there is a dashboard or settings view, make sure to clearly group similar items together.
  • Use cultural norms for UI elements. For example, switches are for turning things on and off, and sliders are for changing a value on a continuous scale (or many discrete states). Do not use a slider to change between a few discrete options, and don’t use a switch to switch between two different categories, this will only confuse the user.
  • If you are using icons as labels make sure they are explanatory. If they are too simple, they are ambiguous. If they are too complex it becomes difficult to identify what they are supposed to signify. Again, stick to cultural norms; a sideways triangle means play.