public class PhoneKeypadExperiment
extends java.lang.Object
PhoneKeypadExperiment |
Click here for instructions on launching/running the application.
The default parameter settings are read from a configuration file called
PhoneKeypadExperiment.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). 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: There is no setup parameter 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 dogwhich might be useful for demonstration or specialized testing.
Entry Mode The entry mode (see above).
Dictionary Used for the T9 entry modes, which require a built-in word-frequency dictionary, appended with the letter-to-key mappings for the phone keypad. For this, two files are provided. One is based on the BNC "d1" file with 9022 words. The file is modified slightly, adding words from phrases2.txt that are not in the core dictionary file. The resulting file contains 9195 words: d1phrases2-wordfreq-phoneks.txt. Using this version of the d1 dictionary guarantees that all words in phrases2.txt can be entered using the T9 modes. A second dictionary file uses the expanded (d2) version of the BNC with 64,566 words. There are 64,589 unique words when the excluded words from phrases2.txt are added. The file is d2phrases2-wordfreq-phoneks.txt.
Size of Candidate List Used for the word completion modes, where a candidate list is produced after each keystroke. The size of the candidate list is configurable as 0, 1, 2, 5, or 10 words. The list is partitioned in two parts with words exactly matching the current key sequence appearing first, followed by extended words, where the current key sequence is treated as a word stem.
Show Candidates After Indicates the number of keystroke after which the candidate list is shown to the participant.
Out-of-dictionary Beep Used for the T9WC and T9WCWP modes. If enabled, the system will beep if a keystroke results in no dictionary matches for the current keystroke sequence. NOTE: It is not meaningful to implement this mode for the basic T9 mode, since it is possible for a correct keystroke sequence to be "out of dictionary" for a portion of a correctly inputed word. For example, depending on the dictionary, the word "computer" may have the following tentative interpretation during entry:
2 a 6 an 6 con 7 cons 8 boost 8 266788 3 compute 7 computerAfter the key sequence 266788, there is no dictionary match. It would not be meaningful to produce an out-of-dictionary beep in basic T9 mode, since the input is correct. In the T9WC or T9WCWP modes, however, there would be a legitimate "tentative" match for 266788 ("comput") so enabling the "out-of-dictionary beep" mode would not generate an erroneous beep.
The program includes some embedded parameters that are hard-coded into the source file:
Note: The parameter settings for Dictionary, Size_of_candidate_list, and Show_candidates_after are not included in the output data files. If any of these parameters is manipulated as a factor in an experiment, the levels of the factor should be assigned codes using the Condition_code parameter.
The program adopts a set of behaviours, according to the entry mode and setup parameters, then launches with a GUI somewhat as follows:
The keypad operates as expected, with letters entered using keys 2 through 9 and a SPACE entered using 0. Additionally, three keys are used for the BACKSPACE, TIMEOUT KILL, and NEXT functions:
The keypad rendering is typical of many mobile phones, so the interpretation of the above keys may not be apparent to the user. To assist, tooltip help is implemented.
After a word is entered with the letter keys, clicking SPACE (0) commits the word and appends a space in preparation for the next word.
In the word completion and prediction modes, a word may be selected early by clicking on it in the candidate list.
When the BEGIN button is clicked, the first phrase is presented. Timing begins on the next key selection. At the end of a phrase, the ENTER button is clicked; thus ending the timing for that phrase. Participants may rest at their discretion between phrases.
Summary data appear in a popup dialog after entry of each phrase. Below is an example:
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. Below is an example of an sd2 file after importing into Microsoft Excel: (click to enlarge)
Actual output files use "PhoneKeypadExperiment" as the base filename. This is followed by the participant code, the
condition code, the block code, and the entry mode, for example,
PhoneKeypadExperiment-P99-C01-T9WCWP-S01-B01.sd2
.
Constructor and Description |
---|
PhoneKeypadExperiment() |
Modifier and Type | Method and Description |
---|---|
static void |
main(java.lang.String[] args) |