Objective: Computer Machinery Special Interest Group On Computer-Human Interaction. SIGCHI Defines
Objective: Computer Machinery Special Interest Group On Computer-Human Interaction. SIGCHI Defines
Human Computer Interface (HCI) was previously known as the man-machine studies or man-
machine interaction. It deals with the design, execution and assessment of computer systems and
related phenomenon that are for human use.
HCI can be used in all disciplines wherever there is a possibility of computer installation. Some of
the areas where HCI can be implemented with distinctive importance are mentioned below −
Computer Science − For application design and engineering.
Psychology − For application of theories and analytical purpose.
Sociology − For interaction between technology and organization.
Industrial Design − For interactive products like mobile phones, microwave oven, etc.
The world’s leading organization in HCI is ACM − SIGCHI, which stands for Association for
Computer Machinery − Special Interest Group on Computer–Human Interaction. SIGCHI defines
Computer Science to be the core discipline of HCI. In India, it emerged as an interaction proposal,
mostly based in the field of Design.
Objective
The intention of this subject is to learn the ways of designing user-friendly interfaces or
interactions. Considering which, we will learn the following −
Ways to design and assess interactive systems.
Ways to reduce design time through cognitive system and task models.
Procedures and heuristics for interactive system design.
Historical Evolution
From the initial computers performing batch processing to the user-centric design, there were
several milestones which are mentioned below −
Early computer (e.g. ENIAC, 1946) − Improvement in the H/W technology brought
massive increase in computing power. People started thinking on innovative ideas.
Visual Display Unit (1950s) − SAGE (semi-automatic ground environment), an air defense
system of the USA used the earliest version of VDU.
Development of the Sketchpad (1962) − Ivan Sutherland developed Sketchpad and
proved that computer can be used for more than data processing.
Douglas Engelbart introduced the idea of programming toolkits (1963) − Smaller
systems created larger systems and components.
Introduction of Word Processor, Mouse (1968) − Design of NLS (oNLine System).
Introduction of personal computer Dynabook (1970s) − Developed smalltalk at Xerox
PARC.
Windows and WIMP interfaces − Simultaneous jobs at one desktop, switching between
work and screens, sequential interaction.
The idea of metaphor − Xerox star and alto were the first systems to use the concept of
metaphors, which led to spontaneity of the interface.
Direct Manipulation introduced by Ben Shneiderman (1982) − First used in Apple Mac
PC (1984) that reduced the chances for syntactic errors.
Vannevar Bush introduced Hypertext (1945) − To denote the non-linear structure of text.
Multimodality (late 1980s).
Computer Supported Cooperative Work (1990’s) − Computer mediated communication.
WWW (1989) − The first graphical browser (Mosaic) came in 1993.
Ubiquitous Computing − Currently the most active research area in HCI. Sensor
based/context aware computing also known as pervasive computing.
Heuristic Evaluation
Heuristics evaluation is a methodical procedure to check user interface for usability problems.
Once a usability problem is detected in design, they are attended as an integral part of constant
design processes. Heuristic evaluation method includes some usability principles such as
Nielsen’s ten Usability principles.
Nielsen's Ten Heuristic Principles
Visibility of system status.
Match between system and real world.
User control and freedom.
Consistency and standards.
Error prevention.
Recognition rather than Recall.
Flexibility and efficiency of use.
Aesthetic and minimalist design.
Help, diagnosis and recovery from errors.
Documentation and Help
The above mentioned ten principles of Nielsen serve as a checklist in evaluating and explaining
problems for the heuristic evaluator while auditing an interface or a product.
Usability
Usability has three components − effectiveness, efficiency and 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 and 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.
The uni-directional movement of the waterfall model of Software Engineering shows that every
phase depends on the preceding phase and not vice-versa. However, this model is not suitable
for the interactive system design.
The interactive system design shows that every phase depends on each other to serve the
purpose of designing and product creation. It is a continuous process as there is so much to know
and users keep changing all the time. An interactive system designer should recognize this
diversity.
Prototyping
Prototyping is another type of software engineering models that can have a complete range of
functionalities of the projected system.
In HCI, prototyping is a trial and partial design that helps users in testing design ideas without
executing a complete system.
Example of a prototype can be Sketches. Sketches of interactive design can later be produced
into graphical interface. See the following diagram.
The above diagram can be considered as a Low Fidelity Prototype as it uses manual procedures
like sketching in a paper.
A Medium Fidelity Prototype involves some but not all procedures of the system. E.g., first
screen of a GUI.
Finally, a Hi Fidelity Prototype simulates all the functionalities of the system in a design. This
prototype requires, time, money and work force.
UCD Drawbacks
Passive user involvement.
User’s perception about the new interface may be inappropriate.
Designers may ask incorrect questions to users.
Interactive System Design Life Cycle (ISLC)
The stages in the following diagram are repeated until the solution is reached.
Diagram
GUI Design & Aesthetics
Graphic User Interface (GUI) is the interface from where a user can operate programs,
applications or devices in a computer system. This is where the icons, menus, widgets, labels
exist for the users to access.
It is significant that everything in the GUI is arranged in a way that is recognizable and pleasing
to the eye, which shows the aesthetic sense of the GUI designer. GUI aesthetics provides a
character and identity to any product.
HCI Analogy
Let us take a known analogy that can be understood by everyone. A film director is a person who
with his/her experience can work on script writing, acting, editing, and cinematography. He/She
can be considered as the only person accountable for all the creative phases of the film.
Similarly, HCI can be considered as the film director whose job is part creative and part technical.
An HCI designer have substantial understanding of all areas of designing. The following diagram
depicts the analogy −
Several interactive devices are used for the human computer interaction. Some of them are known
tools and some are recently developed or are a concept to be developed in the future. In this
chapter, we will discuss on some new and old interactive devices.
Touch Screen
The touch screen concept was prophesized decades ago, however the platform was acquired
recently. Today there are many devices that use touch screen. After vigilant selection of these
devices, developers customize their touch screen experiences.
The cheapest and relatively easy way of manufacturing touch screens are the ones using
electrodes and a voltage association. Other than the hardware differences, software alone can
bring major differences from one touch device to another, even when the same hardware is used.
Along with the innovative designs and new hardware and software, touch screens are likely to
grow in a big way in the future. A further development can be made by making a sync between
the touch and other devices.
In HCI, touch screen can be considered as a new interactive device.
Gesture Recognition
Gesture recognition is a subject in language technology that has the objective of understanding
human movement via mathematical procedures. Hand gesture recognition is currently the field of
focus. This technology is future based.
This new technology magnitudes an advanced association between human and computer where
no mechanical devices are used. This new interactive device might terminate the old devices like
keyboards and is also heavy on new devices like touch screens.
Speech Recognition
The technology of transcribing spoken phrases into written text is Speech Recognition. Such
technologies can be used in advanced control of many devices such as switching on and off the
electrical appliances. Only certain commands are required to be recognized for a complete
transcription. However, this cannot be beneficial for big vocabularies.
This HCI device help the user in hands free movement and keep the instruction based technology
up to date with the users.
Keyboard
A keyboard can be considered as a primitive device known to all of us today. Keyboard uses an
organization of keys/buttons that serves as a mechanical device for a computer. Each key in a
keyboard corresponds to a single written symbol or character.
This is the most effective and ancient interactive device between man and machine that has given
ideas to develop many more interactive devices as well as has made advancements in itself such
as soft screen keyboards for computers and mobile phones.
Response Time
Response time is the time taken by a device to respond to a request. The request can be anything
from a database query to loading a web page. The response time is the sum of the service time
and wait time. Transmission time becomes a part of the response time when the response has to
travel over a network.
In modern HCI devices, there are several applications installed and most of them function
simultaneously or as per the user’s usage. This makes a busier response time. All of that increase
in the response time is caused by increase in the wait time. The wait time is due to the running of
the requests and the queue of requests following it.
So, it is significant that the response time of a device is faster for which advanced processors are
used in modern devices.
HCI Design
HCI design is considered as a problem solving process that has components like planned usage,
target area, resources, cost, and viability. It decides on the requirement of product similarities to
balance trade-offs.
The following points are the four basic activities of interaction design −
Identifying requirements
Building alternative designs
Developing interactive versions of the designs
Evaluating designs
Three principles for user-centered approach are −
Participatory Design
Participatory design process involves all stakeholders in the design process, so that the end result
meets the needs they are desiring. This design is used in various areas such as software design,
architecture, landscape architecture, product design, sustainability, graphic design, planning,
urban design, and even medicine.
Participatory design is not a style, but focus on processes and procedures of designing. It is seen
as a way of removing design accountability and origination by designers.
Task Analysis
Task Analysis plays an important part in User Requirements Analysis.
Task analysis is the procedure to learn the users and abstract frameworks, the patterns used in
workflows, and the chronological implementation of interaction with the GUI. It analyzes the ways
in which the user partitions the tasks and sequence them.
What is a TASK?
Human actions that contributes to a useful objective, aiming at the system, is a task. Task analysis
defines performance of users, not computers.
Hierarchical Task Analysis
Hierarchical Task Analysis is the procedure of disintegrating tasks into subtasks that could be
analyzed using the logical sequence for execution. This would help in achieving the goal in the
best possible way.
"A hierarchy is an organization of elements that, according to prerequisite relationships, describes
the path of experiences a learner must take to achieve any single behavior that appears higher in
the hierarchy. (Seels & Glasgow, 1990, p. 94)".
ConcurTaskTree (CTT)
CTT is an engineering methodology used for modeling a task and consists of tasks and operators.
Operators in CTT are used to portray chronological associations between tasks. Following are the
key features of a CTT −
Dialog Representation
To represent dialogs, we need formal techniques that serves two purposes −
It helps in understanding the proposed design in a better way.
It helps in analyzing dialogs to identify usability issues. E.g., Questions such as “does the
design actually support undo?” can be answered.
Introduction to Formalism
There are many formalism techniques that we can use to signify dialogs. In this chapter, we will
discuss on three of these formalism techniques, which are −
StateCharts
StateCharts represent complex reactive systems that extends Finite State Machines (FSM),
handle concurrency, and adds memory to FSM. It also simplifies complex system representations.
StateCharts has the following states −
Active state − The present state of the underlying FSM.
Basic states − These are individual states and are not composed of other states.
Super states − These states are composed of other states.
Illustration
For each basic state b, the super state containing b is called the ancestor state. A super state is
called OR super state if exactly one of its sub states is active, whenever it is active.
Let us see the StateChart Construction of a machine that dispense bottles on inserting coins.
The above diagram explains the entire procedure of a bottle dispensing machine. On pressing the
button after inserting coin, the machine will toggle between bottle filling and dispensing modes.
When a required request bottle is available, it dispense the bottle. In the background, another
procedure runs where any stuck bottle will be cleared. The ‘H’ symbol in Step 4, indicates that a
procedure is added to History for future access.
Petri Nets
Petri Net is a simple model of active behavior, which has four behavior elements such as − places,
transitions, arcs and tokens. Petri Nets provide a graphical explanation for easy understanding.
Place − This element is used to symbolize passive elements of the reactive system. A place
is represented by a circle.
Transition − This element is used to symbolize active elements of the reactive system.
Transitions are represented by squares/rectangles.
Arc − This element is used to represent causal relations. Arc is represented by arrows.
Token − This element is subject to change. Tokens are represented by small filled circles.
Visual Thinking
Visual materials has assisted in the communication process since ages in form of paintings,
sketches, maps, diagrams, photographs, etc. In today’s world, with the invention of technology
and its further growth, new potentials are offered for visual information such as thinking and
reasoning. As per studies, the command of visual thinking in human-computer interaction (HCI)
design is still not discovered completely. So, let us learn the theories that support visual thinking
in sense-making activities in HCI design.
An initial terminology for talking about visual thinking was discovered that included concepts such
as visual immediacy, visual impetus, visual impedance, and visual metaphors, analogies and
associations, in the context of information design for the web.
As such, this design process became well suited as a logical and collaborative method during the
design process. Let us discuss in brief the concepts individually.
Visual Immediacy
It is a reasoning process that helps in understanding of information in the visual representation.
The term is chosen to highlight its time related quality, which also serves as an indicator of how
well the reasoning has been facilitated by the design.
Visual Impetus
Visual impetus is defined as a stimulus that aims at the increase in engagement in the contextual
aspects of the representation.
Visual Impedance
It is perceived as the opposite of visual immediacy as it is a hindrance in the design of the
representation. In relation to reasoning, impedance can be expressed as a slower cognition.
Visual Metaphors, Association, Analogy, Abduction and Blending
When a visual demonstration is used to understand an idea in terms of another familiar idea
it is called a visual metaphor.
Visual analogy and conceptual blending are similar to metaphors. Analogy can be defined
as an implication from one particular to another. Conceptual blending can be defined as
combination of elements and vital relations from varied situations.
The HCI design can be highly benefited with the use of above mentioned concepts. The concepts
are pragmatic in supporting the use of visual procedures in HCI, as well as in the design
processes.
Distance
Direct Engagement
Distance
Distance is an interface that decides the gulfs between a user’s goal and the level of explanation
delivered by the systems, with which the user deals. These are referred to as the Gulf of
Execution and the Gulf of Evaluation.
The Gulf of Execution
The Gulf of Execution defines the gap/gulf between a user's goal and the device to implement that
goal. One of the principal objective of Usability is to diminish this gap by removing barriers and
follow steps to minimize the user’s distraction from the intended task that would prevent the flow
of the work.
The Gulf of Evaluation
The Gulf of Evaluation is the representation of expectations that the user has interpreted from the
system in a design. As per Donald Norman, The gulf is small when the system provides
information about its state in a form that is easy to get, is easy to interpret, and matches the way
the person thinks of the system.
Direct Engagement
It is described as a programming where the design directly takes care of the controls of the objects
presented by the user and makes a system less difficult to use.
The scrutiny of the execution and evaluation process illuminates the efforts in using a system. It
also gives the ways to minimize the mental effort required to use a system.
Problems with Direct Manipulation
Even though the immediacy of response and the conversion of objectives to actions has
made some tasks easy, all tasks should not be done easily. For example, a repetitive
operation is probably best done via a script and not through immediacy.
Direct manipulation interfaces finds it hard to manage variables, or illustration of discrete
elements from a class of elements.
Direct manipulation interfaces may not be accurate as the dependency is on the user rather
than on the system.
An important problem with direct manipulation interfaces is that it directly supports the
techniques, the user thinks.
Time
Numeric ordering
Physical properties
A designer must select one of the following prospects when there are no task-related
arrangements −
Menu Layout
Menus should be organized using task semantics.
Broad-shallow should be preferred to narrow-deep.
Positions should be shown by graphics, numbers or titles.
Subtrees should use items as titles.
Items should be grouped meaningfully.
Items should be sequenced meaningfully.
Brief items should be used.
Consistent grammar, layout and technology should be used.
Type ahead, jump ahead, or other shortcuts should be allowed.
Jumps to previous and main menu should be allowed.
Online help should be considered.
Guidelines for consistency should be defined for the following components −
Titles
Item placement
Instructions
Error messages
Status reports
Keyboards
Use of TAB key or mouse to move the cursor
Error correction methods
Field-label meanings
Permissible field contents
Use of the ENTER and/or RETURN key.
Form Fill-in Design Guidelines −
Database Query
A database query is the principal mechanism to retrieve information from a database. It consists
of predefined format of database questions. Many database management systems use the
Structured Query Language (SQL) standard query format.
Example
SELECT DOCUMENT#
FROM JOURNAL-DB
WHERE (DATE >= 2004 AND DATE <= 2008)
AND (LANGUAGE = ENGLISH OR FRENCH)
AND (PUBLISHER = ASIST OR HFES OR ACM)
Users perform better and have better contentment when they can view and control the search.
The database query has thus provided substantial amount of help in the human computer
interface.
The following points are the five-phase frameworks that clarifies user interfaces for textual search
−
Formulation − expressing the search
Initiation of action − launching the search
Review of results − reading messages and outcomes
Refinement − formulating the next step
Use − compiling or disseminating insight
Information Visualization
Information visualization is the interactive visual illustrations of conceptual data that strengthen
human understanding. It has emerged from the research in human-computer interaction and is
applied as a critical component in varied fields. It allows users to see, discover, and understand
huge amounts of information at once.
Information visualization is also an assumption structure, which is typically followed by formal
examination such as statistical hypothesis testing.
Advanced Filtering
Following are the advanced filtering procedures −
Objects
Real-world objects share two characteristics − They all have state and behavior. Let us see the
following pictorial example to understand Objects.
In the above diagram, the object ‘Dog’ has both state and behavior.
An object stores its information in attributes and discloses its behavior through methods. Let us
now discuss in brief the different components of object oriented programming.
Data Encapsulation
Hiding the implementation details of the class from the user through an object’s methods is known
as data encapsulation. In object oriented programming, it binds the code and the data together
and keeps them safe from outside interference.
Public Interface
The point where the software entities interact with each other either in a single computer or in a
network is known as pubic interface. This help in data security. Other objects can change the state
of an object in an interaction by using only those methods that are exposed to the outer world
through a public interface.
Class
A class is a group of objects that has mutual methods. It can be considered as the blueprint using
which objects are created.
Classes being passive do not communicate with each other but are used to instantiate objects
that interact with each other.
Inheritance
Inheritance as in general terms is the process of acquiring properties. In OOP one object inherit
the properties of another object.
Polymorphism
Polymorphism is the process of using same method name by multiple classes and redefines
methods for the derived classes.
Example
Interface design strive to make successful accomplishment of user’s goals with the help of
interaction tasks and manipulation.
While creating the OOM for interface design, first of all analysis of user requirements is done. The
design specifies the structure and components required for each dialogue. After that, interfaces
are developed and tested against the Use Case. Example − Personal banking application.
The sequence of processes documented for every Use Case are then analyzed for key objects.
This results into an object model. Key objects are called analysis objects and any diagram showing
relationships between these objects is called object diagram.