|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectSAKExperiment
public class SAKExperiment
SAKExperiment - software for a text entry experiment using a scanning ambiguous keyboard (SAK).
A scanning ambiguous keyboard is a an on-screen virtual keyboard. The keyboard combines the important features of scanning keyboards (input using a single physical switch or key) and ambiguous keyboards (>1 letter per key). References 1 and 2 below describe the conceptual and design issues as well as the initial evaluations of SAK. Reference 3, 4, and 5 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:
Note: There is no setup parameter for block. The block number is generated automatically by the software.
phrases2.txt
is
used. This is the phrase set published by MacKenzie and Soukoreff in 2003 (click here).
d1phrases2-wordfreq.txt
which contains the core 9022
words and frequencies from d1-wordfreq.txt
, which is the word-freq file used in
other applications in this series. The file also includes additional words that are in
phrases2.txt
but not in d1-wordfreq.txt
. This is important since SAK
requires that all words entered are in the dictionary.
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 must wait and then press 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 Summary | |
---|---|
SAKExperiment()
|
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 |
---|
public SAKExperiment()
Method Detail |
---|
public static void main(java.lang.String[] args) throws java.io.IOException
java.io.IOException
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |