The humane interface

  • 2024-09-08 (modified: 2025-05-15)
  • 출판일: 2000
  • 저자: Jef Raskin

Chapter 5. Unification

The list of actions a user can take to influence content—be that content textual, graphical, or multimedia—can be arranged into a simple taxonomy, which allows us to describe any application’s interface in a uniform way. This organization can help guide us in simplifying interface designs. Implementing a universal undo/redo facility also helps to develop a unified interface, eliminating much of the need for individual programs to handle error recovery.

Different applications have different commands, and a user cannot in general use the commands from application A while working in application B and vice versa. By liberating commands from applications, we eliminate the inherent modality of applications. The total number of commands a user must master drops dramatically with this kind of unification, primarily because unification rids us of the immense duplication of commands. … Because not all commands apply to all data types, we would need to apply data-type transformers to objects to create new objects that, whenever possible, can be acted on by the chosen command.

That the interfaces of all applications arise from a small set of elementary operations confirms that the applications themselves, as rich and varied as they are from a task-oriented point of view, are not all that different from one another from an interface-oriented point of view. This fundamental similarity can be exploited to create powerful computer systems of unprecedented simplicity and productivity.

The present structure of computer software, consisting of an operating system under which application programs execute, is inherently modal. This implies that for an interface to be nonmodal, an approach that does not include applications in their present form is required.

Instead of a computer’s software being viewed as an operating system and a set of applications, the humane interface views the software as a set of commands, some of which are transformers that can be invoked automatically when the data type expected by the command does not match the data type of the object selected.

2025 © ak