You are on page 1of 45

HCI in Software Development

User Centered Design (UCD)

Usman Ahmad.
There must be a
problem because…
What’s the Slides About?
▪ In one sentence:
▪ Human-computer interaction (HCI) and user-
centered design in the context of SW
engineering
▪ Note the target audience:
▪ Students who may be involved in SW
development
▪ HCI is important to others: HW designers and
engineers, Web designers, psychologists, etc.
▪ We targets SW development
What is HCI?

▪ More soon…
▪ Human-Computer interface
▪ Where people “meet” or come together with
machines or computer-based systems
▪ Physical interface (e.g. buttons, screens, menus,
etc.)
▪ Logical interface
▪ The model a system presents a user
▪ Set of tasks available and how they’re organized
SIGCHI curriculum definition site
(Special Interest Group on Computer-Human Interaction)

Human-computer interaction is a discipline


concerned with the design, evaluation and
implementation of interactive computing
systems for human use and with the study of
major phenomena surrounding them.
What is an interface?

?
Evolution of HCI ‘interfaces’
50s - Interface at the hardware level for engineers - switch
panels
60-70s - interface at the programming level - COBOL,
FORTRAN
70-80s - Interface at the terminal level - command languages
80s - Interface at the interaction dialogue level - GUIs,
multimedia
90s - Interface at the work setting - networked systems,
groupware
00s - Interface becomes pervasive
RF tags, Bluetooth technology, mobile devices, consumer
electronics, interactive screens, embedded technology,
information appliances
HCI: Wide Range of Concerns
▪ Make an interactive system be useful for a task, and
support that task effectively
▪ Easy to use, easy to learn, avoid errors
▪ Must understand users, understand users’ tasks
▪ Create a usable logical interface
▪ A user’s conceptual model of the system
▪ Overall design of how we interact
▪ Physical and low-level design
▪ Physical interface: buttons, keys, screens
▪ SW interface: menus, screens, colors
▪ Evaluating usability
▪ During development, after completion
High-level Terms

• HCI, CHI
• Usability
• User-centered Design
– An approach to design (SW, Web, other) that
involves the user a great deal, in many phases
• Interaction Design (ID)
– Something different than HCI? Maybe.
– Our current textbook is an an “ID” text
Usability
• A definition from ISO standard 9241
– The extent to which a product can be used by specified
users to achieve specified goals with effectiveness,
efficiency and satisfaction in a specified context of use.
• Effectiveness
– accuracy and completeness in achieving goals
• Efficiency
– resources expended…
• Satisfaction
– comfort, acceptability (happiness, pleasure)
Discussion
• Effectiveness, efficiency and satisfaction:
– Are all of these equally important?
– All the time?
HCI and Design
▪ Rather than the traditional design models adopted within
software engineering which are characterized by their
linearity. HCI has adopted a design model which seeks to
incorporate the following premises:
▪ user centered
▪ multi disciplinary
▪ highly iterative
What is User-Centered Design?
• An approach to UI development and system
development.
• Focuses on understanding:
– Users, and
– Their goals and tasks, and
– The environment (physical, organizational,
social)
• Pay attention to these throughout
development
What is User Centered Design?
▪ User-centered design (UCD) is an iterative
design process
▪ In which designers focus on the users and
their needs in each phase of the design
process.
▪ In UCD, design teams involve users
throughout the design process via a variety
of research and design techniques, to create
highly usable and accessible products for
them.
ISO on User-centered Design
• ISO 13407 describes human-centered
design processes for interactive systems
• Principles of human-centered design:
– Active involvement of users
– Appropriate allocation of function between
user and system
– Iteration of design solutions
– Multidisciplinary design teams
Four basic activities
There are four basic activities in Interaction Design:

– 1. Identifying needs and establishing requirements

– 2. Developing alternative designs

– 3. Building interactive versions of the designs

– 4. Evaluating designs
A simple interaction design model

Exemplifies a user-centered design approach


A simple interaction design model
A simple interaction design model
Some practical issues
▪ Who are the users?

▪ What are ‘needs’?


Target users
Who are the users/stakeholders?
▪ Not as obvious as you think:
▪ those who interact directly with the product
▪ those who manage direct users
▪ those who receive output from the product
▪ those who make the purchasing decision
▪ those who use competitor’s products

