Friday, November 5, 2010

Applying More psychology concepts to HCI

Contemporary cognitive models point to several types of memory:

1. Sensory memory
2. Short-term memory
3. Working memory
4. Long-term memory

Sensory Memory


Information from outside world enters the cognitive system through sensory memory, a kind of information scratch pad to record information from the senses. Each input channel has a secondary memory.
Information is held in the secondary memory for a very short time, with fast access and fast decay.

If the presentation of an interaction changes faster than the decay rate, the information from interaction will be lost.

Sensory memory also has extremely limited capacity.

There is some processing of sensory  data , even in brief time the information resides there. The information in secondary memory is filtered by attention and passed to short-term memory.

Short term memory


Information from the outside world enters the cognitive system into short-term memory via perception.
Information from sensory memory is interpreted by the perceptual system and moved to STM.

STM has limited capacity, fast access, and fast decay, although not as fast as sensory memory. Distractions make it even more difficult for STM to hold information.

Working Memory


WM supports the short-term storage of information that was depicted previously with STM. Additionally, WM includes greater emphasis on information-processing capabilities than traditional STM model.

The key function of WM is to provide a place for formation of mental models.

WM consist of two scratch pads:

1. One scratch pad is for visual information
2. other scratch pad is for auditory information

Application to HCI :


A number of researches have found that multimedia presentations that are "dual", meaning that the information is conveyed both in auditory and in picture form, are more effective than single presentations for variety of task, especially learning tasks.

Because the sketchpads in WM have limited capacity, multimedia presentations that use both types of information representations are more likely to be effective than those that are strictly visual or those that are delivered strictly by auditory methods.

Long-Term Memory


Long term memory may be permanent memory. It is an open question whether people ever truly forget information that is stored in LTM. LTM has essentially infinite capacity and it has slower access as compared to STM.

Information gets into LTM from STM via rehersal. That is why with practice you tend to recall everything better.

Getting information from LTM can happen in two ways:

Recall and Recognition


In recall, information to be retrieved from LTM must first be found and then recalled.

In recognition, an information cue is provided and information retrieved is matched against the presented cue.

Application to HCI:


Generally, recall is more difficult process than recognition. So we can infer that menus are better for novices than command line. With menus, all options  are presented explicitly, so selecting a menu option involves recognition.
Using command line involves recall.

A bit of Philosophy:


These are some concepts of philosophy but they also hold true for psychology.


Declarative Knowledge:


Declarative knowledge is knowledge of facts. These are "know-what" about things.  Here is an example of declarative knowledge " What is the capital of United States of America?". The answer to this question is an example of declarative knowledge.

Procedural Knowledge is "know-how" about things. Procedural knowledge is "how" you process about doing a certain thing. These are more subtle to communicate.

Representation of Knowledge:


Knowledge is organized hierarchically, temporally, and in networks. Both information and its organization change over time.

Experts develop complex, multilevel bodies of knowledge in their domain or expertise. This knowledge is stored in LTM. Some knowledge is semantic, or about meaning of things.

Semantic knowledge is knowledge of general concepts and is independent of specific situations.
For example, an expert programmer understands the concept of array regardless of the programming language.

Some knowledge is about surface structure and is called syntactic knowledge. Syntactic knowledge is also stored in LTM, but it is more detailed than semantic knowledge and less structured cognitively.

Syntactic knowledge is acquired by rote and more easily forgotten than semantic knowledge.


Application to HCI:


1) Syntactic knowledge is acquired by rote and is more easily forgotten than semantic knowledge. There are some "occasional" users who use the systems for once in a while. These users may more easily remember the semantic details of the task than the syntactic details of the interface's operations. Designers should provide cuing when possible for operation and syntactic details of an interface use.


Active Learning


Active learning is a concept taught is education classes. It is also a concept in cognitive psychology. Active learning says that people learn better if they are engaged in learning actively.

Application to HCI:


