Вы находитесь на странице: 1из 11


Interaction models help us to understand what is going on in the interaction between

user and system. They address the translations between what the user wants and
what the system does.

Ergonomics looks at the physical characteristics of the interaction and how these
influence its effectiveness.

The dialog between user and system is influenced by the style of the interface.

The interaction takes place within a social and organizational context that affects
both user and system.


Examples of effective strategies for building interactive systems provide paradigms

for designing usable interactive systems.

The evolution of these usability paradigms also provides a good perspective on the
history of interactive computing.

These paradigms range from the introduction of time-sharing computers, through

the WIMP and web, to ubiquitous and context-aware computing


Interaction design is about creating interventions in often complex situations using

technology of many kinds including PC software, the web and physical devices

Design involves:

achieving goals within constraints and trade-off between these

understanding the raw materials: computer and human

accepting limitations of humans and of design

The design process has several stages and is iterative and never complete.

Interaction starts with getting to know the users and their context:

finding out who they are and what they are like ... probably not like you!

talking to them, watching them

Scenarios are rich design stories, which can be used and reused throughout design:

they help us see what users will want to do

they give a step-by-step walkthrough of users' interactions: including what

they see, do and are thinking

Users need to find their way around a system; this involves:


helping users know where they are, where they have been and what they can
do next

creating overall structures that are easy to understand and fit the users'

designing comprehensible screens and control panels

Complexity of design means we don't get it right first time:


so we need iteration and prototypes to try out and evaluate

but iteration can get trapped in local maxima, designs that have no simple
improvements, but are not good

theory and models can help give good start points

Software engineering provides a means of understanding the structure of the design

process, and that process can be assessed for its effectiveness in interactive system

Usability engineering promotes the use of explicit criteria to judge the success of a
product in terms of its usability.

Iterative design practices work to incorporate crucial customer feedback early in the
design process to inform critical decisions which affect usability.

Design involves making many decisions among numerous alternatives. Design

rationale provides an explicit means of recording those design decisions and the
context in which the decisions were made.


Designing for maximum usability is the goal of interactive systems design.

Abstract principles offer a way of understanding usability in a more general sense,

especially if we can express them within some coherent catalog.

Design rules in the form of standards and guidelines provide direction for design, in
both general and more concrete terms, in order to enhance the interactive properties
of the system.

The essential characteristics of good design are often summarised through 'golden
rules' or heuristics.

Design patterns provide a potentially generative approach to capturing and reusing

design knowledge.


Programming tools for interactive systems provide a means of effectively translating

abstract designs and usability principles into an executable form. These tools provide
different levels of services for the programmer.

Windowing systems are a central environment for both the programmer and user of
an interactive system, allowing a single workstation to support separate user-system
threads of action simultaneously.

Interaction toolkits abstract away from the physical separation of input and output
devices, allowing the programmer to describe behaviors of objects at a level similar
to how the user perceives them.

User interface management systems are the final level of programming support
tools, allowing the designer and programmer to control the relationship between the
presentation objects of a toolkit with their functional semantics in the actual

Evaluation tests the usability, functionality and acceptability of an interactive system.

Evaluation may take place:


in the laboratory

in the field.

Some approaches are based on expert evaluation:


analytic methods

review methods

model-based methods.

Some approaches involve users:


experimental methods

observational methods

query methods.

An evaluation method must be chosen carefully and must be suitable for the job.

Universal design is designing systems so that they can be used by anyone in any

Multi-modal systems are those that use more than one human input channel in the

These systems may, for example, use:


non-speech sound




Universal design means designing for diversity, including:


people with sensory, physical or cognitive impairment

people of different ages

people from different cultures and backgrounds.

Users have different requirements for support at different times.

User support should be:


available but unobtrusive

accurate and robust

consistent and flexible.

User support comes in a number of styles:


command-based methods

context-sensitive help

tutorial help

online documentation

wizards and assistants

adaptive help.

Design of user support must take account of:


presentation issues

implementation issues.

Cognitive models represent users of interactive systems.

Hierarchical models represent a user's task and goal structure.

Linguistic models represent the user-system grammar.

Physical and device models represent human motor skills.

