Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

HCI Unit-3 Human

Computer Interaction
IT 803
Arvind Sharma
Shneiderman’s Eight Golden Rules
Ben Shneiderman, an American computer scientist consolidated some implicit facts
about designing and came up with the following eight general guidelines −
• Strive for Consistency.
• Cater to Universal Usability.
• Offer Informative feedback.
• Design Dialogs to yield closure.
• Prevent Errors.
• Permit easy reversal of actions.
• Support internal locus of control.
• Reduce short term memory load.
These guidelines are beneficial for normal designers as well as interface designers.
Using these eight guidelines, it is possible to differentiate a good interface design from
a bad one. These are beneficial in experimental assessment of identifying better GUIs.
Norman’s Seven Principles

To assess the interaction between human and computers, Donald Norman


in 1988 proposed seven principles. He proposed the seven stages that can
be used to transform difficult tasks. Following are the seven principles of
Norman −
• Use both knowledge in world & knowledge in the head.
• Simplify task structures.
• Make things visible.
• Get the mapping right (User mental model = Conceptual model =
Designed model).
• Convert constrains into advantages (Physical constraints, Cultural
constraints, Technological constraints).
• Design for Error.
• When all else fails − Standardize.
Interface Design Guidelines

Some more important HCI design guidelines are presented in this section. General interaction,
information display, and data entry are three categories of HCI design guidelines that are
explained below.
• General Interaction
• Guidelines for general interaction are comprehensive advices that focus on general instructions
such as −
• Be consistent.
• Offer significant feedback.
• Ask for authentication of any non-trivial critical action.
• Authorize easy reversal of most actions.
• Lessen the amount of information that must be remembered in between actions.
• Seek competence in dialogue, motion and thought.
• Excuse mistakes.
• Classify activities by function and establish screen geography accordingly.
• Deliver help services that are context sensitive.
• Use simple action verbs or short verb phrases to name commands.
Guidelines for information display
Information Display
• Information provided by the HCI should not be incomplete or unclear or else the
application will not meet the requirements of the user. To provide better display, the
following guidelines are prepared −
• Exhibit only that information that is applicable to the present context.
• Don't burden the user with data, use a presentation layout that allows rapid integration of
information.
• Use standard labels, standard abbreviations and probable colors.
• Permit the user to maintain visual context.
• Generate meaningful error messages.
• Use upper and lower case, indentation and text grouping to aid in understanding.
• Use windows (if available) to classify different types of information.
• Use analog displays to characterize information that is more easily integrated with this
form of representation.
• Consider the available geography of the display screen and use it efficiently.
Data Entry guidelines
• The following guidelines focus on data entry that is another important
aspect of HCI −
• Reduce the number of input actions required of the user.
• Uphold steadiness between information display and data input.
• Let the user customize the input.
• Interaction should be flexible but also tuned to the user's favored mode
of input.
• Disable commands that are unsuitable in the context of current actions.
• Allow the user to control the interactive flow.
• Offer help to assist with all input actions.
• Remove "mickey mouse" input.
Interactive System Design
• The objective of this chapter is to learn all the aspects of design and
development of interactive systems, which are now an important part
of our lives. The design and usability of these systems leaves an effect
on the quality of people’s relationship to technology. Web
applications, games, embedded devices, etc., are all a part of this
system, which has become an integral part of our lives. Let us now
discuss on some major components of this system.
Concept of Usability Engineering
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.
Goals of Usability Engineering
• Effective to use − Functional
• Efficient to use − Efficient
• Error free in use − Safe
• Easy to use − Friendly
• Enjoyable in use − Delightful Experience
Components of 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.
Role of Software Tools in HCI
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.
Interface building tools
The user interface (UI) of a computer program is the part that handles the
output to the display and the input from the person using the program. The rest
of the program is called the application or the application semantics.
User interface tools have been called various names over the years, with the
most popular being User Interface Management Systems (UIMS) . However,
many people feel that the term UIMS should be used only for tools that handle
the sequencing of operations (what happens after each event from the user), so
other terms like Toolkits, User Interface Development Environments, Interface
Builders, Interface Development Tools, and Application Frameworks have been
used.
Cnt..
Four different classes of people are involved with user interface
software, and it is important to have different names for them to avoid
confusion. The first is the person using the resulting program, who is
called the end user or just user. The next person creates the user
interface of the program, and is called the user interface designer or
just designer. Working with the user interface designer will be the
person who writes the software for the rest of the application. This
person is called the application programmer. The designer may use
special user interface tools which are provided to help create user
interfaces. These tools are created by the tool creator.
Importance of User Interface Tools