Users may learn more effectively in environments where they have to develop explanations for themselves. So, active learning is promoted when a user is placed in problem-solving situations that allow them to connect prior knowledge to current situation.

References:
Usability Engineering process, products and examples by Laura Leventhal and Julie Barnes

Human in Human-Computer Interaction

There is a 'human' in human-computer interaction. The human interacts with the computer.

There is a plethora of information in Cognitive psychology which can be applied to Human-Computer Interaction. However, it has many challenges to it applying these theories to HCI.

1) Making an inference just by using small group of people

In traditional psychology, you can observe some people in a laboratory and get to a result. However, this does not hold true when it comes to applying psychology to the field of HCI.

2) Lack of Theory

We need theory to base our experiments upon and get the result. We do not have enough theory for the HCI.

However, there are many learnings of psychology which we can apply to HCI

For example, psychology says:

1. Humans are limited in their capacity to hold and process information

Based on this teaching of psychology, we have the principle that we should put minimum load on the short term memory of the user.

We should design screens where options are clearly visible.

We are Information Processors


We as human beings are information processors. Just like computers receive information and then process it. We also receive information and process it.

We can consider an analogy b/w "human information processor" and computer


Human processor is something which obtains information and translates it into an output.

We, humans, receive information from our senses like vision. We obtain information from the sense of vision to see the world around us.
Computers obtain information from the keyboard.

Computer process information in their CPU.
We humans process information in our brain.

Computers use the input and produce the output
Human also produce some output to information given to them.

Human Input device : Sensors or senses
Human Output device: fingers, head vocal system

Computer Input device: Keyboard
Computer output device: output screen

Sensation and Perception


When we talk about human input, it makes sense to talk about sensation and perception.

Sensation and perception are very important concepts of psychology. An implied form of these concepts is also used in Management, Politics, etc.

Sensation : Sensation refers to the activities in which external inputs from environment are received and "initially" processed.

Perception :  Perception refers to the meaning we assign to the events around us.

Perception is how we "interpret" the information we receive through sensation.

Attention!
I put this heading in red to draw your attention and if you stopped to read this while browsing through the blog, it served my purpose.

It is inbuilt into us that certain things catch attention. For example, moving things catch attention.


Application to HCI:

Use an alarm mechanism to give serious warning.

Insights about giving input : 


Psychology says that input and sensation and perception almost occur in parallel.
Whereas, output is more serial.

Although we human beings can process a lot of information serially,  there is limit to the input we can take altogether. Imagine a messed up secretary who is told 15 things by her boss simultaneously.

Put a limit to it




                             A secretary overloaded with information. We should keep input not this high!
Application to HCI:


It is good idea to put lot of information at one place but don't overdo it.

We read slower on screens as compared to on paper:


1. Dillon, McKnight, and Richardson (1988) did a large body of research comparing reading from paper to reading from screens. They concluded that reading from screens may be slower and less accurate than reading from paper - but not always.

Screen image affects the quality with which we read from screen.

If the image is good we can read easily just like paper.

Checkout Amazon kindle:
http://www.amazon.com/Kindle-Amazons-Original-Wireless-generation/dp/B000FI73MA



Hope amazon pays me for writing this blog. I am doing their marketing. lol.

But see how wonderfully they have made the amazon kindle image. The image is good so one can read as good as paper.

Bad Background


Avoid having a dark background which makes the text difficult to read.


Sound to draw attention






Remember that noisy exam when there was a construction going on which made you feel irritated.
It is inbuilt into us we are drawn to sound.

Perhaps our ancestors used this attention to sound system to protect themselves from predators.

Application to HCI:

Use sound to draw attention.

If there is something critical the user must pay attention to use the sound system.

Zone alarm antivirus and some other antivirus system use sound system to draw attention.

Touch


Touch gives us a tactile input. We use touch as we type.

Application to HCI:

Use virtual reality system to give a better experience of touch. For example, head-mounted devices.

Joysticks also stimulate touch


