Wednesday, November 3, 2010

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


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


Cognitive Modeling and Human Computer Interaction

Monday, October 25, 2010

Role of Psychology in Human-Computer Interaction -- I

Role of Psychology in Human- Computer Interaction

It intrigues me to notice how various branches of knowledge like psychology, philosophy, cognitive science and human computer interaction are inter-related.

The inter-related nature of these fields gives us an insight to learn from one field and apply the learning to the other. The same holds true for the field to human-computer interaction.

Human-computer interaction is a field of knowledge that deals with the study of interaction of humans and computers. This field is very much related to software engineering and involves techniques by which the softwares can have a good interface meeting user demands.

Human computer interaction is generally viewed as dealing with the development of software. However, this field also deals with the development of hardware devices.

The important part of HCI is to ensure user satisfaction.

The term "User Satisfaction" can be a broad term. It can have different meanings for different people. For example, a lay person who is not very efficient with the use of computers may be happy with an easy interface like the windows operating system. However, a more skilled user, who is an expert with UNIX commands, may like UNIX because it is more efficient. So, for a layperson user satisfaction means ease of use whereas for a skilled person user satisfaction means efficiency.

So, different users may have different expectations from a user interface and we must design a user interface so that it meets the demands of our target audience.

Psychology is of immense use when trying to accomplish this.

There are many ways in which psychology can contribute to effective interface design. For example:-

1. Using psychology, we can analyze the thought/cognitive process of the user and predict what user will do. Based on this prediction, we can make an effective user interface.

2. Human beings have certain capabilities and limitations which affect the way we use an interface. Psychology takes this into account and thus helps us to make effective interfaces. For example, we have been used to using words than symbols. So, our brain can process words more quickly than images. So, words are better used than icons at many places.

Our eyes too have limitations and certain capabilities which can be taken into account for designing interfaces. For example, Researches have shown that we can process more complex information presented in a visual diagram on one screen than if the same information is present on various screens.

Now, I will be narrowing down to my topic which deals with interlink b/w psychology and HCI.

I will be mentioning cognitive models later in this article . To understand them well, here are too terms from Philosophy class:

Declarative Knowledge:

- Knowledge of facts
- It has a list of inter-related facts or propositions
- It is stored in Long - Term Memory
- Flexibly used
- Easy to report

- Can be quickly acquired under certain conditions

Procedural Knowledge:

- Knowledge of what to do
- Represented as production rules:
IF THEN rules
- Stored in production memory
- Less Flexible
- Can't be reported

Here is how they apply to Human Computer Interaction:

Both declarative knowledge and procedural knowledge are relevant to interacting with a device

- The more knowledge required , the harder it is to learn and use a system

Ease of learning and ease of use go together.

Ease of use is an important factor in human computer interaction which is affected with declarative and procedural knowledge.

These two concepts (procedural and declarative knowledge will be used further in the article)

Imagine a scenario where I give you a new type of interface(something different from what you use regularly), say a new type of digital clock. Let's say your goal is to set an alarm in that clock.

In view of Rationality Principle, your attempt to accomplish the task will be affected by several things. For example:

- Characteristics of the task

Some tasks are more complex than others

- Actions possible in the task

- Inputs to the person

- Person's knowledge

The more knowledge you have of the system, the more likely you are to reach your goals/

- Person's processing limitations

Rationality Principle and Human Factors:-

- Basic goal of good system design is to alter the task, operators so that the human can be optimal in accomplishing goals in-spite of processing limitations.

So, Rationality Principle gives us a set of variables to work with. We can alter these variables to accomplish the goal of effective interface design.

Now, let's understand some concepts of Cognitive Science.

The Model Human Processor


In Cognitive Science, there are many information processing models . For example, GOMS, MHP. Model Human Processor is also one of the information processing model which explains how information is processed.

MHP is a simple information processing model of overall structure and mechanisms involved in human cognition.

Cognitive Processor takes information from the production memory and long-term memory and working memory.

Cognitive Processor take information from the production memory and the long-term memory and the working memory.

Cognitive Processor

- Production system model for cognitive processor:-

- "Programming" for cognitive processor consist of production rules:

IF(pattern) THEN (action)
IF(pattern) THEN (action)

Patterns tested in parallel , actions performed serially

Procedure or skills composed of a set of rules that fire in a proper sequence depending upon the situation

Works pretty well in detailed of skill and problem solving

Cognitive process "thinks" by manipulating working memory(WM) contents according to production rules.

- Working memory is the scratch pad memory

- Holds perceptual output, etc.

- In each cycle, contents of WM and LTM can trigger associated actions.

Actions can:

- Alter contents of VM

The Model Human Processor as explained in used in Psychology as well as other fields like Artificial Intelligence.

This MHP is especially useful in Artificial Intelligence.

In Artificial Intelligence, we have production memory and declarative memory and the working memory acts as a scratch paper for the cognitive processor.

This model is used in Artificial Intelligence design.

For example, If there is an artificial live chat agent on a website made using artificial intelligence, it uses information from Procedural Knowledge and Declarative Knowledge to act as a basis for working memory which is a scratch pad. For example, when an input is made to the system, the cognitive processor "thinks" by manipulating working memory(WM) contents according to production rule. So both procedural knowledge and declarative knowledge are used by working memory which directs output to the motor process.