▪ Three categories of user (Eason, 1987):


▪ primary: frequent hands-on
▪ secondary: occasional or via someone else
▪ tertiary: affected by its introduction, or will influence its purchase
What are the users’ capabilities?
Individual differences:
▪ Size of hands may affect the size and positioning of input buttons
▪ Mechanical abilities may affect the suitability of certain input and
output devices
▪ Height if designing a physical kiosk
▪ Strength - a child’s toy requires little strength to operate, but greater
strength to change batteries
▪ Disabilities (e.g. sight, hearing, dexterity)
▪ Abilities also vary according to context
Users’ needs
What are ‘needs’?
▪ Users rarely know what is possible
▪ Users can’t tell you what they ‘need’ to help them achieve their goals
▪ Instead, look at existing tasks:
▪ their context
▪ what information do they require?
▪ who collaborates to achieve the task?
▪ why is the task achieved the way it is?
▪ Envisioned tasks:
▪ can be rooted in existing behaviour
▪ can be described as future scenarios
The user-centered design
methodology is characterized by:

▪ The involvement of users throughout the design process

▪ The use of an iterative design cycle


The involvement of users throughout the
design process
An example of web design

▪ Focus on users

▪ There are a number of ways in which user participation can be


facilitated throughout the design process:

▪ Focus groups, Questionnaires and Interviews, Observation (Data gathering)


▪ User testing, and many more …
The Use of an iterative design cycle
▪ Iterative design is a process where an interface is
progressively developed and improved over a series of
iterations, each the result of user testing and feedback.

▪ In its simplest form, the iterative design cycle can be said


to have three phases: design, test, redesign. These phases
operate in a continual cycle (in theory that is; in practice
iterations are limited by budgetary considerations) so that
designs are continually evaluated and improved.
Iterative Design
▪ “Design, Test, Redesign.”
▪ Build and evaluate prototype interface, then:
– Severity ratings of usability problems discovered.
– Fix problems ! new version of interface.
– Capture design logic: record reasons
▪ why changes were made.
– Evaluate new version of interface.
▪ until time and/or money runs out.
▪ A cycle of continuous improvement.
Key features of user-centered design

▪ Early focus on users, tasks and environment


▪ The active involvement of users
▪ An appropriate allocation of function between user
and system
▪ Iterative design whereby a prototype is designed,
tested and modified
▪ Multi-disciplinary design teams
Early focus on users, tasks and
environment
▪ The characteristics of the intended users
▪ The tasks the users will perform
▪ The environment in which the users will use the
system
An appropriate allocation of function
between user and system
▪ Determining which features of a task should be handled by
people and which can be handled by software and
hardware is of critical importance. (Task Allocation)
▪ The allocation of function should be based on an
appreciation of human capabilities, and their limitations.
▪ This allocation benefits from the input of end-users which
will also help to ensure that the results are acceptable to the
people who will be affected.
The active involvement of users:

▪ The key strength of user-centered design (UCD) is to


involving end-users can also enhance the acceptance and
guarantee to the new software and user feels that the
system is being designed in consultation with them rather
than being imposed on them.
Iterative design whereby a prototype
is designed, tested and modified /
Iterative of design solutions:
▪ The users attempt to accomplish ‘real world’ tasks using
the prototype and the feedback from the exercise is used to
develop the design further.
Multi-disciplinary design teams
▪ User-centered design is a collaborative process which
benefits from the active involvement of various parties,
each of whom have insights and expertise to share.

▪ Design teams may include managers, usability specialists,


training and support staff, software engineers, and of
course the end user themselves.
…more about User-Centered Design:

▪ Project planning has to allow for iteration and for


incorporating user feedback.

▪ More time will also be required for effective communication


between design team participants and for reconciling
potential conflicts and adjustments.

▪ However, project managers will benefit from the additionally


creativity and ideas from an extended development team and
skill base.
…more about User-Centered Design:
▪ Users will also feel a strong sense of ownership of
the system that results.

▪ Above all, proper consideration of usage issues


early on in the project will result in a better design
and significant savings at later stages when changes
are much more costly.

You might also like