Joysticks enhance the feeling of touch.
Touch is inbuilt into us to be used as a sensory input information.

References:

Usability Engineering process, products and examples by Laura Leventhal and Julie Barnes

Human-Computer Interaction : Psychology as Science of Design

Introduction


Human-Computer Interaction is a growing field. It can be considered a branch of computer science which aims at improving the design of user interfaces.

It uses psychology for improving user interface design.

Some Design Principles

In this section, I will be talking about some design principles for effective user interface design.

We can look at the following aspects:

1. Input Basics :
    Keyboard vs. Mouse vs. Joystick

2. Basics of display design

3. Icons vs. Words and display objects

4. Method structure

5. Support for learning

6. Error recovery

7. Documentation and on-line help

Keyboard Control:


Practice will make a man perfect

If the user needs to pause to recall a command, the speed advantage is gone.

The mouse is the best choice to point to arbitrary objects.

- As long as objects are big enough
- Fitt's law shows that pointing time is:
       - Less than linear with increasing distance

Joysticks

Joysticks are good for simulating
For example, for airplane simulation, joysticks are good.

Joysticks are NOT good as pointing device

Don't focus on Appearance


Don't be too concerned with what the display look like because :-

Information retrieval is more important than display


Make sure that the information for each decision is on the screen which the decision is made

Try to have relevant information simultaneously because :-

- Eye movements are fast as compared to additional screens of information

Good Approaches :


- Key information and control always visible

Icons vs. Words as display objects


The current trend is that we should use nifty icons and not boring words. However, this trend is misguided.

There is something we have been taught to use and process information -- words

Icons are often arbitrary and meaningless as compared to typical words for comparing objects

Method Structure

Users should be able to accomplish tasks using a small number of simple and efficient methods

Every high frequency critical task goal should have a simple method

Similar goals should have similar methods


Support for Learning


Ease of learning and speed of use can go hand in hand

Single biggest contribution to ease of learning : Intuition


Simple and Consistent Methods


- Careful choice of functionality and interface design can result in simple methods for learning

Error Recovery


- User errors are difficult design issues

Hard to predict when error will occur

Documentation and On-line help


Documentation should present all of the components of GOMS model for task

- Most documents present list of operator description

Instead:

- Table of contents should have user goals

References :

http://www.eecs.umich.edu/~soar/Classes/494/talks/User-interfaces.pdf

Wednesday, November 3, 2010

User Interface Design for Games - II

User Interface Design for Games - II

In my last blog "User Interface Design for Games - I", I described the method for user interface design for games which was focussed on the "Goals" .

Now, let's talk about another important part of usability - "Procedures"

Procedure Basics

Goals is what you want to accomplish

Procedure is how you accomplish that task

There are many models which relate procedure to usability.

GOMS Model

There are two approaches for evaluating the procedural quality of an interface.

- The Keystroke-Level Model Method

- Operators and times for the keystroke model

GOMS procedure method model example
VCR Processor

Methods for recording a program is performance based.

People miss out "procedure" part of interface

When we generally talk of user interface, we believe that user interface consists of the input devices and what appears on the screen.

However, a better view is to consider the "procedures".

So, Interface also include the procedures used to accomplish a task.

Research Results

For an interface to be easy, simple and fast to use it should have easy and simple procedures.

GOMS Model

Goal

What is the goal the user want to accomplish with the system?

Operators

What basic actions the user can perform?

Methods

What procedure the user should focus to accomplish the task?

Selection rules

Which of the several methods should be applied to accomplish the goals?

Two well eastablished GOMS methodology

- Keystroke level method
- GOMS procedure model

The Keystroke-Level Model Method

Analysis:

1. Start with specified interface design
2. Choose one or more representative task scenarios
3. List the keystroke level events required in the scenarios
4. Insert mental operations for when the user has to stop and think.
5. Look up the standard execution time of each operator
6. Add up execution times for operations
7. The total is the estimate time to complete the task

