Notes on Magic Ink by Bret Victor. My own notes and section headers are in plain text; verbatim passages from the essay are blockquotes.
Thesis
- Interactivity is a curse for users and a crutch for designers.
- Software users’ goals can be better satisfied through other means.
- Bret Victor demonstrates the crucial role of information software design (the design of context-sensitive information graphics) and presents three approaches to context-sensitivity (interactivity being the last one).
Software design is mostly graphic + industrial design
Claim: software design mainly involves graphic design and industrial design.
Reasoning: users experience software via
- reading and interpreting pictures on the screen;
- using hardware as a proxy to interact with the objects on screen.
What is graphic design?
- It’s the art of conveying a message on a two-dimensional surface.
- What type of messages? Identity, social status, emotion, persuasion.
- Which branch is most relevant to software? Information Design — the use of pictures to express knowledge of interest to the reader.
- What makes a good graphic designer? They understand how to arrange information on the page so the reader can ask and answer questions, make comparisons, and draw conclusions.
What is industrial design?
- The art of arranging and shaping a physical product so it can be manipulated by people (cutlery to chairs, cell phones to cars).
- What makes a good industrial designer? They understand:
- the capabilities and limitations of the human body in manipulating physical objects, and
- of the human mind in comprehending mechanical models.
- They design an understandable mapping from physical features to functions.
Information software vs manipulation software
- Information software serves the human urge to learn.
-
A person uses information software to construct and manipulate a model that is internal to the mind—a mental representation of information.
- Good information software encourages the user to ask and answer questions, make comparisons, and draw conclusions.
-
- Manipulation software serves the human urge to create.
-
A person uses manipulation software to construct and manipulate a model external to herself—a virtual object represented within the computer, or a remote physical object.
-
- Communication can be thought of as creating a response to information learned — that is, the external model manipulated by the speaker is the internal model learned by the listener.
People using software do not care about artificial objects; they care about seeing information and understanding choices—manipulating a model in their heads.
I want to ask and answer questions, compare my options, and let it guide my spending decisions.
Information software should be approached as graphic design
A well-designed information graphic can almost compel the viewer to ask and answer questions, make comparisons, and draw conclusions. It does so by exploiting the capabilities of the human eye: instantaneous and effortless movement, high bandwidth and capacity for parallel processing, intrinsic pattern recognition and correlation, a macro/micro duality that can skim a whole page or focus on the tiniest detail. Meanwhile, a graphic sidesteps human shortcomings: the one-dimensional, uncontrollable auditory system, the relatively sluggish motor system, the mind’s limited capacity to comprehend hidden mechanisms. A graphic presents no mechanisms to comprehend or manipulate—it plugs directly into the mind’s spatial reasoning centers.
Most current software communicates deplorably. This is a problem of surface, but not a superficial problem. The main cause, I believe, is that many software designers feel they are designing a machine. Their foremost concern is behavior—what the software does.
These designers start by specifying functionality, but the essence of information software is the presentation.
I suggest that the design of information software should be approached initially and primarily as a graphic design project. The foremost concern should be appearance—what and how information is presented. The designer should ask:
- What is relevant information?
- What questions will the viewer ask?
- What situations will she want to compare?
- What decision is she trying to make?
- How can the data be presented most effectively?
- How can the visual vocabulary and techniques of graphic design be employed to direct the user’s eyes to the solution?
The designer must start by considering what the software looks like, because the user is using it to learn, and she learns by looking at it.
Context-sensitivity
Software overcomes the static restriction of print. It can:
- infer the context in which its data is needed,
- winnow the data to exclude the irrelevant, and
- generate a graphic which directly addresses the present needs.
Unlike conventional graphics, which must be suitable for any reader in any situation, a context-sensitive graphic incorporates who the user is and what exactly the user wants to learn at the moment.
Context allows software to winnow its data space to the subset of information that the user cares about, and present the data in such a way that the user’s current questions can best be answered.
Three sources of context
There are, in fact, three sources from which software can infer context:
- Environment involves sensing the current state of the world.
- History involves remembering the past.
- Interaction involves soliciting input from the user.
Interaction should be used judiciously and sparingly, only when the environment and history provide insufficient context to construct an acceptable graphic.
For information software in particular, all interaction specifies context. Thus, each interaction can and should result in a discernible change to a context-sensitive information graphic. Providing immediate feedback reduces the amount of manipulation the user must do before either reaching an adequate view or recognizing a wrong turn and backtracking.