The author addresses how to separate components in an interactive system, illustrating and comparing approaches to separation. He then describes how to achieve control among these components. He presents the concept of two communication levels to support separation. The author covers the distinction between dialogue and semantics, runtime architecture, the choice of interaction style, dialogue control, communication issues to consider when deciding component separation, and the use of object-oriented programming.< >
In reaction to Norman's (1999) essay on misuse of the term affordance in human-computer interaction literature, this article is a concept paper affirming the importance of this powerful concept, reinforcing Norman's distinctions of terminology, and expanding on the usefulness of the concepts in terms of their application to interaction design and evaluation. We define and use four complementary types of affordance in the context of interaction design and evaluation: cognitive affordance, physical affordance, sensory affordance, and functional affordance. The terms cognitive affordance (Norman's perceived affordance) and physical affordance (Norman's real affordance) refer to parallel and equally important usability concepts for interaction design, to which sensory affordance plays a supporting role. We argue that the concept of physical affordance carries a mandatory component of utility or purposeful action (functional affordance). Finally, we provide guidelines to help designers think about how these four kinds of affordance work together naturally in contextualized HCI design or evaluation.