Chapter 2:
Implementation Models and Mental Models
The computer industry makes frequent use of the
term
computer literacy. Pundits talk about how some people have it and some don't, how those who have it will succeed in the information economy, and those who lack it will inevitably fall between the socioeconomic cracks. Computer
literacy
, however, is nothing more than a euphemism for making the user stretch to understand an alien logic rather than having software-enabled products stretch to meet the
user
's way of thinking.
In this chapter, we discuss how a lack of understanding of users and the way they approach digital products has fueled the computer-literacy divide, and how software that better matches how people think and work can help solve the problem.
Implementation Models
Any machine has a mechanism for accomplishing its purpose. A motion picture projector, for example, uses a complicated sequence of intricately moving
parts
to create its illusion. It shines a very bright light through a translucent, miniature image for a fraction of a second. It then blocks out the light for a split second while it moves another
miniature
image into place. Then it unblocks the light again for another moment. It repeats this process with a new image twenty-four times per second. Software-enabled products don't have mechanisms in the sense of moving parts; these are
replaced
with algorithms and modules of code that communicate with each other. The representation of how a machine or a program actually works has been called the system model by Donald Norman (1989) and others; the authors prefer the term implementation model because it describes the details of the way a program is implemented in code.
User
Mental Models
From the moviegoer's
point-of-view
, it is easy to forget the nuance of sprocket holes and light-interrupters while watching an
absorbing
drama. Many moviegoers, in fact, have little idea how the projector actually works, or how this
differs
from the way a television works. The viewer imagines that the projector merely throws a picture that moves onto the big screen. This is called the user's mental model, or conceptual model.
People don't need to know all the details of how a complex artifact actually works in order to use it, so they create a cognitive shorthand for explaining it, one that is powerful enough to cover their interactions with it, but which doesn't
necessarily
reflect its actual inner mechanics. For example, many people imagine that, when they plug their
vacuum
cleaners and
blenders
into outlets in the wall, the electricity flows like water from the wall to the appliances through the little black tube of the electrical cord. This mental model is
perfectly
adequate for using household appliances. The fact that the implementation model of household electricity involves nothing resembling a fluid actually traveling up the cord and that there is a reversal of electrical potential 120 times per second is irrelevant to the user, although the power company needs to know the details.
In the digital world, however, the differences between a user's mental model and the implementation model are often quite distinct. We tend to ignore the fact that our cellular telephone doesn't work like a
landline
phone; instead, it is actually a radio transceiver that might swap connections between a half-
dozen
different cellular base antennas in the course of a two-minute call. Knowing this doesn't help us to understand how to
use
the phone.
The discrepancy between implementation and mental models is particularly stark in the case of software applications, where the complexity of implementation can make it nearly
impossible
for the user to see the mechanistic connections between his actions and the program's
reactions
. When we use a computer to digitally edit sound or to create video special effects like morphing, we are bereft of analogy to the mechanical world, so our mental models are necessarily different from the implementation model. Even if the connections were visible, they would
remain
inscrutable to most people.