Fundamentals of Designing User Interaction - Basic Concepts


Objects as Metaphor

A well-designed user interface provides an understandable, consistent framework in which users can work without being confounded by the details of the underlying technology. To help accomplish this, the design model of the Windows user interface uses an object metaphor, a representation of the natural way we interpret and interact with the world around us. In the interface, objects not only describe files or icons, but any unit of information, including cells, paragraphs, characters, and circles, and the documents in which they reside.

Object Characteristics

Objects, whether real-world or computer representations, have certain characteristics that help us understand what they are and how they behave. The following concepts describe the aspects and characteristics of computer representations:

Relationships

The simplest relationship is a collection, in which objects in a set share a common aspect. The results of a query or a multiple selection of objects are examples of a collection. The significance of a collection is that it enables operations to be applied to a set of objects.

A constraint is a stronger relationship between a set of objects, in that changing an object in the set affects some other object in the set. The way a text box displays text, a drawing application layers its objects, and a word-processing application organizes a document into pages are all examples of constraints.

A relationship between objects can become so significant that the aggregation itself can be identified as an object with its own set of properties and operations. This type of relationship is called a composite. A range of cells, a paragraph, and a grouped set of drawing objects are examples of composites.

Another common relationship found in the interface is containment. A container is an object that holds other objects, such as text in a document or documents in a folder. A container often influences the behavior of its content. It may add or suppress certain properties or operations of an object placed in it. In addition, a container controls access to its content as well as the type of object it will accept as its content. This may affect the results of transferring objects from one container to another.

All of these aspects contribute to an object's type, a descriptive way of distinguishing or classifying an object. Objects of a common type have similar traits and behaviors.

Composition

As in the natural world, the metaphor of an object implies a constructed environment. Objects are composed of other objects. You can define most tasks supported by an application as a specialized combination or set of relationships between objects. A text document is a composition of text, paragraphs, footnotes, or other items. A table is a combination of cells. A chart is a particular organization of graphics. If you consistently define user interaction with objects at all levels of the interface, you can create complex constructions while maintaining a small, basic set of conventions.

These conventions, applied throughout the interface, increase ease of use. In addition, using composition to model tasks encourages modular, component-oriented design. Objects can then be adapted or recombined for other uses.

Persistence

In the natural world, objects persist in one state unless changed or destroyed. When you use a pen to write a note, you need not invoke a command to ensure that the ink is preserved on the paper. The act of writing implicitly preserves the information. This is the long-term direction for objects in the interface as well. Although it is still appropriate to design software that requires explicit user actions to preserve data, you should identify when to preserve data automatically. In addition, view-state information — such as cursor position, scroll position, and window size and location — should be preserved so that it can be restored when an object's view is reopened.