Choose design for fastest predictions

Especially useful for :

Getting a quick, easily explained

Frequently repeated activities

Operators as times for Keystroke level method model:

K- Keystroke

Pressing a key or a button on a keyboard

Different experience level has different times

P - Point with mouse to a target on display

Follows Fitt's law
(Read my other blog baout Fitt's law)

B - Press mouse button

Highly practiced, simple reaction

H - Home hards  to keyboard or mouse

W - Wait for system reboot

User is idle and cannot continue

M -Mental act of thinking

Routine, brief pause in stream of activity

"NOT" a deep thought

GOMS Procedure Model Method

Analysis:

1. Select a set of top-level user goals
2. Choose the specified interface design
3. Write out general procedures that user will have to learn to execute and accomplish a task
4. Assess learning and execution implementation of procedure

Informal : unneeded

Formal : Calculate prediction learning or execution time

Choose the design with best combination of learning and execution tasks

Especially useful for:

Assessing consistency and ease of learning

Predicting execution times for variety of situations


Cognitive Walk through

Cognitive walkthough is an important technique used in design evaluation.
From : http://www.cs4fn.org/designforall/images/paperchainaudit.jpg
"The cognitive walkthrough method is a usability inspection method used to identify usability issues in a piece of software or web site, focusing on how easy it is for new users to accomplish tasks with the system" - Wikipedia

The cognitive walkthrough method is based on the notion that:

Users learn better by doing and performing tasks on an interface than studying a manual
1) A cognitive walkthrough starts with a task analysis  that specifies the sequence of steps or actions required by a user to accomplish a task, and the system responses to those actions. 
2) The designers and developers of the software then walkthrough the steps as a group, asking themselves a set of questions at each step. 
3) Data is gathered during the walkthrough, and afterwards a report of potential issues is compiled. 
4) Finally the software is redesigned to address the issues identified.

The above are the broad steps for cognitive walkthrough.

User Interface Design for Games - I

TUESDAY, NOVEMBER 2, 2010


User Interface Design for Games - I

I will be talking about user-interface design for games in this blog.

We will see what makes a "good" user interface.

Let's examine what are the desireable properties of user interface for game design.

Enjoyability:

e.g. quality of sound, graphics, animations, etc.

A video game that produces quality sound and good animation is fun to play.

Usability:

How easy to use/learn?

Some people believe that usability is "an art". However, it is not so.
Usability has technical aspects. It is a large field in computer science and a lot of research is going in this direction.

Work Software vs. Game Software

Work software and game software have almost opposite criteria to be "good".
E.g. Work becomes less productive if software is unnecessarily hard to use.
On the other hand, games are not fun unless some difficulty to solve.


Creative vs. Instrumental work

Creative work:

Creative work is opposed to routine work.
- It is creative
- It is non-routine
- the goal of work

Instrumental

It focuses on means to get work done instead of "goals"

For example, Inserting and deleting words and phrases.

Design Goals

we want to facilitate creative work by providing powerful and highly useable computer instruments(tools).

Fun vs. Instrumental Concept of Game

- Fun - create interesting, challenging enjoyable things to do.

- Interacting with game software to have fun

Design Goal:

- The design goal is to maximize the time/effort spend on fun and minimize time/effort spend on learning and using the instruments of interaction.

What is Usability?

Broadly, there are some concepts associated with usability:

1. User friendly
2. Look and feel
3. Intuitive - we can predict it intuitively
4. Natural


"Usability" means:

- Ease of learning
- Ease of use

Some other aspects of interface design are not usability issues but they can be affected by usability.

- Ease of implementation
- Attractiveness
- Marketing
- Entertaining value

Approaches for developing game software

There are certain approaches which we can use for developing game software.
There are many. Some can be based on the goal of video games - Entertainment goal

Entertainment Goal

What will make the game entertaining?

How to develop a Usable System?

Remember I talked about "task analysis" in my last blog

