CSE5910 : Multimedia Programming in Java

Lecture : Human-Computer Interaction

In the previous lecture:

In this lecture:

Remember: Unusable software is not worth making!

A simple rule.

If a user will perform a task often, make it fast and easy to perform.

If a user will perform a task infrequently, it's acceptable that it be slower or slightly more difficult to perform.

For example, if it took three keystrokes to save a word processor file every time, a task which ought to be performed often, a user would rapidly become frustrated. A single key chord (group of keys held down simultaneously) such as ALT-S may easily achieve the same task.

The act of setting preferences on the other hand, a task done infrequently, may require the user to navigate several menus and dialogue boxes. This is OK because the user usually only sets preferences for the software every now and again.

What do users do? Users perform interactions tasks as part of larger interaction dialogues.

An interaction task is the entry of information using a hardware or software device. An interaction dialogue is a series of exchanges of information between a user and the computer.

Four basic interaction tasks:

  1. Position (input a position)

  2. Text (input a string)

  3. Select (object identification)

  4. Quantify (input a numeric value)

Interaction techniques are the means of achieving interaction tasks using input devices.

E.g. A selection task may be achieved:

  • Point & click object with mouse cursor
  • Tab through list, hit enter key
  • Select from a menu
  • Type identifier key / key chord
  • Speak to speech recognition software

A single input device may be used for more than one kind of interaction task.

E.g. A mouse may be used for:

Interaction Hardware Devices

The most common devices for interaction with computer based multimedia are:

Locator devices (for positioning) may be conveniently categorized as absolute / relative, direct / indirect, discrete / continuous.

Discrete locator devices: require repeated operation to achieve a movement in small increments in a given direction. E.g. buttons, keys

Continuous locator devices: require a single smooth operation to achieve a movement in a given direction. E.g. joysticks, mice, graphics tablets

Cursor control keys (arrows, ijkm, asdw etc.)
(indirect, discrete locator devices)

(indirect, continuous locator device)

What type of device is this Nintendo Wii Power Glove?

The C/D ratio is the ratio of the speed of hand movement (Control) to the speed/distance of cursor movement (Display) for a continuous locator device.

Large ratio - large hand movement / small cursor movement (Good for accurate positioning, poor for long movements)

Small ratio - small hand movement / large cursor movement (Good for rapid movements across long distances, poor for accurate positioning)

A relative device may be set up with a variable C/D ratio depending on the velocity of movement. Should the ratio be high or low for fast movements? Why?

Position Interaction Task

Device movement direction should correspond to movement in screen space. For instance, if the mouse moves left, so should the cursor or selected object!

Key spatial orientation for cursor control should correspond to onscreen movement.

E.g. i- up, m- down, j- left, k- right or properly arranged arrow keys

ijkm keys

Grids may aid spatial positioning tasks by 'snapping' the cursor to specific points in a plane, and not allowing the cursor to locate objects (for example line endpoints in a drawing package) at non-grid points.

This simplifies the task of ensuring neat alignment of objects in a drawing.


Selection Interaction Task

Selection involves choosing an element from a choice set.

Choice sets are either predominantly fixed, or variable.

Choice sets include:

Fixed and variable choice sets may call for different methods of selection...

Menus for selection from fixed sized choice sets may be:

Menus of commands may be grouped functionally and displayed textually,

menu bar

or iconically...

tool bar

Pointing (or naming with auto-completion) for selection from variable sized choice sets.

Naming is preferable where there is insufficient screen space to display all objects for pointing. However, this method assumes some knowledge from the user! (What is it?)

Tips for onscreen location (for mouse selection) - note the contradictory demands


The easiest places for a user to position the cursor using a mouse.

Why is this so? How can you use this knowledge to build an effective interface?

Keyboard devices

Selection by Keyboard Shortcut
Text Interaction Task
Quantify Interaction Task

What guides your choices in designing an interface?

Vital Principles of Interface Design

    1. Be consistent

    2. Provide feedback

    3. Minimize error possibilities

    4. Provide error recovery

    5. Accommodate multiple skill levels

    6. Minimize memorization

...more on these in the next lecture.

Lecture summary:

CSE5910 Courseware | CSE5910 Lecture Notes