public class SAKExperiment
extends java.lang.Object
SAKExperiment |
The first two reference below describe the conceptual and design issues as well as the initial evaluations of SAK. The remaining references describe follow-on evaluations.
Click here for instructions on launching/running the application.
The default parameter settings are read from a configuration file called
SAKExperiment.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 → spacebar, headband with piezo sensor). 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 SAK. 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.
Phrases per block Specifies the number of phrases presented to the participant in the current block.
Scan interval Specifies the scanning interval in milliseconds. The scanning interval is the length of time a key is highlighted before the highlight moves to the next key.
Restart scan timer on key selection A checkbox item that, if set, causes the scan interval timer to be restarted when there is a key selection. This lengthens the delay interval during the current scan step. It also facilitates a novel feature of SAKs known as "multiple selection". It is possible to make multiple selections in a single scan step interval if the current letter and one or more subsequent letters are on the same key.
Phrases file Specifies the file from which phrases are selected for input. 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).
Word-freq file Specifies the word-frequency file to be used as a dictionary and for encoding words and disambiguating keypresses. The default file is d1phrases2-wordfreq.txt
which contains the core 9022 words and frequencies fromd1-wordfreq.txt
, which is the word-freq file used in other applications in this series. The file also includes additional words that are inphrases2.txt
but not ind1-wordfreq.txt
. This is important since SAK requires that all words entered are in the dictionary.
Letter assignments Specifies the letter-to-key assignments and (implicitly) the number of keys. Dashes are used to separate and assign the letters to different keys. The default letter assignments are abcdefgh-ijklmnop-qrstuvwxyz, divided over three keys. This results in KSPC = 1.713 scan steps per character for English text entry. Consult references 1 and 2 above for all the details on why these particular letter assignments are useful.
The letter-selection region organizes letters alphabetically on n virtual keys with more than one letter per key, as per the letter-to-key assignments specified in the setup dialog. One additional virtual key is added for the SPACE character.
In operation, the keys are sequentially highlighted ("scanned"). The user selects letters by pressing the Spacebar on
the system's keyboard when the on-screen key bearing the desired letter is highlighted. Selection continues in this
manner until the word is spelled (or earlier, if the word appears in the word list). At the end of letter selection,
the user selects SPACE (by pressing the Spacebar when the [space]
on-screen key is highlighted).
When the user selects SPACE, scanning enters the word-selection region. In this region, scanning proceeds through a list of candidate words, ordered by their probability in English. When the desired word is highlighted, the user selects it. The word is added to the transcribed text followed by a SPACE character. Scanning then reverts to the letter-selection region for input of the next word.
Below are two screen snaps of the application. The first shows letter selection. Scanning proceeds in a repeating, left-to-right pattern.
Unlike conventional scanning keyboards, scanning does not "reset" upon selection, but, rather, continues with the next key. In first the image above, the SPACE key is highlighted. The user is entering "abandoned" and has correctly selected the first seven letters. The key selections appear as 1112122. (The on-screen keys are numbered from 1, on the left.) At this point, the desired word appears in the word selection region.
In the second screen snap, the user has selected SPACE and scanning has entered the word-selection region. Scanning proceeds through the list of candidate words. As seen, the desired word ("cookies") appears in the 7th position. The 4th word is currently highlighted. The user waits and then presses the Spacebar when the highlight reaches the desired word. Doing so selects the word and adds it the transcribed text field, just below the presented text field.
If a mistake is made, a long-press on the Spacebar serves as a BACKSPACE. The duration of the long-press must equal or exceed the scanning interval. When a long-press is detected either the current keystrokes are deleted, if entry is in the middle of a word, or the last word is deleted, if entry is between words.
The application is intended for demonstrations and experimental testing. Phrases are selected at random from the phrases file specified in setup. The default is phrases2.txt. The user enters the phrase while performance data are collected. Timing begins on the first keystroke and ends when the last word in the phrase is entered.
Since there is no ENTER key, the test for end-of-phrase is to compare the length of the presented and transcribed text strings at the end of each word of input. When the length of the transcribed text equals or exceeds the length of the presented text, an end-of-phrase is registered.
A popup window presents summary statistics at the end of each phrase. An example is shown below.
The program terminates after entry of the last phrase in a block.
The data are full-precision, comma-delimited. Importing into a spreadsheet application provides a convenient method to examine the data and do follow-on analyses. Click here to open Microsoft Excel to view the data in the example files above.
Actual output files use "SAKExperiment" as the base filename. This is followed by the participant code, the condition
code, the session code, and the block code, for example, SAKExperiment-P01-C01-S01-B01.sd1
.
Constructor and Description |
---|
SAKExperiment() |
Modifier and Type | Method and Description |
---|---|
static void |
main(java.lang.String[] args) |