public class H4WriterExperiment
extends java.lang.Object
H4WriterExperiment |
The first paper below describes the rationale and specific details for designing text entry methods using Huffman coding. It also details the design and evaluation of H4-Writer. The remaining papers describe extensions of H4-Writer to wearable computing, gesture input, and smart phones, respectively.
Click here for instructions on launching/running the application.
The default parameter settings are read from a configuration file called
H4WriterExperiment.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 where a condition is not inherently part of the application (e.g., Gender → male, female, Input Device → gamepad, keyboard). 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 for H4-Writer. 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 (click here). The other files in the drop-down list are phrases2.txt, helloworld.txt, helloworld2.txt, quickbrownfox.txt, phrases.txt, phrases100.txt, vowells.txt, and alphabet.txt.
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.
Lowercase only A checkbox item that, if checked, forces all letters in the presented text phrase to be lowercase.
Show Huffman keyboard A checkbox item that determines whether or not the Huffman keyboard is visible in the UI. It might be useful to uncheck this option if input uses an external keyboard and visual monitoring of the keys is to be avoided.
Show symbols on keys A checkbox item that determines whether or not symbols appear on the keys. Uncheck this option if input uses the mouse and visual monitoring of the letters on keys is to be avoided. This option is only relevant if the option above (Show Huffman keyboard) is checked. Note, as well, that this option only applies to the basic code tree (letters, period, comma, SPACE, BACKSPACE, ENTER, SYMBOL). If the user enters [symbol]
to input a punctuation or special character, rendering of the symbols on keys is restored during entry of the symbol.
Huffman code base Specifies the numeric base of the codes used in the Huffman code tree. The possibilities are base 2 through to base 10.
H4Writer gamepad layout A checkbox item that determines whether to use a gamepad-style layout for the keys. This option is only enabled if the option above (Huffman code base) is set to 4. If the code base is 4 and this option is checked, the keys are laid out similar to thumb-operated keys on the right side of a gamepad (see below).
The virtual keys are laid out, left to right, as many as needed. The left-most key is selected by pressing 1 on the system's keyboard. The next key is selected by pressing 2, and so on.
Mouse input is also supported. Just click on a key to select it.
There are two Huffman code trees for each code base, a basic tree containing the most common symbols and codes (e.g., letters, period, comma, SPACE, BACKSPACE, ENTER, SYMBOL), and a symbol tree for special symbols (e.g., digits, punctuation). Here are links to view the code trees:
Code base 2: h2.txt h2-sym.txt
Code base 3: h3.txt h3-sym.txt
Code base 4: h4.txt h4-sym.txt
Code base 5: h5.txt h5-sym.txt
Code base 6: h6.txt h6-sym.txt
Code base 7: h7.txt h7-sym.txt
Code base 8: h8.txt h8-sym.txt
Code base 9: h9.txt h9-sym.txt
Code base 10: h10.txt h10-sym.txt
In operation, entering "[symbol]
" from the basic tree causes a transition to the symbol tree. The next
selection is from the symbol tree. If the next selection is " [SymLock]
" the symbol tree remains active for the input of multiple symbols, until " [SymLock]
" is again
selected.
The base-4 case — H4-Writer — is a configuration of particular interest. The GUI has a special look when the program is launched for 4-key input (if the option "H4Writer gamepad layout" is checked):
For this mode, it is intended that text will be entered with a four-key device, such as a gamepad:
Input will use the D-pad on a gamepad, with LEFT = 1, UP = 2, RIGHT = 3, and DOWN = 4. For the gamepad to work, software such as Xpadder must be installed and configured so that the gamepad keys generate the appropriate keystroke events on the host system. This is the mode of input used in the original paper presenting H4-Writer (click here to view).
As established in the original test of H4-Writer, users learn the codes after a few hours of practice. At this juncture, the rendering of the symbols on the keys is not needed. If the setup parameter "Show symbols on keys" is unchecked, the symbols do not appear. Here's an example for H4-Writer:
The data in the sd2 file are full-precision, comma-delimited. Importing into a spreadsheet application provides a convenient method to examine the data on a phrase-by-phrase basis. Here's how the data might look after importing into Microsoft Excel: (click to enlarge)
Actual output files use "H4WriterExperiment" as the base filename. This is followed by the participant code, the
condition code, the session code, and the block code, for example,
H4WriterExperiment-P01-C99-S07-B01.sd2
.
If "r" is pressed between phrases (i.e., after "Enter" is entered), the effect is to erase the newly-presented phrase and bring up a new phrase. Data for the previous phrase, which have already been written to disk, are not affected.
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.
Constructor and Description |
---|
H4WriterExperiment() |
Modifier and Type | Method and Description |
---|---|
static void |
main(java.lang.String[] args) |