University of Guelph, Guelph Ontario Canada
Version 1.1
March 1996
Features intended for both HCI educational purposes and experimental research are included, making this a very powerful utility for research in input techniques or Fitts' law.
This software is provided free to the research community for use and distribution. The GFLMB software, source code and manual may not be sold or distributed for a price. Any redistribution of this software or this manual must have the copyright notices and this legal notice attached.
If you modify the software, the manual, or the source code, then you may not redistribute it without permission from the authors.
Permission is hereby granted for the software, source code, or manual to be redistributed in a modified state for educational purposes only, (i.e. by a professor or teacher to his or her pupils) so long as the copyright notice remains intact, and so long as a notice is visibly attached indicating that it has been modified, and is not in its original form.
There is no warranty of any kind expressed or implied. Use at your own risk. Neither the authors nor the University of Guelph shall be held to blame in the event of any damage or other losses incurred due to the usage of this software. We do not guarantee the fitness or accuracy of this software for any purpose. This software works well and accurately on our computers, it may not on yours.
Note that if you would like to be informed, by e-mail, of upcoming releases of this software, then read the section of this document titled "GFLMB MAILING LIST" below.
Any inquiries may be directed to William Soukoreff at:
We welcome any comments or suggestions you may have.
Note that if you would like to be informed, by e-mail, of upcoming releases of this software, then read the section of this document titled "GFLMB MAILING LIST" below.
Fitts' law models rapid, aimed, movements, where one appendage (like a hand) starts at rest at a specific start position, and moves to rest within a target area. Fitts' law is written:
where MT is the Movement Time, the time required to complete the motion; ID is the index of difficulty of the task (defined below); and IP is the index of performance. The index of performance is a constant for a specific appendage. The movement time is commonly measured in milliseconds, the index of difficulty in bits, and the index of performance in bits per second.
The index of difficulty was originally defined by Fitts (1954) as
where A is the amplitude of the movement (the distance from the start position to the centre of the target); and W is the width of the target. Both A and W are measured in units of distance (millimetres).
Other formulations for the index of difficulty have been purposed. For example there is the Welford formulation (1960)
Currently, the preferred formulation is that proposed by MacKenzie (1989)
This is the preferred formulation because it: always yields a positive index of difficulty, provides a slightly better fit with empirical data than the other formulations, and because it exactly reflects Shannon's Theorem 17, which Fitts' law is based upon.
For a more complete discussion of Fitts' law, please see the references included at the end of this document.
The GFLMB software allows the experimenter to investigate the application of Fitts' law to the manipulation of a computer input pointing device (such as a mouse). It has been established that Fitts' law provides an accurate and efficacious means to predict the movement time of a pointing device being manipulated by a human operator.
Many researchers have investigated Fitts' law, applying it to a wide range of movement tasks. Each of these researchers have had to develop their own software to present movement tasks to subjects, and to accurately record the results. The GFLMB software is a highly-configurable Fitts' law experiment system, that only needs to be configured to be used for a specific experiment. Version 1.0 of GFLMB provided complete control over the amplitude of motion, and the dimensions and shape of the target, as well as many other aspects of the movement task. Later releases of the GFLMB software have provided increased control over more aspects of the Fitts movement task. All of the flexibility and control provided by GFLMB is still available through a simple-to-use configuration screen.
The GFLMB configuration screen contains several text fields which may contain comma-delimited lists of values. There are four fields labelled: Amplitude, Width, Height and Angle, which allow the experimenter to enter all of the physical conditions that the subjects will be exposed to. A "Trials per Condition" field indicates how many times each of the conditions will be shown to the subjects.
In general, there are four types of movement task which are possible using a computer input device: a discrete pointing task, a discrete dragging task, a serial pointing task, and a serial dragging task.
Pointing tasks require that the subject manipulates a pointing device such that the pointer is placed within the boundary of the target, and that task completion is signalled somehow. The converse of a pointing task is a dragging task. Dragging tasks are only possible on devices which have some kind of button associated with the device(such as a mouse). The subject begins the task by depressing the device button. The movement task is then performed while maintaining the state of the device button (i.e. keeping the button depressed). Finally, the movement task is complete when the operator has moved the pointer within the target, and released the button. This type of task is identical to how selection is generally performed in software supporting a graphic interface.
There are two types of pointing device usage, Discrete, and Serial. Typical pointing device usage is best modelled as Discrete movement tasks, each separated by some other kind of activity. An example of this is word-processing, where a pointing device (such as a mouse) is used intermittently to select things, but inbetween each usage of the pointing device, the user types on the keyboard. Serial movement tasks occur when the selection tasks are immediately consecutive, such as playing a mouse-intensive computer game.
It is useful to think of movement tasks as having events which define the beginning and end of the task. So, a discrete task is characterised by some event which indicates that the task is beginning, followed by the pointer device movement, which terminates with some task ending event. A serial task is slightly different. It begins with some task starting event, followed by a movement and an ending event, which is followed by a second movement, which is again terminated by another ending event. The serial tasks repeat some predetermined number of times.
For soundness of scientific method, the subjects should be presented with each condition more than once. Enter the number of times each condition should be presented into the "Trials per Condition" field.
The device and control display gain of the device can be specified using the "Device" button and "C-D Gain" field, respectively. (Note: Versions 1.0 and 1.1 support only a mouse pointing device. Anticipate more devices being supported in the future.)
The type of movement task, and the events which signify the beginning and end of each task are specified using the "Task Type", "Task Beginning Event", and "Task Ending Event" buttons.
The task types supported are: Discrete Pointing, Discrete Dragging, Serial Pointing, and, Serial Dragging.
The Text target shape is significantly different from the other target shapes. When any of the other target shapes are used (rectangle, square or circle), the experiment screen appears black, and target(s) appear white on the black background. In the text mode, the background is completely filled with text. The text is white on the black background. The target area appears as a white rectangle which surrounds one or more of the text words. The text that appears on the background is taken from the file named in the "Target Text File" field of the configuration screen. The Text target mode is intended to provide a more realistic Fitts movement task. Some researchers believe that this realism is very important when doing research of this type, and most users use pointing devices on screens that are covered in text (such as when using a word-processor). (See Card, English and Burr, 1978.)
The "Audible Beep on Error" button enables an error beep to provide feedback to the subject during the experiment.
When an External Factor is present in a experiment, a pop-up window informs the subject of which external factor to use, before each movement task. This feature is extremely useful. Consider having the two external factors: "Use Left Hand", and "Use Right Hand". Every time a new condition is presented to the subject, they will be informed about which hand to use, automatically by the software. The external factors are output to the data file, for easy subsequent analysis.
The configuration of GFLMB can be accomplished by using the configuration screen, or by modifying the configuration file with any PC text editor. Any features which are accessible through directly editing the configuration file are also accessible through the configuration screen. Therefore, there is no reason to have to modify the configuration file directly.
Since the configurable options have already been described, the format of the configuration file will only briefly be described.
One may specify a configuration filename on the command-line, when invoking GFLMB. If no filename is specified, then the default configuration file name of "config" is used.
A typical configuration file is included as Figure 1.
# # Config file for GFLMB version 1.1c # Device: Mouse TaskType: Discrete Pointing TaskBeginning: Mouse Click TaskEnding: Any Mouse Click Target: Text ErrorBeep: Yes PracticeSession: No AmplitudeConditions: 80, 160 WidthConditions: 2.46, 4.92, 9.84, 20.46 HeightConditions: 4.56 AngleConditions: 0 TrialsPerCondition: 1 CDGainConditions: 1.0 DwellTime: 200 TargetTextFile: textfile ExtraFactors: AspectRatioX: 2.55 AspectRatioY: 2.525
Each line in the configuration file represents the setting(s) of one of the GFLMB options.
If the subject is running a practice session, then the data file name field can be left blank, and no data file will be written.
A typical example data file appears in Figure 2.
# # Data file: DataFile # Subject #: # Session #: # Subject Name: # Sitting #: # Date/Time: 09:32 on Tuesday February 06, 1996 # # A, W, H, th, CDG, x, y, E, HomeT, MoveT 80.0, 2.5, 4.6, 0.0, 1.0, 0.4, 0.0, 0, 0, 1297 80.0, 4.9, 4.6, 0.0, 1.0, 0.8, 0.0, 0, 0, 1488 80.0, 9.8, 4.6, 0.0, 1.0, 0.4, 0.0, 0, 0, 760 80.0, 20.5, 4.6, 0.0, 1.0, 5.5, 0.0, 0, 0, 981 160.0, 2.5, 4.6, 0.0, 1.0, 0.0, 0.0, 0, 0, 2987 160.0, 4.9, 4.6, 0.0, 1.0, 0.8, -0.4, 0, 0, 1583 160.0, 9.8, 4.6, 0.0, 1.0, -0.8, 0.4, 0, 0, 1775 160.0, 20.5, 4.6, 0.0, 1.0, 7.5, 0.0, 0, 0, 929 # # End of data file: DataFile #
The data file is neatly organised into rows and columns. Each row represents one individual movement task. The column headings are:
A Amplitude (mm)
W Width (mm)
H Height (mm)
th Angle (mm)
CDG Control-Display Gain
(x,y) The position, relative to the centre of the target,
where the subject indicated the end of task (mm)
E Indicates the task ended in error
HomeT Homing Time (ms)
MoveT Moving Time (ms)
If external factors are used, another column (to the right) will
appear in the data file, indicating which external factor applied
to which datum.
) with
a subject line of "GFLMB Mailing List". You should receive
an acknowledgement within a day or so.
This feature is extremely useful. Consider having the two external factors: "Use Left Hand", and "Use Right Hand". Every time a new condition is presented to the subject, they will be informed about which hand to use automatically by the software.
The external factors are output to the data file.