Home
Wireless Freedom!
Resources for the Disabled
 
 
The Hawking Project
Specifications
eLocutor v1
    Read Me
Introduction
The Menu Tree
Type
Templates
Scroll
Output
Edit
Commands
Notes
Download
  eLocutor v2
eLocutor v3
  Other Software
  ...and Hardware
  Institute
   
Who We Are
Site Map
Contact Us
 

   
 
 
 
 
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
 
 
 Home | Wireless Freedom! | Resources for the Disabled | Who We Are | Contact Us