There have been researches to predict and prevent design errors that result in quality losses.
These researches involve making an error taxonomy.
Some of the error taxonomies are as follows:
Error Classification
--------------------
Error classification by Hinckley, 1997
Name Example Classification
Human reliability Error of ommision, error of commision, selection errors,
sequence errors
Performance shaping factors Inadequate lighting in work area, Inadequate training
or skill
Ergonomic Method Errors during perception stage, errors during
decision making phase, errors during the action
process
Psychological Classification Slips in formation of intention
Stress based classification Work load, occupational change, occupational
frustrations, occupational stress like light, noise
Task based classification Design error, operation error
Classification of Human
performance, industry based Planning, design and developing
Mistake proofing classification Forgetfulness, errors due to misunderstanding
Hinckley's criticism of some of the above classification include:
- Too simplistic
- Not easily understood by individuals in manufacturing and design
- The classified errors cannot be detected
- Elimination of factors does not eliminate mistakes
- Does not lead to correct identification of appropriate control method
classification
Outcome based classification (Hinckley, 2001)
Defective Material Defective or inadequate material entering
Information Error Ambiguous Information
Incorrect Information
Misread, Mis-measured
Omitted Information
Inadequate warning
Misalignments Misaligned parts
Mis-adjustment Mis-adjustments
Mistiming Mistimed or rushed
Omission or Commission errors Added material or part
Selection Errors Wrong concept or Mistake
Wrong destination
Wrong location
Wrong part
Wrong orientation
The figure above shows type of Human Errors diagram as produced by Reason in 1997
Type of Slip Definition
Capture Error Appears whenever two different action sequences have their
initial stages in common, with one sequence being unfamiliar
and other being well practiced
Description Errors Intended action has much in common with others that has
possible usually correct in performing the correct action on
wrong object
Data Driven Errors Automatic actions triggered by the arrival of secondary data
Associative Activation Error Internal thoughts and association that triggered automatic action
Loss of Activation Errors Forgetting to do something because the presumed activation
mechanism has decayed
Mode Error Devices that have different modes of operation and that action
appropriately
Causes of Structural Failure
Limit States Overload Geophysical, dead, wind, earthquake, manmade, imposed
Understrength Structural Materials instability
Movement Foundation, Settlement, Creep, etc.
Deterioration Cracking, fatigue, erosion, etc.
Random Fires Accidental Sabotage
Hazards Flood
Explosions
Earthquakes
Human Based Design Errors Mistake, understanding structural behavior
mistake, bad practice
Construction Error Poor Communication
Thursday, December 30, 2010
Monday, December 27, 2010
Ignoramus! Importance of Ignorance in Requirements Engineering
"Tacit assumptions" are the main reasons why there is error in understanding the clients requirements. Therefore, it is necessary to have a person who is ignorant of the domain who will question those assumptions and make the requirements clear.
It seems that among experts the common mistake is tacit assumptions. Because they are unspoken no one notices them. Having a ignoramus or ignorant person in the team is an excellent way to question the assumptions which the experts take for granted.
Not against Domain expertise
The article emphasizes that the author is not against the domain expertise. In fact, one of the members of the requirement analyst team must be a domain expert. The requirements cannot be invented from total ignorance.
The domain expert seeks basic information needed, but he or she may fall for tacit assumptions.
The ignoramus has no assumptions and asks questions whenever he or she notices signs of whenever he or she notices something left unsaid.
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
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
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.
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
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 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
"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
Monday, October 25, 2010
Human Factors in Software Engineering
There are many human factors involved in Software Engineering. It is reasonable to say so because software engineering is an essentially human centered activity.
In this paper, the human factors influencing software development process are named and mentioned.
Human factors are also covered in the topics of Management. Many human factors like Interpersonal Communication, Leadership, etc(I can recall from my Management class) are covered in Management classes. So, I will be dealing with some management concepts too in this post.
In fact, Software Engineering and Management has given birth to a new field called: Software Project Management.
Following are some concepts covered under both Management and Software Engineering.
- Cost Estimation
- Risk Analysis/Risk Management
- Activity Planning
- Resource Management
- People Management
Here I mention various phases in Software Development Life cycle and how they relate to various human factors:
Requirement Engineering
It involves the process of gathering information.
There are many human factors in RE.
- Multi-languages
- Culture
- Stakeholder
- Time zone boundaries
Design
Design is also related to many human factors.
Implementation
Apart from technical skills like knowledge of the code.
Implementation is also affected by characteristics of the programmer.
Testing
I have written a whole post describing how testing is influenced by human factors. You can read it here:
http://softwarequality-cognitivepsyc.blogspot.com/2010/10/psychology-in-software-testing.html
Mantainance
At this time, the project is more related to human issues.
Writing Technical Document
Writing technical documents is also greatly influenced by human factors.
For example, there are courses on 'International Technical Writing', where they take into account the various human factors like language differences, cultural differences while preparing technical documents.
References:
In this paper, the human factors influencing software development process are named and mentioned.
Human factors are also covered in the topics of Management. Many human factors like Interpersonal Communication, Leadership, etc(I can recall from my Management class) are covered in Management classes. So, I will be dealing with some management concepts too in this post.
In fact, Software Engineering and Management has given birth to a new field called: Software Project Management.
Following are some concepts covered under both Management and Software Engineering.
- Cost Estimation
- Risk Analysis/Risk Management
- Activity Planning
- Resource Management
- People Management
Here I mention various phases in Software Development Life cycle and how they relate to various human factors:
Requirement Engineering
It involves the process of gathering information.
There are many human factors in RE.
- Multi-languages
- Culture
- Stakeholder
- Time zone boundaries
Design
Design is also related to many human factors.
Implementation
Apart from technical skills like knowledge of the code.
Implementation is also affected by characteristics of the programmer.
Testing
I have written a whole post describing how testing is influenced by human factors. You can read it here:
http://softwarequality-cognitivepsyc.blogspot.com/2010/10/psychology-in-software-testing.html
Mantainance
At this time, the project is more related to human issues.
Writing Technical Document
Writing technical documents is also greatly influenced by human factors.
For example, there are courses on 'International Technical Writing', where they take into account the various human factors like language differences, cultural differences while preparing technical documents.
References:
http://portal.acm.org/citation.cfm?id=3139.3140
Application of Cognitive science in HCI
Why does HCI need cognitive science?
In order to understand the user, it is useful to have a firm grounding in the cognitive processes that the user undergoes
The user perceives information, uses knowledge, and makes decisions, all of which are the domains of cognitive science
Understanding the user allows the HCI researcher to predict and explain the interaction that occurs between the user and the computer system
Without such an understanding, it is difficult to facilitate optimized interaction in the design of software.
There are many models in Cognitive Science like GOMS, MHP which can be applied in interface design. To understand more about these models read my other posts.
This post just serves as an introduction to guide the user to read other blog posts
which is :
http://softwarequality-cognitivepsyc.blogspot.com/2010/10/perceptual-cognitive-and-motor-task.html
In order to understand the user, it is useful to have a firm grounding in the cognitive processes that the user undergoes
The user perceives information, uses knowledge, and makes decisions, all of which are the domains of cognitive science
Understanding the user allows the HCI researcher to predict and explain the interaction that occurs between the user and the computer system
Without such an understanding, it is difficult to facilitate optimized interaction in the design of software.
There are many models in Cognitive Science like GOMS, MHP which can be applied in interface design. To understand more about these models read my other posts.
This post just serves as an introduction to guide the user to read other blog posts
which is :
http://softwarequality-cognitivepsyc.blogspot.com/2010/10/perceptual-cognitive-and-motor-task.html
Subscribe to:
Posts (Atom)