Dasher Special Needs Guide
Dasher is designed on the principle of getting as much information as possible from the gestures you can make.
We can get information from whichever of the following is easiest for you:
Continuous gestures (conveyed via a joystick, trackpad, head mouse, or gaze tracker, for example) often achieve the highest rates of writing.
Discrete gestures (switches, button presses) may be able to convey information in three different ways:
- The time at which you press a button can convey information. (This idea is used in grid systems controlled by a single button.)
- How long you press a button for can convey information. (This idea is used in Morse code, where two durations are distinguished.)
- The choice of which button you press can convey information. (This idea is used in ordinary keyboards.)
7.1. Continuous gestures
Dasher's normal mode (mouse mode) is driven by a two-dimensional continuous steering gesture. Dasher also has a one-dimensional mode, for users who can control only one dimension.
Can you make one or two continuous gestures? If you can operate a joystick, mouse, trackpad, or rollerball, then you have a two-dimensional control. If you can point on a touch-screen then that's perfect too. Can you move your nose around? If you can shake your head, that's a one-dimensional control; if you can nod, that's two. A head-mouse can be quite cheap, and it is a convenient way to drive Dasher. (We recommend the SmartNav3 from NaturalPoint, which costs about $200, and works under microsoft windows only; this device used to be called the NavPoint TrackIR until 2002, when that brand name was transferred to a different device. We also recommend the Origin instruments Headmouse Extreme, which costs about $1000; it works as a USB mouse on any computer.) Can you waggle one finger or one foot? These head-mice can be used to track fingers and feet as well as heads. For a detailed comparison of SmartNav3 with Headmouse Extreme, please see http://www.inference.phy.cam.ac.uk/dasher/Headmouse.html.
If you are severely paralysed, the best option may be a gaze tracker. Do you have control of where your eyes are looking? With a gaze tracker we can write at 25 words per minute. Gaze trackers are quite expensive: we paid $2000 for the QuickGlance from EyeTech Digital Systems, and the Tobii eyetracker costs about $20,000. [We recommend both of these systems. You attach QuickGlance to an existing computer; Quickglance II costs about $4000. Tobii is a complete computer with built-in eyetracking cameras.] Dasher also works with the Eye response Erica, with LC's Eyegaze, and with Metrovision's gaze-tracker. All three of these systems are complete computers with eye-tracking cameras attached.
If joysticks, mice, rollerballs, and gaze trackers don't work, there may be a few other ways to convey a continuous one-dimensional signal. Lips and eyebrows should both work, though we don't know of any manufacturer selling appropriate devices. Breath is a one-dimensional signal too. If you can control your breath, it should be possible to make a breath mouse for you. We made our $22 breath mouse using a USB optical mouse, a belt, and some elastic, and our most experienced user can write at 15 words per minute by breath alone.
7.1.1. Starting and stopping
There are several ways of starting and stopping Dasher. Pressing a button (for example, the left mouse button or the space bar) is one option. But if you can not press any buttons, it's possible to start and stop using only continuous gestures: in the options menu, select “start on position”; and switch on “control mode”;. When control mode is switched on, the Dasher alphabet includes a special Control node (a bit like an Esc key on a keyboard), within which various control functions are available. When you are inside the control node, Dasher moves more slowly than normal, for safety. The control node options include `pause' and `stop'. Use `pause' if you are half-way through writing something, and want to pause for a moment. Use `stop' when you have finished. Pause and stop produce the same behaviour, except stop may cause other automatic actions, such as `speak on stop', or `copy the text on stop'.
When Dasher is paused or stopped, it can be restarted using any of the starting methods that are enabled. If `start on position' is enabled, then whenever Dasher is stopped a sequence of large targets will be displayed; you restart Dasher by pointing at (or looking at) the first (red) target, then the second (yellow) target. (We use two targets in sequence to make it difficult to start Dasher by accident.)
7.1.2. Recommendations for head-tracking
Many trackers have `smoothing' options, which determine the frequency with which the mouse position is updated; these options are normally used to smooth and damp down the mouse motion. For Dasher, we don't want such smoothing. We like instant, live, raw and jerky mouse coordinates. If there is a `smoothing' control, turn it right down.
The `gain' (sometimes called the `speed') of the head-tracker is also an important setting to adjust. Some trackers' gains can be adjusted in software. You can also adjust the gain by changing the geometry of your tracker: if you move the tracked dot from your forehead to the brim of a baseball cap, for example, then you roughly double the gain. Sitting closer to the tracker may also increase the gain. Find a gain setting that is comfortable. I like high gain because it allows me to steer with very small head motions.
7.1.3. Recommendations for gaze-tracking
For good results with gaze trackers, we strongly recommend that the gaze-tracker be made to be as responsive as possible. Many trackers have `smoothing' options, which determine the frequency with which the mouse position is updated and the number of successive gaze images used to estimate the mouse position. These options are normally used to smooth and damp down the mouse motion. For Dasher, we don't want such smoothing. We like instant, live, raw and jerky mouse coordinates. When you are navigating, your eye moves very quickly to the target you are interested in, and we want Dasher to respond instantly. The ideal settings for Dasher may be very different from the ideal settings for other software. Ask your eyetracker manufacturer to make it easy to change the settings when switching application.
Dasher has several options designed for use with gaze-trackers. We recommend using eyetracker mode (under Options/Preferences/Control). In this mode, the dynamics of Dasher are slightly different from standard dynamics, making error-correction easier by gaze.
If your gaze-tracker's calibration drifts with time, for example when your head moves, then you should select the Autocalibrate eyetracker feature. When this feature is switched on, Dasher keeps track of your steering and infers the vertical calibration error, and corrects for it. You can see this correction taking effect by noticing the vertical offset between the mouse position as displayed by Dasher (by the tip of the red line) and the gaze-tracker's mouse position (shown by the system's mouse cursor).
To avoid difficulties with the mouse being bounded by the top and bottom of the screen, we recommend choosing a window size for Dasher that is not full-screen in size. Place the Dasher window so that there is a margin above and below the Dasher canvas.
Technical note: As well as through mouse emulation, Dasher is able to receive tracking information from gaze trackers, head trackers, or similar systems directly by means of a system socket. This option can be configured in the 'Input Device' section of the 'preferences' dialogue.
7.2. Discrete Gestures
We have several versions of button Dasher, available in Dasher Version 4.
7.2.1. Are time-critical gestures not an option?
Some ways of conveying information make use of the timing of gestures. However, some people can't make gestures at a required instant. For example, spastics find it very difficult to do an action `exactly now!'
If time-critical gestures are not an option, go to Section 7.3 ― `Timeless' choices of Dasher.
If you can convey information by precisely timed gestures, go to section Section 7.4 ― Button Dashers that exploit timing.
7.3. `Timeless' choices of Dasher
So, you want to steer Dasher at your own pace. Can you make fairly-accurate continuous gestures, given time? For example, can you position a pointer accurately on a screen, then press a button to indicate that you are ready? Or can you touch a touch-screen fairly accurately?
- If so, try click mode. Go to Section 7.3.1 ― `Timeless' continuous Dasher: click mode.
- Otherwise try direct button mode or menu button mode. Go to Section 7.3.2 ― `Timeless' choices of Button Dasher.
7.3.1. `Timeless' continuous Dasher: click mode
In click mode, you position the mouse pointer where you want to go, then press a button when you are ready. Dasher then zooms in on the position you chose.
Alternatively, if you have a touch screen, a single touch on the screen initiates a zoom to that position.
7.3.2. `Timeless' choices of Button Dasher
How many different switches, keys, or buttons can you easily operate?
With just one button, the only timeless way to convey information is by the duration of your button-presses. Can you make a distinction between short presses and long presses? If so, you can use menu button-Dasher. Connect up your short press to the `menu' action, and your long press to the `select' action.
You can use menu button-Dasher. Connect one button to the `menu' action, and the other to the `select' action. If one button is easier to press, make that button the `menu' button.
If you can easily press two buttons, and, for special occasions, you are able to press a third button, you can use menu button-Dasher or direct button-Dasher.
- Set up menu button-Dasher as described above, and use the third button as your escape key -- to make Dasher go away, for example. [This feature is not currently provided within Dasher.]
- In direct button-Dasher, each button produces a particular navigation action such as `up', `down', or `back'. If you have 2.5 buttons, map the convenient two to `up' and `down', and the inconvenient button to `back'.
You can use direct button-Dasher or menu button-Dasher as described above.
- 4, 5, 6, or 7
With more than three buttons, you have the option to use direct button-Dasher with three, four, five, or six `forward' directions. Please try menu button-Dasher too, even though it uses only two buttons.
- 8 or more
Try direct button-Dasher and menu button-Dasher. With this many buttons, you also have the option of using a system like T9 -- the predictive-text system found on many mobile phones. You may wish to investigate Tapir, a disambiguating on-screen keyboard from the developers of Dasher.
7.4. Button Dashers that exploit timing
There are two Dasher modes which make use of precise timing information, and generally require fewer button presses than the nn-time-critical modes:
7.4.1. (One button) dynamic mode
When started, Dasher will zoom towards a point towards the top or bottom of the display. A short button press will switch the point of zoom to the oposite side. Text can be entered by pressing the button when the desired phrase reaches the edge of the display.
7.4.2. Two button dynamic mode
Dasher zooms continuously towards the centre of the screen, with the two buttons being used to shift the display up and down. The buttons should be pressed whenever the desired text is aligned with the two markers.
7.4.3. Correcting errors
In either dynamic mode, there are three options for error correction: using an additional button, long presses or multiple presses. In all cases these actions will switch to a mode where Dasher unzooms at a fixed rate. In this mode, one more press will stop Dasher and a second press will return Dasher to forward zooming.
- Copyright © 2010 The Dasher Project
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation.
UNIX is a trademark of X/Open Group.
Linux is a trademark of Linus Torvalds.
X Window System is a trademark of X Consortium, Inc.
Windows is a trademark of Microsoft Corp.
Macintosh and Apple are trademarks of Apple Computer, Inc.
All other trademarks are property of their respective owners.