There are many advantages to using user interface software tools. These can be
classified into two main groups: • The quality of the interfaces will be higher.
This is because: • Designs can be rapidly prototyped and implemented, possibly
even before the application code is written. • It is easier to incorporate changes
discovered through user testing. • There can be multiple user interfaces for the
same application. • More effort can be expended on the tool than may be
practical on any single user interface since the tool will be used with many
different applications. • Different applications are more likely to have consistent
user interfaces if they are created using the same user interface tool. • It will be
easier for a variety of specialists to be involved in designing the user interface,
rather than having the user interface created entirely by programmers. Graphic
artists, cognitive psychologists, and human factors specialists may all be
involved. In particular, professional user interface designers, who may not be
programmers, can be in charge of the overall design.
• The user interface code will be easier and more economical to create and
maintain. This is because: • Interface specifications can be represented,
validated, and evaluated more easily. • There will be less code to write,
because much is supplied by the tools. • There will be better modularization
due to the separation of the user interface component from the application.
This should allow the user interface to change without affecting the
application, and a large class of changes to the application (such as changing
the internal algorithms) should be possible without affecting the user
interface. • The level of programming expertise of the interface designers
and implementors can be lower, because the tools hide much of the
complexities of the underlying system. • The reliability of the user interface
will be higher, since the code for the user interface is created automatically
from a higher level specification. • It will be easier to port an application to
different hardware and software environments since the device
dependencies are isolated in the user interface tool.
In general, the tools might

• help design the interface given a specification of the


end users’ tasks, • help implement the interface given a
specification of the design, • help evaluate the
interface after it is designed and propose
improvements, or at least provide information to allow
the designer to evaluate the interface, • create easy-to-
use interfaces, • allow the designer to rapidly
investigate different designs, • allow non-programmers
to design and implement user interfaces, • allow the
end user to customize the interface, • provide
portability, and • be easy to use themselves.
Interface Builder
An interface builder allows the designer to create dialog
boxes, menus and windows that are to be part of a larger user
interface. These are also called Interface Development Tools.
Interface builders allow the designer to select from a pre-
defined library of widgets, and place them on the screen using
a mouse. Other properties of the widgets can be set using
property sheets. Usually, there is also some support for
sequencing, such as bringing up sub-dialogs when a particular
button is hit. Just a few examples are the NeXT Interface
Builder , Prototyper for the Macintosh, WindowsMAKER for
Microsoft Windows on the PC , UIMX for X Windows and Motif
, and devGuide from Sun for OpenLook .
Although interface builders make laying out the dialog boxes and
menus easier, this is only part of the user interface design problem.
These tools provide little guidance towards creating good user
interfaces, since they give designers significant freedom. Another
problem is that for any kind of program that has a graphics area (such
as drawing programs, CAD, visual language editors, etc.), interface
builders do not help with the contents of the graphics pane. Also, they
cannot handle widgets that change dynamically. For example if the
contents of a menu or the layout of a dialog box changes based on
program state, this must be programmed by writing code
CSCW
Computer-supported cooperative work (CSCW) consists of software
tools and technology that supports a group of individuals working on
projects at different sites. It is based on the principle of group
coordination and collaborative activities supported through computer
systems. The terms computer, support, cooperative, and work have all
been transcended. CSCW encompasses collaboration that uses
technologies we do not call computers, collaboration in which
technology plays a central rather than a support role, uses that involve
conflict, competition, or coercion rather than cooperation, and studies
of entertainment and play.
Human Processor

The Model Human Processor is a model of a series of information flows


in a human from the viewpoint of information processing (Fig. 1). In the
model, sensory information is input to perceptual processor, and then
processed in cognitive processor, and finally an action is output through
the motor system by motor processor.

You might also like