|
|
| |
|
|
| |
|
|
| |
 |
|
| |
| Introduction
| The Menu Tree | Type
| Templates | Scroll
| Output | Edit
| CommandNotes | Download
| |
|
 |
|
| |
| Professor Stephen Hawking and
many like him can only operate a single button.
Their ability to communicate with the world
hinges on software that allows them to efficiently
enter text into a computer and have it spoken
for them, only through the operation of this
single button. For a software designer, this
represents an extreme in interface design. |
| |
 |
|
| |
| To work with such limited input,
the software presents you with a menu in the
form of a binary tree, where, at each node,
you can branch right or down. At every node,
the software pauses. If within a preset time,
you click, the right branch is picked, else
the highlighting moves to the node below.
The preset time is shown in the box marked
“jump interval” in milliseconds, and can be
changed by clicking the box with the mouse,
changing the value and clicking the tree once
again (clearly, for this action, Professor
Hawking requires a helper, but this is a setting
that needs to be done very infrequently).
For those with greater dexterity, the software
also allows the use of arrow keys and the
mouse to navigate the menu tree. The final
choice at a leaf level, however, can only
be made by pressing the Enter key.
To show you how to reach a specific menu
choice, we use the following notation:
To reach type/verbs/movement/go, you must
press Enter on the choice “Type”, then on
“Verbs”, then on “Movement”, then on “go”
- of course, since all these menu items
can be moved around, this documentation
only refers to the menu tree as delivered.
The software as it currently stands works
only with pure text files, which typically
have an extension .txt. The vocabulary and
command menu is also stored in such text
files, and can therefore be easily edited.
The software we have designed thus allows
you to easily modify the tree (careful,
though, when you delete nodes of the tree:
some are essential for the program to function,
as described below). Each vocabulary file
lists one level of siblings of the tree.
For instance, Start.text contains:
type.txt
scroll.txt
Edit.txt
commands.txt
filter.txt
Lines ending in .txt (or anything following
a stop) represent the root node of a sub-tree.
Such nodes are shown by the software after
stripping away the extension, but a + sign
ahead of the node name indicates that this
is a collapsed sub-tree. Pressing enter
on the node expands it, and takes you to
the first child of the node. If enter is
pressed on the leaf of a tree, that either
results in the entry of text into the middle
box, or a command as described below is
executed.
In some cases, what is displayed on the
menu tree may not be what you wish to have
typed: for instance, the node might say
“single line”, while what must be typed
are the carriage return and line feed characters,
ascii 13 and 10, respectively. To achieve
this, use the line:
Single line‘13‘10
The ‘ character is on the top left of most
IBM keyboards, and may be replaced by some
other, by changing the contents of the separator
text box. |
| |
 |
 |
| |
| To type text into the middle
box, select Start/Type. This has the following
subtrees:
Words.txt
punctuation.txt
keystrokes.txt
phrases.txt
clipboard.txt
templates.txt
where words.txt contains
Verbs.txt
Nouns.txt
pronouns.txt
prepositions.txt
articles.txt
These choices are easy to understand: they
all allow you to enter text into the middle
box, mostly a word at a time.
Let us take a look at nouns.txt names.txt
places.txt
home
boat
The file names.txt might contain a long
list, or a hierarchy of names, likewise
places.txt. Here, finally, we have words
not followed by .txt, home and boat. Clicking
on any of these, so-called “leaf” choices
under the Type hierarchy results in the
corresponding text being typed into the
middle box.
Most choices offered in the sample software
are individual words, but they needn’t be.
Phrases.txt describes a hierarchy of standard
phrases that can be used.
The software automatically inserts a space
between words. If you select “keystrokes”,
you can enter words and sentences a letter
at a time. “Clipboard” allows you to enter
text that was previously the subject of
a “Cut” or a “Copy” (see Edit below). The
clipboard has space for a hundred lines
(duplicates are eliminated), which are stored
in a file called clipboard.txt for use next
time the software is run. |
| |
 |
|
| |
| “Templates” are a feature designed
to speed up text entry, which allow you to
construct sentences and phrases similar to
the ones listed in templates.txt. If this
is a long file (and it should be), you can
limit the number shown to you. Only those
items beginning with the current contents
of the middle box are listed. In addition,
a filter can be set (using the Start/filter/set
filter command, which puts the current contents
of the middle box into the Filter text box).
If the filter box is not empty, the selection
under “templates” is further limited to only
those strings in which the contents of the
filter box can be found. Going to Start/filter/clear
filter will clear the filter. When a template
is selected, the software puts the selected
string into the “template” text box. From
this string, the first word is picked up,
and deleted from the template text box. If
this word is found in the vocabulary, the
software takes you directly to it, making
it easy for you to replace it with a nearby
equivalent. If the word is not found in the
vocabulary, it is directly added to the contents
of the text box. This process is repeated
until the template box is empty. From the
template “I love Delhi” you can quickly form
“We detest Delhi” when the temperature rises
:)
As an example, let us suppose that the
file templates.txt contains:
I love you
the boat goes to Delhi
what are the sentences we use frequently?
I want to go to Delhi
If the middle box and the filter box are
both empty, all four will show up under
templates. If the middle box contains the
word “I”, only the first and fourth sentence
show up, while if the middle box is empty,
and the templates box contains “Delhi”,
then the second and fourth sentences show
up as template choices. |
| |
 |
 |
