Class SoftKeyboardExperiment

java.lang.Object
  extended by SoftKeyboardExperiment

public class SoftKeyboardExperiment
extends java.lang.Object

SoftKeyboardExperiment

Summary

Related References

Background

The goal in designing Opti (and other layouts) was to minimize stylus or finger movement for English text entry on a soft keyboard. As an example, consider the movements required to enter "airplane":

Clearly, there is less finger or stylus movement for the Opti design. The trick is to minimize the movement as an overall average for text entry in a particular language, such as English. See the papers above for details.

Running the Experiment Software

Click here for instructions on launching/running the application.

Setup Parameters

Upon launching, the program presents a setup dialog:

The default parameter settings are read from a configuration file called SoftKeyboardExperiment.cfg. This file is created automatically when the application is launched for the first time. The default parameter settings may be changed through the setup dialog. The setup parameters are as follows:

Parameter Description
Participant Code Identifies the current participant. This is used in forming the names for the output data files. Also, the sd2 output data file includes a column with the participant code.

Condition code An arbitrary code used to associate a test condition with this invocation. This parameter might be useful if the software is used in an experiment, since conditions might be tested that are not inherently part of the application (e.g., Gender → male, female; Input method → mouse, stylus). The condition code is used in forming the name for the output data file. Also, the sd2 output data file contains a column with the condition code.

Session code Identifies the session. Useful if testing proceeds over multiple sessions to gauge the progression of learning. The session code is used in forming the name for the output data file. Also, the sd2 output data file contains a column with the condition code.

Note: The setup dialog does not include an entry for "Block code". The block code is generated automatically by the software.

Number of phrases Specifies the number of phrases presented to the participant in the current block.

Phrases file Specifies a file containing phrases of text to be presented to participants for entry. Phrases are drawn from the file at random. Typically, phrases2.txt is used. This is the phrase set published by MacKenzie and Soukoreff in 2003 (see Related references, above). Other file names may be specified. For example, the file quickbrownfox.txt contains the phrase

     the quick brown fox jumps over the lazy dog
 
This phrase might be useful for demonstration or specialized testing.

Show presented text during input A checkbox item that determines whether or not the presented text is visible during entry of a phrase. Either way, the text phrase appears at the beginning of a trial. If this option is unchecked, the phrase will disappear when the first keystroke is entered.

Keyboard Identifies the soft keyboard to use in the experiment. The options currently supported are as follows: (click to enlarge)

Qwerty

Opti

Metropolis

Lewis-Kennedy-LaLommia

Fitaly

Custom
(see below)

Custom keyboard Used in conjunction with the Custom option above to select a custom keyboard layout. The layout is read from a keyboard definition file which is selected from a file chooser. The file chooser opens when the "Browse..." button is clicked.

Program Operation

The experiment launches with the selected soft keyboard displayed and with a text phrase presented for input. An example is shown below for the Qwerty layout.

At the end of each phrase, a popup dialog gives results for the phrase. Here's an example:

Custom Mode

The last radio button in the setup dialog is "Custom (select below)". This option allows the software to use a custom layout. The layout is read from a text file. The "Browse..." button pops up a file chooser to select the keyboard definition file for the custom layout. An example is provided for the well-known Dvorak layout: dvorak.txt. If this file is selected, the program will launch with the following soft keyboard:

Output Data Files

At the end of a block of phrases, results are written to files. There are two output data files, an "sd1" file and an "sd2" file. ("sd" is for "summary data".) The sd1 file contains data on a keystroke by keystroke basis, including timestamps. The sd2 file contains summary data for each phrase, one line per phrase. Examples follow:

Actual output files use "SoftKeyboardExperiment" as the base filename. This is followed by the participant code, the condition code, the keyboard, the session code, and the block code. An example might be SoftKeyboardExperiment-P01-C01-OP-S01-B01.sd1.

In most cases, the sd2 data files are the primary files used for data analyses in an experimental evaluation. The data in the sd2 files are full-precision, comma-delimited, to facilitate importing into a spreadsheet or statistics application. Below is an example for the sd2 file above, after importing into Microsoft Excel: (click to enlarge)

Miscellaneous

When using this program in an experiment, it is a good idea to terminate all other applications and disable the system's network connection. This will maintain the integrity of the data collected and ensure that the program runs without hesitations.

For demonstration, a mouse can be used for input, but finger or stylus input is more appropriate and should be used if possible.

Author:
Scott MacKenzie, 2011-2015, Steven Castellucci, 2014

Constructor Summary
SoftKeyboardExperiment()
           
 
Method Summary
static void main(java.lang.String[] args)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SoftKeyboardExperiment

public SoftKeyboardExperiment()
Method Detail

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Throws:
java.io.IOException