<!Copyright IBM 1998>
ID Test a small Java application designed for testing user performance with cursor control devices. To run the Java application you will need a copy of a Java Runtime Environment (JRE) for your operating system. For example, you can download one for free from Sun at http://www.java.com/en/download/index.jsp. In addition, you can get the Java Performance Runtime for Windows from Sun as well, which contains the Java Just in Time compiler. The Java application comes in the Java Archive File IDTest.jar. The main class is COM.ibm.almaden.basmith.IDTestApp.
For 32 bit Windows systems, you can run IDTest.exe without any Java Virtual Machine, but will need the Windows DLLs (Copyright Symantec), which should be placed in the same directory as the EXE file.
To use this program, you must accept the License Agreement.
The experiment follows the Fitts paradigm of pointing task performance measurement. The experimenter defines a set of target sizes, distances, and angles relative to horizontal on the screen. The program creates a set of targets containing all possible combinations of size, distance, and angle. Each combination results in the presentation of a pair of identically sized targets on the screen, placed symmetrically around the center of the experiment window, at the specified distance apart. The order of target presentation is determined by a pseudo-random number generator, the seed for which can be given as a parameter to produced the same order for each session. The test subject begins each measurement by placing the cursor over either of the two targets and selecting it with the mouse button (usually the left mouse button). The subject is instructed to alternately select the two targets as rapidly as possible until a new pair is presented. After all combinations have been presented, the experiment window will remain blank. The time between each successive pairs of clicks on a particular target condition is recorded, along with the number of clicks outside of the desired target. This data is written to the Java Console for each successful click. Each data record gives the following, separated by a space and a tab character:
At the end of the session, or if the experiment window is closed to stop the experiment sooner, a summary is written. For each target combination:
IDTest allows easy definition of the target independent variables by specification of parameters in the control panel. The parameters are all strings which represent integer values or text strings. The parameters are:
For "Radii", "Distances", and "Angles", multiple values are entered as a blank separated list. A null value for "seed" allows the program to choose a new seed each time. Note that the target size is entered as radius, but is output as diameter.
The experiment begins when the user clicks on either of the first pair of targets. For each new pair of targets, timing starts when the user first clicks on either target.
The experimenter defines a list of target sizes, and the number of targets for each size. The program creates a set of targets randomly distributed within the experiment window. The order of target presentation is determined by a pseudo random number generator, the seed for which can be given as a parameter to produced the same order for each session. The test subject begins each measurement by placing the cursor over the first target and selecting it with the mouse button (usually the left mouse button). The subject is instructed to select each target as rapidly as possible as soon as it appears. After all targets have been presented, the experiment window will remain blank. The time between each successive pairs of clicks is recorded, along with the number of clicks outside of the desired target, not including the first target. This data is written to the Java Console for each successful click. Each data record gives the following, separated by a space and a tab character:
At the end of the session, or if the Escape key is pressed to stop the experiment sooner, a summary is written.
IDTest allows easy definition of the target independent variables by specification of parameters in the control panel. The parameters are all strings which represent integer values or text strings. The parameters are:
For "Target Radii", multiple values are entered as a blank separated list. A null value for "seed" allows the program to choose a new seed each time. Note that the target size is entered as radius, but is output as diameter.
The experiment begins when the user clicks on the initial target in the center of the window.
The "tunnel" is a path of defined length and width along which the subject must move the cursor. This experiment simulates a task in which the user must negotiate a specific path with the cursor, such as in selecting an item from a multilevel pop-up menu, like the Windows 95 (R Microsoft) "Start" menu. This type of task is knows as a "steering task" (see: Johnny Accot and Shumin Zhai, "Beyond Fitts' Law: Models for Trajectory-Based HCI Tasks", CHI 97 Conference Proceedings, pp 295 - 302).
The experimenter specifies the length, width, and angle of rectangles (tunnels) which will appear on the screen in random order. The user must steer the cursor to enter each tunnel at one end at exit at the other, without exiting on any other side. If the cursor is steered through the tunnel successfully, the time from entry to exit is recorded, and then the next tunnel is presented. If the curser exits via another side, the trial is ended and the same tunnel is presented again.
To begin each trial, the user must place the cursor in the green rectangle which marks the start area. The tunnel will change color when the cursor enters the start area. The user should then steer the cursor from the start area, through the tunnel, to the end area marked in red. The time time that the cursor spends in the tunnel, and the length of the path traveled in the tunnel, will be recorded in the output data.
This data is written to the Java Console for each successful trial. Each data record gives the following, separated by a space and a tab character:
At the end of the session, or if the experiment window is closed to stop the experiment sooner, a summary is written, with average values for each tunnel condition.
I have tried to provide error messages (in the Java Console) for the most likely errors in parameter entry. They should at least let you know that failure of the application to run is due to a problem with one of the parameters.
Please send me bug reports and suggestions for small improvements in the program. Reports of successful use of the program are especially welcome.
I have received valuable assistance in the design of these programs from Shumin Zhai and John Senders, and in Java programming from Dan Kellem, Rob Barrett, Steve Ihde, and Paul Maglio.
Barton Smith, basmith@almaden.ibm.com
This program was written for our own use in the laboratory for testing positional input device hardware and software. It is not a software product, and both the function and documentation are therefore minimal, and it is not supported by IBM. See the License Agreement for further information. Copyright IBM, 1998.