Cognitive architectures underlie all of these cognitive models.

There are several organizational issues that affect the acceptance of technology by
users and that must therefore be considered in system design:

systems may not take into account conflict and power relationships

those who benefit may not do the work

not everyone may use systems.

In addition to generic issues, designers must identify specific stakeholder

requirements within their organizational context.

Socio-technical models capture both human and technical requirements.

Soft systems methodology takes a broader view of human and organizational issues.

Participatory design includes the user directly in the design process.

Ethnographic methods study users in context, attempting to take an unbiased


All computer systems, single user or multi-user, interact with the work-groups and
organizations in which they are used.

We need to understand normal human-human communication:


face-to-face communication involves eyes, face and body

conversation can be analyzed to establish its detailed structure.

This can then be applied to text-based conversation, which has:


reduced feedback for confirmation

less context to disambiguate utterances

slower pace of interaction

but is more easily reviewed.

Group working is more complex than that of a single person:


it is influenced by the physical environment

experiments are more difficult to control and record

field studies must take into account the social situation.

Task analysis is the study of the way people perform tasks with existing systems.

Techniques for task analysis:


decomposition of tasks into subtasks

taxonomic classification of task knowledge

listing things used and actions performed.

Sources of information:

existing documentation



Using task analysis to design:


manuals and documentation

new systems.

Dialog is the syntactic level of human-computer interaction; it is rather like the script of a
play, except the user, and sometimes the computer, has more choices.

Notations used for dialog description can be:


diagrammatic: easy to read at a glance

textual: easier for formal analysis.

The dialog is linked:


to the semantics of the system, what it does

to the presentation of the system, how it looks.

Formal descriptions can be analyzed:


for inconsistent actions

for difficult to reverse actions

for missing items

for potential miskeying errors.

We need to know what a system does in order to assess its usability.

Standard software engineering formalisms can be used to specify an interactive

system. These are of various types:

model based, such as Z, which describe the system's state and operations

algebraic formalisms, which describe the effects of sequences of actions

temporal and deontic logics, which describe when things happen and who is

Special interaction models are designed specifically to describe usability properties,


predictability and observability - what you can tell about the system from
looking at it

reachability and undo - what you can do with it.

Most formal models and notations focus on events and changes that happen when
they occur, but we need richer models to deal with:

interstitial behavior - the things that happen between events such as

dragging an icon

physical objects in ubiquitous computing or virtual reality

the tension between precise time and more fuzzy human ideas of time.

We operate within an ecology of people, physical artifacts and electronic systems, and this
rich ecology has recently become more complex as electronic devices invade the workplace
and our day-to-day lives. We need methods to deal with these rich interactions.

Status-event analysis is a semi-formal, easy to apply technique that:


classifies phenomena as event or status

embodies nave psychology

highlights feedback problems in interfaces.

Aspects of rich environments can be incorporated into methods such as task


other people

information requirements

triggers for tasks

modeling artifacts

placeholders in task sequences.

New sensor-based systems do not require explicit interaction, this means:


new cognitive and interaction models

new design methods

new system architectures.

Groupware is a term for applications written to support the collaboration of several users.

Groupware can support different activities:


direct interpersonal communication

ideas generation and decision making

sharing computer objects.

It can be classified in several ways:


by where and when it happens

by the sort of information shared

by the aspects of cooperations supported.

Implementing groupware is more difficult than single-user applications:


because of network delays

because there are so many components to go wrong

because graphical toolkits assume a single user.

The traditional computer is a glass box - all you can do is press buttons and see the

Ubiquitous computing and augmented reality systems break this glass box by linking
the real world with the electronic worlds.

Applications include:

ubiquitous computing

virtual reality

augmented reality

information visualization.

Hypertext allows documents to be linked in a non-linear fashion.

Multimedia incorporates different media: sound, images, video.

The world wide web is a global hypermedia system.

Animation and video can show information that is difficult to convey statically.

Applications of hypermedia include online help, education and e-commerce

Design for the world wide web illustrates general hypermedia design, but also has its
own special problems.

Dynamic web content can be used for simple online demonstration or for complete
web-based business applications.