HCI Notes - Unit 1
HCI Notes - Unit 1
HCI Notes - Unit 1
SYLLABUS
Textbooks:
1. Dix A., Finlay J.,Abowd G. D. and Beale R. Human Computer Interaction, 3 rd edition,
Pearson Education, 2005
References:
1. Yvonne Rogers, Helen Sharp, Jennifer Preece; Interaction Design 3 rd Edition Wiley 2011.
2. Preece J., Rogers Y.,Sharp H.,Baniyon D., Holland S. and Carey T. Human Computer
Interaction,Addison-Wesley, 1994.
3. B.Shneiderman; Designing the User Interface,Addison Wesley 2000 (Indian Reprint).
NPTEL Course https://nptel.ac.in/content/syllabus_pdf/106103115.pdf
1 | Page
HUMAN COMPUTER INTERACTION
Unit I
Introduction
Human-computer interaction (commonly referred to as HCI) researches the design
and use of computer technology, focused on the interfaces between people (users) and
computers. Researchers in the field of HCI both observe the ways in which humans interact
with computers and design technologies that let humans interact with computers in novel
ways.
User
By "user", we may mean an individual user, a group of users working together. An
appreciation of the way people's sensory systems (sight, hearing, touch) relay information is
vital. Also, different users form different conceptions or mental models about their
interactions and have different ways of learning and keeping knowledge and. In addition,
cultural and national differences play a part.
Computer
When we talk about the computer, we're referring to any technology ranging from desktop
computers, to large scale computer systems. For example, if we were discussing the design of
a Website, then the Website itself would be referred to as "the computer". Devices such as
mobile phones or VCRs can also be considered to be ―computers.
Interaction
There are obvious differences between humans and machines. In spite of these, HCI attempts
to ensure that they both get on with each other and interact successfully. In order to achieve a
usable system, you need to apply what you know about humans and computers, and consult
with likely users throughout the design process. In real systems, the schedule and the budget
are important, and it is vital to find a balance between what would be ideal for the users and
what is feasible in reality.
*********************************************************************
Interactive system design: Concept of usability
Usability Engineering is a method in the progress of software and systems, which
includes user contribution from the inception of the process and assures the effectiveness of
the product through the use of a usability requirement and metrics.
It thus refers to the Usability Function features of the entire process of abstracting,
implementing & testing hardware and software products. Requirements gathering stage to
installation, marketing and testing of products, all fall in this process.
Goals of Usability Engineering
Usability is one of the key concepts in HCI. It is concerned with making systems easy
to learn and use. A usable system is:
Easy to learn
Easy to remember how to use
Effective to use
Efficient to use
Safe to use
Enjoyable to use
2 | Page
HUMAN COMPUTER INTERACTION
Usability
Usability has 3 components - effectiveness, efficiency & satisfaction, using which,
users accomplish their goals in particular environments. Let us look in brief about these
components.
Effectiveness − The completeness with which users achieve their goals.
Efficiency − The competence used in using the resources to effectively achieve the goals.
Satisfaction − The ease of the work system to its users.
Usability Study
The methodical study on the interaction between people, products, and environment
based on experimental assessment. Example: Psychology, Behavioral Science, etc.
Usability Testing
The scientific evaluation of the stated usability parameters as per the user’s
requirements, competences, prospects, safety and satisfaction is known as usability testing.
Acceptance Testing
Acceptance testing also known as User Acceptance Testing (UAT), is a testing
procedure that is performed by the users as a final checkpoint before signing off from a
vendor. Let us take an example of the handheld barcode scanner. Let us assume that a
supermarket has bought barcode scanners from a vendor. The supermarket gathers a team of
counter employees and make them test the device in a mock store setting. By this procedure,
the users would determine if the product is acceptable for their needs. It is required that the
user acceptance testing "pass" before they receive the final product from the vendor.
Software Tools
A software tool is a programmatic software used to create, maintain, or otherwise
support other programs & applications. Some of the commonly used software tools in HCI
are as follows −
Specification Methods − The methods used to specify the GUI. Even though these are
lengthy and ambiguous methods, they are easy to understand.
Grammars − Written Instructions or Expressions that a program would understand.
They provide confirmations for completeness and correctness.
Transition Diagram − Set of nodes and links that can be displayed in text, link
frequency, state diagram, etc. They are difficult in evaluating usability, visibility,
modularity and synchronization.
Statecharts − Chart methods developed for simultaneous user activities and external
actions. They provide link-specification with interface building tools.
Interface Building Tools − Design methods that help in designing command languages,
data-entry structures, and widgets.
Interface Mockup Tools − Tools to develop a quick sketch of GUI. E.g., Microsoft
Visio, Visual Studio .Net, etc.
Software Engineering Tools − Extensive programming tools to provide user interface
management system.
Evaluation Tools − Tools to evaluate the correctness and completeness of programs.
*********************************************************************
3 | Page
HUMAN COMPUTER INTERACTION
HCI and software engineering
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
design.
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.
Software Life cycle models
In the development of a software product, we consider two main parties: the customer
who requires the use of the product and the designer who must provide the product.
Typically, the customer and the designer are groups of people and some people can be both
customer and designer. It is often important to distinguish between the customer who is the
client of the designing company and the customer who is the eventual user of the system.
These two roles of customer can be played by different people. The group of people who
negotiate the features of the intended system with the designer may never be actual users of
the system. This is often particularly true of web applications. In this chapter, we will use the
term ‗customer‗ to refer to the group of people who interact with the design team and we
will refer to those who will interact with the designed system as the user or end-user.
The Waterfall Method
4 | Page
HUMAN COMPUTER INTERACTION
Phases of software life cycle:
Requirement specification
Architectural Design
Detailed Design
Coding and Unit testing
Integration and testing
Operation and Maintenance
Requirements specification:
Designer and customer try capture what the system is expected to provide can be
expressed in natural language or more precise languages, such as a task analysis would
provide.
Architectural design:
High-level description of how the system will provide the services required factor system
into major components of the system and how they are interrelated needs to satisfy both
functional and non-functional requirements
Present functionality through a familiar metaphor.
Provide similar execution style of analogous operations in different applications.
Organize the functionality of a system to support common user tasks.
Make invisible parts and processes visible to the user.
Detailed design:
Refinement of architectural components and interrelations to identify modules to be
implemented separately the refinement is governed by the non-functional requirements
Coding and Unit Testing:
The detailed design for a component of the system should be in such a form that it is
possible to implement it in some executable programming language. After coding, the
component can be tested to verify that it performs correctly, according to some test criteria
that were determined in earlier activities.
Integration and testing:
Testing is done to ensure correct behavior and acceptable use of any shared resources.
Maintenance:
After product release, all work on the system is considered under the category of
maintenance, until such time as a new version of the product demands a total redesign or the
product is phased out entirely.
Validation and Verification:
Verification - Designing the product right
Validation - Designing the right product
5 | Page
HUMAN COMPUTER INTERACTION
The formality gap between the real world and structured design
*********************************************************************
6 | Page
HUMAN COMPUTER INTERACTION
*********************************************************************
Prototyping Techniques
Iterative design overcomes inherent problems of incomplete requirements •
Prototypes
o simulate or animate some features of intended system
o different types of prototypes
throw-away
incremental
evolutionary
Management issues
o time
o planning
o non-functional features
o contracts
Throw-way:
The prototype is built and tested. The design knowledge gained from this exercise is
used to build the final product, but the actual prototype is discarded.
Incremental prototype:
The final product is built as separate components, one at a time. There is one overall
design for the final system, but it is partitioned into independent and smaller components.
The final product is then released as a series of products, each subsequent release including
one more component
7 | Page
HUMAN COMPUTER INTERACTION
*********************************************************************
8 | Page
HUMAN COMPUTER INTERACTION
Model-based design and Evaluation
Evaluation: Tests the usability, functionality and acceptability of an interactive system.
Occurs in laboratory, field/or in collaboration with users.
Evaluate both design and implementation.
Should be considered at all stage in the design life cycle.
Evaluation may be done by:
1. The designer for assessing early design and prototypes.
2. Usability expert of the working prototype or implementation
GOALS OF EVALUATION
1. To assess the extent and accessibility of the system’s functionality.
2. To assess users’ experience of the interaction.
3. To identify any specific problems with the system.
Evaluation through expert analysis
4 approaches to expert analysis considered:
1. Cognitive Walkthrough
2. Heuristic evaluation
3. The use of model
4. Use of previous work
*********************************************************************
9 | Page
HUMAN COMPUTER INTERACTION
Essentially models of the ‘external aspects’ of interactive system (what is seen from outside)
Interaction is assumed to be a transition between states in a ‘system state space’
A ‘system state’ is characterized by the state of the interface (what the user sees) It is
assumed that certain state transitions increase usability while the others do not.
The models try to predict if the proposed design allows the users to make usability-
enhancing transitions.
By applying ‘reasoning’ (manually or using tools) on the formal specification
10 | Page
HUMAN COMPUTER INTERACTION
1. Simple Models of Human Information Processing
These are the earliest cognitive models used in HCI. These model complex cognition as a
series of simple (primitive/atomic) cognitive steps:
Most well-known and widely used models based on this approach is the GOMS
family of models.
Due to its nature, application of such models to identify usability issues is also known
as the “cognitive task analysis (CTA)”
*********************************************************************
11 | Page
HUMAN COMPUTER INTERACTION
KLM - Purpose
The model provides a quantitative tool (like other predictive engineering models)
The model allows a designer to ‘predict’ the time it takes for an average user to
execute a task using an interface and interaction method.
For example, the model can predict how long it takes to close this PPT using the “close” menu
option.
(CMN)GOMS
CMN stands for Card, Moran and Newell –the surname of the three researchers who proposed it.
KLM vs (CMN) GOMS
In (CMN) GOMS, a hierarchical cognitive (thought) process is assumed, as opposed
to the linear thought process of KLM
Both assumes error-free and ‘logical’ behavior
A logical behavior implies that we think logically, rather than driven by emotions
13 | Page
HUMAN COMPUTER INTERACTION
At higher levels (for example, the entire cognitive process involved in “closing a file
by selecting the close menu option” can be defined as operator).
(CMN) GOMS gives the flexibility of defining operators at any level of cognition and
different parts of the model can have operators defined at various levels.
*********************************************************************
Fitts, in his experiments, noted that the difficulty of a target acquisition task is related to
two factors:
Distance (D): the distance by which the person needs to move his hand/finger. This is
also called amplitude (A) of the movement. The larger the D is, the harder the task
becomes
Width (W): the difficulty also depends on the width of the target to be acquired by the
person As the width increase, the task becomes easier.
14 | Page
HUMAN COMPUTER INTERACTION
(ID)
From the analysis of empirical data, Fitts’ proposed the following relationship between
ID, D and W.
ID = log2 (D/W+1) [unit is bits]
Throughput
Fitts’ also proposed a measure called the index of performance (IP), now called
throughput (TP)
Computed as the difficulty of a task (ID, in bits) divided by the movement time to
complete the task (MT, in seconds)
TP = ID/MT bits/S
Hick’s Law (or the Hick-Hyman Law) is named after a British and an American psychologist
team of William Edmund Hick and Ray Hyman. In 1952, this pair set out to examine the
relationship between the number of stimuli present and an individual’s reaction time to any
given stimulus. As you would expect, the more stimuli to choose from, the longer it takes the
user to make a decision on which one to interact with. Users bombarded with choices have to
take time to interpret and decide, giving them work they don’t want.
*********************************************************************
15 | Page