We will use the concept of task analysis here. We will figure out what the user needs to do and how can the system help them do it.

1) Perform task analysis

What does the user want to do?

2) Methods to do

In this step, you need to choose the system function that will support the task.

3) Choose and adopt some usability specifications

4) Chose initial interface design for initial specifications

5) Evaluate the usability of the design

6) Correct any problem and repeat evaluation

Tuesday, November 2, 2010

Cognitive Modeling and Human Computer Interaction

What is Cognitive Modeling?

"A cognitive model is an approximation to animal cognitive processes (predominantly human) for the purposes of comprehension and prediction. Cognitive models can be developed within or without a cognitive architecture, though the two are not always easily distinguishable." - Wikipedia


Use of Cognitive Modeling


As the definition above said that the cognitive modeling is used for the purpose of prediction. In relation to Human-Computer Interface development, we can use cognitive modeling to aid in design and evaluation of interface evaluations.


There are many models in the field of cognitive modeling which can be used to accomplish this. These are being discussed below:


I am discussing it in the order of the most practical to most theoritical


GOMS


I mentioned the GOMS method in my last blog also. Here, I will mention this from a cognitive science perspective.


GOMS analyzes a task in terms of


G - Goals


simple Operations used by a particular person performing a task


Methods for accomplishing a goal


Selection rule is required to chose.


GOMS model does not entail creativity or tasks which involve problem solving, etc. 


GOMS is well suited for analysis of routine, skilled performance as opposed to problem solving.


Post Completion Error


I will give a brief introduction to post completion errors. These will be applied later.


An adequate theory of error is one that enables us to predict where and under which conditions  the error will error. This phenomenon of errors after completion is called post completion error.


An example of Post Completion Error:


An example of post completion error would be forgetting the card inserted in the ATM machine after withdrawing money.
A similar example would be leaving the original document in the photocopy machine after making a xerox. 


Since these errors occur after completion of the tasks, they are rightly labeled as post-completion errors.


It is to be noted that these "mistakes" that I described in the above scenarios, namely leaving card in the ATM, forgetting the original document after taking xerox, happen only occasionally.


So, we conclude that post completion errors occur but they do not occur often.


Information Access


Remember when you last time spend days searching the phone number of an old friend in your old records? 


This exemplifies that information is useful only if we can find it when we need it.


We will apply this simple concept in human computer interface development.


3. Cognition - Artifact - Task Triad


Cognition refers to our thought process. Artifact refers to the tool we use and task is what we want to accomplish.


Traditionally, methodologies generally use cognitive, artifacts and task pairwise rather than altogether.


For example, the field of computer science is focused on developing artifacts. These artifacts are for doing certain tasks. However, cognitive concerns are ignored.


If we ignore any one from the cognition - artifact - task triad , the results will be errorprone.




However, Cognitive Modeling is bound to consider cognition, artifact and task as inter-related components


Cognitive Modeling and Cognitive Task Analysis


Cognitive Task Analysis specifies the cognitive steps required to perform a task using an artifact.


Cognitive Modeling goes further than cognitive task analysis. Each step in cognitive modeling is grounded in cognitive theory.


Dimensions of Cognitive Models


There are two:


1. Generative vs. Descriptive
2. Generality vs. Realism


Generative vs. Descriptive


Generative models are implemented as executable computer program that takes the same input and generate  the same output the people do.


Generative models run on computer, whereas descriptive models must be hand-simulated, increasing the chance of error.


Generality vs. Realism


Generality is the extent to which a model offers theoretical implications that extend beyond model's domain.


Realism, on the other hand, is the extent to which the modeled behavior corresponds to actual interactive behavior of a particular operator performing a particular task.


Summary


The cognitive models mentioned above are useful in predicting the user's action and are used to improve the interface design.


References:


http://mentalmodels.mitre.org/cog_eng/reference_documents/gray-cognitive%20modeling%20and%20hci.pdf