Bringing Design to Software

Selected quotes from
Terry Winograd (Editor).
Bringing Design to Software.
Addison-Wesley (ACM Press), 1996.
compiled by Tom Verhoeff.

Reading these quotes is no substitute for reading the book. In fact, I hope that these quotes will make you more interested in the material.


Software is an ambiguous word. ...

Design is an ambiguous word. Among its many meanings, there runs a common thread, linking the intent and activities of a designer to the results that are produced when a designed object is experienced in practice. ...

In Bringing Design to Software, our goal is to improve the practice of software design, through thinking about design from a broader perspective ...

Introduction (by Terry Winograd)

The education of computer professionals has often concentrated on the understanding of computational mechanisms, and on engineering methods that seek to ensure that the mechanisms behave as the programmer intends. The focus is on the objects designed: the hardware and software. The primary concern is to implement a specified functionality efficiently. When software engineers or programmers say that a piece of software works, they typically mean that it is robust, is reliable, and meets its functional specification. These concerns are indeed important. Any designer who ignores them does so at the risk of disaster.

But this inward-looking perspective, with its focus on function and construction, is one-sided. To design software that really works, we need to move from a constructor's-eye view to a designer's-eye view, taking the system, the users, and the context all together as a starting point. When a designer says that somethings works (for example, a layout for a book cover or a design for a housing complex), the term reflects a broader meaning. Good design produces an object that works for people in a context of values and needs, to produce quality results and a satisfying experience.

... In this book, we emphasize software as a medium for the creation of virtualities--the world in which a user of the software perceives, acts, and responds to experiences.

p. xvii
Software design is like architecture: When an architect designs a home or an office building, a structure is being specified. More significantly, though, the patterns of life for its inhabitants are being shaped. People are thought of as inhabitants rather than as users of buildings. In this book, we approach software users as inhabitants, focusing on how they live in the spaces that designers create.

Chapter 1. A Software Design Manifesto (by Mitchell Kapor)

Despite the enormous outward success of personal computers, the daily experience of using computers far too often is still fraught with difficulty, pain, and barriers for most people...


The lack of usability of software and the poor design of programs are the secret shame of the industry.

I would claim that software design needs to be recognized as a profession in its own right, a disciplinary peer to computer science and software engineering, a first-class member of the family of computing disciplines.

One of the main reasons most computer software is so abysmal is that it's not designed at all, but merely engineered. Another reason is that implementors often place more emphasis on a programs' internal construction than on its external design, despite the fact that as much as 75 percent of the code in a modern program deals with the interface to the user.


The overall design of a program is to be clearly distinghuished from the design of its user interface.

The software designer is concerned primarily with the overall conception of the product. Dan Bricklin's invention of the electronic spreadsheet is one of the crowning achievements of software design. It is the metaphor of the spreadsheet itself, the tableau of rows and columns with their precisely interrelated labels, numbers, and formulas--rather than the user interface of VisiCalc--for which he will be remembered. The look and feel of a product is but one part of its design.


If software design is to be a profession in its own right, then there must be professional training that develops the consciousness and skills central to the profession.

Profile 1. Software Design and Architecture (by Terry Winograd and Philip Tabor)

The tradition of teaching in architecture differs from that of teaching in computing. It is grounded in the study of concrete examples and in direct engagement by students in a series of design projects.

Kapor proposes a curriculum with courses such as the History of the Word Processor...

Chapter 2. Design of the Conceptual Model (interview with David Liddle)

The most important component to design properly is ... the user's conceptual model. Everything else should be subordinated to making that model clear, obvious, and substantial. That is almost exactly the opposite of how most software is designed.

... This [user's conceptual] model represents what the user is likely to think, and how the user is likely to respond. For example, one of the events that changed civilization in the past decade was Dan Bricklin's choice of the spreadsheet metaphor and its underlying conceptual model... Neither the information display (limited by the machines that were available, and by how much space his programs, VisiCalc, required), nor the command invocation were great. However, that conceptual model was exceptionally durable.

... The purpose of computer metaphors, in general, and particularly of graphical or icon-oriented ones, is to let people use recognition rather than recall. People are good at recognition, but tend to be poor at recall.

[I] recommend ... that prototyping always precede any writing of code..., provided you can make prototypes that are good enough for users to test. If you cannot, then you can show the users screen views and other visual representations, so at least you can start with thoroughly specified user functionality.

The Role of the Artist-Designer (by Crampton Smith and Tabor)

[T]he customary ... assumption, that substance--the real thing--is separate from, and is priviliged over, appearance, is misleading. As far as the user is concerned, ... [t]he interface is the product.

[C]losely related to the [mistaken] notion that content and form are separable is the myth that function and aesthetics are divisible.


Aesthetics ... are concerned with more than visual appearance. There is delight in a program that is rigorously consistent, elegantly clear and lean, where sound and vision are perfectly at one, or where the representation chosen neatly fits the ways that users think about what they are doing. These qualities cannot be added on at the end: They are integral to the design and engineering of the product.

Reflection (by Terry Winograd)

[D]esign--of any kind--is not an activity that can be reduced to the application of formalized methods, calculations, and standard procedures. ...

Part of the complexity arises because software design draws on so many other disciplines: software engineering, software architecture, programming, human factors, graphic information design, art and aesthetics, sound production, psychology, and more. ...

What expertise do software designers need, then? They need to be able to envision, to create and to develop a representation of their vision that they can communicate. They need to be able to speak the language of all people involved in the enterprises addressed by software design: the user, the programmer, the graphic designer, the database architect, the marketing specialists, and all the rest. They need to be able to understand each discipline well enough to know when to involve relevant collaborators and how to incorporate the contributions of experts from other disciplines into the software design vision that they create.

There are still questions about whether the most appropriate training environment is in colleges and universities, in special courses and institutes, or on the job.

In every mature field of design, standards of quality are a focus of attention, even when they cannot be quantified and measured objectively. ... In teaching programs, experienced practitioners work with students in an ongoing round of trial and critique, ... For practicing designers, assessment comes from their clients, and from their peers in the form of design competitions and awards.