CS789, Spring 2007
Lecture notes, Week 4
There are a few general concepts that help the designer to think about
input devices. They do not provide a set of answers, but a set of questions.
Ask these questions when thinking about how well an input device is suited to
the tasks for which it is intended. (Today's activity should convince you
that specific characteristics of an input device don't actually matter very
much, only how well the characteristics of the device match the tasks for
which it is intended.)
Input is delivered to software as events, the input abstraction
Degrees of freedom
Input devices are activated by user actions, and in response to those actions
transmit signals to the computer. The degrees of freedom of an input devices
are the different responses that are transmitted.Important concepts:
- Dimensionality. Each dimension can provide
- continuous range of values (pseudo-continuous)
- discrete values: 0/1, on/off
- E.g., three button mouse has two continuous and three discrete
- Separability of dimensions
- Def'n. Can you manipulate one dimension independently of the others?
- E.g., buttons and motion on a mouse are separable.
- E.g., x and y motions on a mouse are not separable.
- E.g., buttons and motion on a flying mouse are not
- Input modes can help separability. E.g., shift on mouse input in
- Feedback can help separability. E.g., grid lines, aliasing
- Remember that separability is not just "good in itself"; it can be
bad. Remember drawing using a Etch-a-sketch?
Scaling and units
Scaling describes how the device properties map onto program entities. They
are limited by the actual outputs provided by the device. To provide a
quantitative account of these mappings it is necessary to measure, which
implies sets of units. Important concepts.
- Nominal, identify or name
- "=" makes sense
- e.g., social insurance numbers, icons, student numbers
- Ordinal, how things are ordered
- "=", ">", "<" all make sense
- E.g., window "depth", birth order
- Interval, how far apart things are
- "=", ">", "<", "-" all make sense
- E.g., addresses in memory, times
- Ratio, how far things are from zero
- "=", ">", "<", "-", "+", "*", "/" all make sense
- Differences on an interval scale, intervals, form a ratio
- E.g., integers, dates, longitudes, latitudes
- Scale conversions
- Between scales of the same type these are unit conversions
- renaming on nominal and ordinal scales: small -> large;
medium -> extra large; large -> jumbo.
- unit conversions on interval scales are almost always
- e.g., user sees degrees of visual angle per centimetre for
mouse, which is made up of
Unit conversions on ratio scales are usually affine, which means
that they are linear and the zero point can shift, like the
Celsius/Fahrenheit temperature conversion.
- logical units per centimetre: mouse to interface
- pixels per logical unit: interface to screen
- pixels per degree of visual angle: user perceiving
- Scale conversions can be non-linear
- E.g., mouse acceleration, fisheye visualization
- Conversions from one type of scale to another
- differentiate an interval scale to get a ratio scale
- integrate a ratio scale to get an interval scale
- categorize a continuous scale to get a discrete one
- Is there a well-defined zero?
- Which amounts to: can the interface use a ratio scale?
- e.g., mouse has nullable velocity, but not position
- e.g., spring-loaded joystick has nullable position, but not
- Nullability is an important practical matter.
- E.g., suppose we map tracker velocity onto a device input that
the user cannot easily null?
- The result is steady drift in the position of the tracker.
- Where does the tracker go?
- the difference between the two smallest distinguishable values,
requires an interval scale
- Dynamic range
- the ratio of the smallest and largest values, requires a ratio
Kinetics and dynamics
The device kinetics and dynamics determine how the device "feels". They
are determined partly by physical and logical properties of the device.
partly by the interface software that controls it. Here are some useful
- Sample rate
- produces a lag time
- big effect on device control
- e.g., mice are about 10 Hz
- Slew rate
- Def'n: the "fastest" the device can go without distortion
- Product of sample rate and maximum output
- How are overflow conditions handled?
- Linear produces catch-up effects.
- Velocity clipping produces velocity-dependent
- Does the current device output depend on the past?
- E.g., overhang or tipping effects
- E.g., loose steering on a car, lagged mouse reponse
- Can be produced by software
- E.g., Trackpoint terminates at a pushed back location
Almost all input devices are designed to be managed by a particular part
of the human body
- What is the actual point of contact? Which muscles control the device?
- E.g., hand, finger, foot, eye, mouth, etc.
- The answers to the two questions need not be the same
- E.g., fingers to hold mouse, forearm muscles to move it
- Age is also an issue (tremor).
- What change is sensed by the device?
- Position, velocity, acceleration, jerk, etc.
- Rotation, angular velocity, etc.
- Force, torque, etc.
Most input devices produce some sort of feedback to the user, which is
important for controlling the device successfully.
- Some feedback is produced by the device itself.
- Usually tactile, proprioceptive.
- E.g. positive action on keyboard.
- Friction within moving devices produces velocity that is
proportional to applied force.
- Some feedback is produced by the interface
- Usually visual, the on-screen cursor, but may be tactile.
- Depends on programmed scale and unit transformations, and on time
Real Input Devices
In this section we will look at an actual input device, the mouse. We will
explain exactly how it works, and describe it in terms of the concepts
described above. Then will follow a list of various input devices that have
been popular at one time or another, with a few comments about the
characteristics of each.
A real example: the mouse
To-day the most common input device for pointing is the mouse, though
possibly not for long.
- Construction details
- Mechanical mouse
- ball plus rotary sensors
- upside down trackball
- moves naturally, feels as though it's on wheels: rolling
bearing greatly reduces friction
- significant inertia relative to friction
- sensitive to dirt (slips)
- Old optical mouse
- light-emitting-diode (LED) and photodetector, ruled pad,
- moves differently, feels like sliding, motion relative to mouse
- sensitive to dirt, but different types of dirt (sticks)
- New optical mouse
- light source, video camera, image analysis software
- slides like old optical mouse
- needs a suitable surface, but most are suitable
- Common to all
- no obvious way to do rotation
- room for buttons, which are separable from motion
- How many buttons is best?
- hand comfort is important
- Degrees of freedom
- Continuous: two, orthogonal, non-separable
- Discrete: one-three, independent, separable with learning, chording
(also called inter-clicking) is interesting
- Stroke the mouse: it goes on forever, no start, no stop
- Motion is detected (or at least differential position)
- integrated to produce position that scales linearly with the
distance the mouse moves
- (How should one handle getting behind?)
- easily nulled with respect to its velocity: just put it
- jitter common, removed in driver software
- Ratio scale of velocity; interval scale of position
- Mice have been used as tablet imitators (for digitizing). How?
- Shares hands with the keyboard.
- Can be primarily finger, or can use wrist and lower arm a lot.
- Proprioceptive: force exerted by hand on the mouse, force exerted
by fingers on the buttons.
- Tactile: position on desk, feedback from keys.
- Visual: tracker on the screen, modal feedback (pop-up menus,
changes in the cursor) attached to keyed modes.
More than a list; not quite a taxonomy
- Discrete devices
- Keyboard. Touch typing proves that you can learn anything.
- Buttons and switches
- Using them as toggles requires state feedback: spring locking,
- Velocity-sensing Devices
- E. g., mouse, trackball, touchpads
- What do you need to map these onto position
- Position-sensing Devices
- E. g., touch screen, light pen, digitizing tablet, touch-sensitive
- First two have direct position interpretation
- Second two have indirect position interpretation
- What about the last one? How does it map most naturally to
- Force-sensing Devices
- E. g., force-sensitive joystick, spaceball
- What about car accelerator (spring-loaded joystick) ?
- Doesn't everything respond to force?
- These devices give no feedback but force.
- Other devices
Something interesting I saw at Alias/Wavefront
- The problem: input for 3-d drawing programs.
- The constraint: continuous upgrade path for user's existing skills
- maintain compatible interface for all the other programs
- gradually add to user's capability without going backwards
- Three problems to solve
- three dimenisonal input:
- control several things while drawing
- two mice at once, coordinated hand movements, toolbox
- sensing rotation of the mouse