HF Home | Outline | Research
| Summary | Group Members
| E-mail Feedback
Back to the Outline.
Models:
Structured Human Factors Design <3>
"Human-computer Interaction (HCI) is concerned with the design of
computer systems that are safe, efficient, easy and enjoyable to use as
well as functional." <1> Designing
these systems involves understanding how four components of HCI interact:
-
The user - who will use the system
-
The task - what the system will be used for
-
The context - the work context and environment in which it will be
used
-
The computer - what is technically and logistically feasible
"A well-designed user interface makes it easy and natural for a user
to break down?a task into subtasks and map them onto the system's functions.
A poorly-designed computer system requires its user to decompose tasks
in unnatural ways and the ensuing mapping is then prone to errors. <2>
These four components are not exact divisions, and there exists a complex
interrelation between them. A good HCI designer must take these components
into account and also consider the interactions of the entire system. This
makes for a very complex and difficult undertaking for the designer. It
is useful to adopt an iterative design process when working with HCI. With
such a design process, an initial design is construed and then tested under
real working conditions. Users provide feedback on their experience. Then
designers use this information to contrive more user-friendly systems We
will now look at each of the four components in more detail.
The User
Users are not a homogeneous group of people. They differ from each other
in the following ways:
-
Physically - visual acuity, color blindness, chirality (handedness),
etc.
-
Experience - the level of experience the user has with computers
-
Psychologically - adventurous or timid, quick or slow learner, good
or bad memory
-
Socio-culutrally - age, gender, race, culture, etc.
Tasks
The variety of tasks which we now try to accomplish with computers is vast:
-
Office tasks - writing documents, spreadsheets, etc.
-
Engineering tasks - CAD, programming, etc.
-
Information processing and gathering - web surfing, number crunching,
etc.
-
Automation tasks - using computers to control other machinery, etc.
The elements of a task that need to be taken into account when designing
a system are:
-
whether the task is repetitive
-
whether it depends somehow on the environment
-
to what extent a task changes from one execution to the next
-
what skills or knowledge are required to perform the task
-
what are the limiting factors (e.g. time, error rate, precision, etc.)
-
whether it is a single user application or designed for/requiring multiple
users
-
whether the task is usually done by its self or with other tasks
Work Context and Environment
Work done one way in one context may need to be done in another way in
another context. For example, telecommuters who work at home alone work
under different contexts than people who work in office buildings with
other people. This may affect the way their tasks are accomplished. A designer
should assess the necessity to build systems differently based on the work
context.
Some aspects of work context that may affect computer systems are:
-
Who does what
-
Who is trained and who
-
What is incentive for doing the work - in particular what is the pay
rate (dollars per task, dollars per hour, dollars per non-defect, etc.)
The incentive is designed to create highest quality work mostly in the
area that is compensated.
-
The number of people involved
-
The other work the does
-
Power and influence
-
Personnel policies
The Constraints of the System
Voice recognition and 3-D imaging have been researched for decades, because
it is commonly believed that being able to interact with computers using
natural language and in 3-D would approach the ideal. However, technological
constraints have made such modes of interaction prohibitive. The system
constraints that must be considered are:
-
Technological - including memory size, speed, capacity, power consumption,
etc.
-
Logistical - including costs, schedules, staffing, etc.
Methods of Human Factors Design
In most software development cycles, user involvement may be very limited.
Some factors that influence the degree of user involvement include:
-
the design team's knowledge of HCI
-
the type of system being developed
-
generic systems - those systems that are intended for use by mass markets
-
custom systems - systems designed for specific organizations
-
incompatibility of HCI methods with software engineering methods
There are at least ten software design methods which have involve the user
in varying degrees. The principles associated with a good user-centered
design approach are based on the notion that the user should be the focus
of the design. Less user-intense design approaches focus more on the technical
feasibility of a project, testing, maintenance, and a disciplined way of
working. These are necessary principles, but a user-centered approach relates
these principles back to the user. In other words, a user-centered designer
doesn't care about a disciplined way of working unless it makes for a better
interface. In this way, the user-centered design approach is much like
a customer service approach which puts the needs of the customer above
all other considerations.
A user-centered approach to design incorporates some of the following principles:
<4>
-
Focus on the users and the users' needs, and in so doing make user
issues rather than technical considerations central in the design process.
-
Carry out a task analysis in which details of the users' tasks and
information about the task environment are collected, so that users' needs
are well understood. Task analysis needs to be done in addition to a general
requirements analysis, which tends to focus on what functionality
is required and not on how to provide that functionality.
-
Carry out early testing and evaluation with users to ensure that the
system is designed to meet their needs.
-
Design iteratively with many cycles of 'design - test with users -
redesign'. Do not expect to produce one 'right' solution which is not changed,
but instead aim to design an evolving system which is tailored to users'
needs more with each iteration.
Our Proposed Model of Human Factors
The Human Factors group believes that there is no good design method for
producing software that works with-in the constraints of Human Factors
(HFs). We define HFs as all human limitations which can be agitated by
interaction with computer systems.
We model this interpretation of HFs with the following diagram:
Here we see a person attempting to jump from one side of a cliff to the
other. The challenge is proportional to the size of the gap between the
two cliffs. This model can help understand our view of HF. The person is
a user of a computer system. The user begins with Task Inception. This
is the point where the user has decided to accomplish a task by using a
computer system. The user faces the challenge of computer system in order
to reach Task Completion. In an ideal system there would be know challenge;
the user could accomplish the task without having any human factors agitated.
Human Factors are user limitations, for example users have limited patience,
limited memory, and need analogies. Below is an extensive list of Human
Factors. In an ideal computer system there would be no challenge to these
factors, and thus the gap between Task Inception and Task Completion goes
to zero.
We feel that the identification of the Human Factors associated with a
design is the most important thing an HCI practitioner can take into account
when designing a system. The second most important thing that can be done
is user testing: seeing if the user is able to effortlessly accomplish
the intended task. We have found these two principles to be the most compelling
underlying principles among the design techniques we have read about <5>.
Footnotes
<1> A Guide to Usability: Human Factors
in Computing, Jenny Preece, page 11
<2> A Guide
to Usability: Human Factors in Computing, Jenny Preece, page 14
<3> The majority of this and other sections
are based on A Guide to Usability: Human Factors in Computing, Jenny
Preece
<4> A Guide to
Usability: Human Factors in Computing, Jenny Preece, page 42
<5> A list of these design methodologies
and their descriptions can be found in chapter 3 of A Guide to Usability:
Human Factors in Computing, Jenny Preece
<6> The
Human Factors Guide for Aviation Maintenance · Chapter
1 HUMAN FACTORS
Back to the Outline.
HF Home | Outline | Research
| Summary | Group Members
| E-mail Feedback