| |
| This is an analogy of the way
this software works to allow you to edit text.
Do you know how editing used to be done
with audio tape? You had two clamping stations,
and you listened at one till the start of
the segment you were interested in cutting.
You then clamped the tape there, and listened
at the other clamping point for the end
of the required segment. You then cut the
tape at both points, inserted something
else there, whatever.
Imagine that the box on top is one spool
of text, and the box at the bottom the other.
At either end of the middle box are traffic
lights. When you scroll text up or down,
it tries to move past the lights. If the
light is red, text cannot pass, if it is
green, it can. To change the colour of the
lights, select an option under “open which
gate.” In this way, you maneuver into the
central box the segment of text you wish
to cut (and add to the clipboard) or copy
to the filter box.
The software allows you to scroll faster
or slower in either direction - a character
at a time (anything in the keystrokes.txt
hierarchy), a word (i.e. up to the next
space), up to the next punctuation mark
(defined as a character found in the punctuation.txt
subtree), or the next paragraph mark. You
select how much text each scroll action
results in, by going to Start/scroll/select
marker.
If the filter box contains any text, then
once a command to scroll is given, scrolling
continues until the contents of the filter
are found in the middle box. This might
take a while, so be patient. This acts like
a “Find” operation. |
| |
 |
|
| |
| We need to offer two basic types
of output at all times, viz., voice and text.
Text should be available in an environment
that allows for easy transfer to either mode,
hence the need for typical menu items as Cut,
Copy, Paste, etc to be easily accessible.
All other standard output modes will be controlled
from the application being used. Thus Communicator
will incorporate two built-in output modes,
and all standad platform output modes will
be accessed by invoking the commands built
into theccessible. All other standard output
modes will be controlled from the application
being used. Thus Communicator will incorporate
two built-in output modes, and all standad
platform output modes will be accessed by
invoking the commands built into the active
application. |
| |
 |
|
| |
| Under this sub-menu are three
items;
Backspace, which deletes the last character,
word, paragraph or text till the last punctuation
mark in the middle box,
Cut, which empties out the middle box, but
leaves a copy on the clipboard, while
Copy leaves the text in the middle box untouched,
merely copies it to the clipboard. |
| |
 |
|
| |
| The first choice in this sub-menu
is Speak.
It allows you to have the computer
speak the contents of the middle box,
or a “canned” sentence. These frequently spoken
sentences are listed in the file “frequent
sentences.txt”.
Note: Anything that is
spoken is added to the file mailmehtaatvsnldotcom.txt
- please mail this file occasionally to
mehta@vsnl.com,
so we get a better understanding of how
people use this software, and how the vocabulary
needs expanding.
The
next choice is Save, which
allows you to make the contents of the middle
box into the name of the file you are typing.
Another choice offered to you here is the
ability to save the contents under the selected
file name.
File
Selector allows you to find an
existing file to view or work on. It has
a Drive submenu, which
allows you to choose between the available
drives on the system. To move up and down
the directory tree, you
have the next choice, Directory. Here you
can either move up one level, or further
down the tree, taking one of the choices
proferred.
Having
selected the correct directory, you move
onto the File submenu,
which lists the .txt files in the selected
directory. Selecting a file results in saving
of the current contents of the displayed
text boxes, and their replacement by the
contents of the file just selected. A list
of recently used files is also maintained,
and can be found under “recent file.txt”
for quick recall.
The next sub-menu is Rare Ones,
which has a further sub-menu allowing the
user to change the vocabulary set in use.
The list of available extensions for the
Start file, i.e. txt, tst,
etc. are listed in “change context.txt”
Another “rare” choice is Show Tree,
which provides you, in the top text box,
a compact overview of the entire menu tree,
with, helpfully, only the word “tree” in
the middle box: in case you want to save
these contents to a file called “tree.txt”,
you can quickly go to the Save
menu, select “make file name”,
and then “Save File.” |
| |
 |
|
| |
I normally set the jump interval
to 1000 = 1 second. But in the version shipped
here, it is set to 2000, which gives you
more time to see what is happening on the
screen before you make the next click. Very
quickly, you will see that watching the
highlighting slowly make its way down a
long list of choices becomes boring. This
might give you an inkling of what it must
feel like in Professor Hawking’s shoes,
having to do this all day (if you fancy
yourself as a software designer, perhaps
you might use this time to think about how
the software could be made more efficient).
In addition, this might teach you the importance
of proper pruning of your tree, and give
you time to think about how. If you get
impatient, and the screen holds no more
mysteries for you, feel free to reduce the
jump interval, just remember to click the
tree when you are done. If your impatience
still isn’t satiated, you can cheat by using
the arrow keys and the mouse.
We will be grateful and will gladly acknowledge
any bugs you point out, and try to get rid
of them as soon as possible. Here and there,
you may find the software to be slow, or
unable to recover gracefully from errors.
At present, the software is best described
as in Alpha stage, so please do not use
it for “mission critical” applications yet,
just test it for us, and tell us how to
improve it. This is why the vocabulary we
provide is so limited: so you find it easier
to get an overview. If you add to the text
files, though, please let us have copies
for the benefit of others.
Coming
up next on this page and in future versions:
Directions for improvement in the
software
Multiple vocabulary sets for different situations
Saving and restoring settings for different
individuals using the same software
Increase in speed of operations that require
it
Ability to send text as e-mail
Ability to print
Ability to use fonts and formatting
Faster entry through more sophisticated
display and use of templates
Prediction of the next word likely to be
entered, via a database of previously entered
text
Automatic creation of templates from previously
entered text
Play sound files - this would allow you
to laugh in different ways, play the music
of your choice...
This software is distributed under the GNU
General Public License http://www.gnu.org/copyleft/gpl.htm
|
| |
 |
 |
| |
| You can
link here to downloads of both the object
code and the software application, or else
link here to simply download the software
in a zipped file format |
|
|
| |
|
| |
 |
|