Dasher download - step 2 of 2 |
The packages you requested are shown below. Please click on each package to download it.
Training texts should be installed in the same
folder as Dasher's alphabet files.
[On windows, in a folder with a name like
Program Files\Dasher\Dasher 4.6\system.rc
on linux, /usr/local/share/dasher/ ]
You can use the 'Back' button on your browser to return to the form if you wish to make more selections.
If any of the download links below do not work, please let us know the details.
|
Package name |
|
Click below |
Downloadstep2t.html 0000664 0000053 0006057 00000000273 07532521040 014154 0 ustar mackay dasher
Dasher is free software -
If you would like to support work on this Open Source project,
please contact David MacKay.
Fonts.html 0000644 0000053 0000024 00000006324 10336132555 012521 0 ustar mackay dialout FoldingPage Fonts
Fonts for Dasher
For Dasher to work in any language, your computer must have the right fonts
on board.
Examples
Here's how I got Malayalam working under linux:
-
I went to Alan Wood's
Fonts page,
which gave lots of links for Malayalam fonts.
I selected the
janamalayalam
link, downloaded their zip file, unzipped it, and put the resulting TTF
file into my ~/.fonts folder.
(You should make this directory if it does not exist.)
-
Then I typed fc-cache
and restarted Dasher.
Malayalam worked instantly. I didn't need to tell Dasher which font
to use, it just found it.
Behdad got Persian (Farsi) working on my computer by
installing ttf files from
FarsiWeb (go to Products, it's the first item.)
From
corefonts.sourceforge.net/.
on the other hand, you can download major fonts
from Microsoft, including Tahoma and Times New Roman. They may
not be the most beatiful fonts out there, but they do support
lots of languages (whatever is supported by Windows.) To extract
the fonts form the .exe files available there, you need a tool
called cabextract.
To get Gujurati working, I registered with Sun (using the link for
Saraswati from Alan Wood's site) and downloaded their Saraswati TTF file.
HOWEVER, Sun's download link hung my browser.
To avoid this happening again, I right-clicked on their link, selected Copy Link Location,
then used wget to get the file. It was worth the hassle because this font provided
all the Indian languages except Oriya and Sinhala.
For Sinhala, go here... http://sinhala.linux.lk/ or here
here
Problems and how to fix them
- Q
-
On some linux systems we find that when we switch to Hiragana,
most of the characters (pronounced ka ki ku ke ko, sa, chi, su, se, so, ...)
are rendered just fine, but the japanese characters whose pronunciation is
"a, i , u , e , o , and n"
are rendered as LATIN characters
"a, i , u , e , o , and n".
So it seems some stupid font is asserting that it can provide the character
pronounced "a", and is getting higher priority than the existing
correct japanese fonts!
Would love to know how to override this behaviour.
- A
-
on such a system, you can figure out what font is being used
to render those characters by simply following these steps:
- run gucharmap
- find the misbehaving character
- right click on it, an enlarged view appears. In the box is
also written the name of the font used.
When you know which font is behaving bad, you can either remove
it, or use some fontconfig configuration to override the setting.
A useful linux utility for looking at fonts is gucharmap.
History.html 0000664 0000053 0000024 00000012654 10336147425 013100 0 ustar mackay dialout SectionPage History
History of Dasher
Who's who
-
Dasher is brought to you by the
Inference Group, led by David MacKay,
who is a Professor in the Department of Physics and
cofounder of the information technology company,
Transversal.
David MacKay created the first Dasher prototype in 1997.
-
David Ward developed the research version of Dasher
from 1998 to 2002; for his PhD,
David turned Dasher into a working software system,
created numerous enhancements to it,
and conducted experiments to quantify how well it works.
David now works for Spiral Software, Cambridge.
-
Alan Blackwell, a lecturer in the Computer Laboratory,
helped us design the experiments.
-
Phil Cowans and Tim Hospedales have
also made contributions, especially to the eyetracking work.
-
During Summer 2002, the Open Source software package was
prepared for release by Iain Murray. Iain started
a PhD in computational neuroscience at UCL in October 2002.
-
Phil created Dasher version 3 for GNU/linux.
Hanna Wallach worked on version 3 for the ipaq running linux.
-
In December 2002, the Dasher project received
funding from the Gatsby foundation to support
Matthew Garrett as project manager and developer.
The project is also being joined
by experts from the free software community, to
contribute further enhancements and carry out the
ports to a wider variety of computer platforms.
- During 2003-2005, Chris Ball took over as project manager and developer.
- Keith Vertanen develops Speech-Dasher (2003-2007).
- During Summer 2005 several programmers joined the Dasher project.
Tadashi Kaburagi contributed the Asian language model for Dasher version 4.
Brian Williams added game-mode for version 4.
Chris Hack added automatic speed control for version 4.
Ingrid Jendrzejewski did experiments on Button Dasher.
Frederik Eaton fixed a cursor-display problem.
- From October 2005, Piotr Zielinski joined the Dasher team as
developer of Ollie Williams's gaze-tracking, head-tracking, and gesture tracking software,
and developer of two-dimensional Dasher.
-
From January 2006, Phil Cowans is Dasher project manager and developer.
Versions of Dasher
The principal working versions of Dasher are as follows:
-
Version 4.0.* - for GNU/Linux and windows. (Released October 2005)
-
Supports any unicode alphabet. Includes Asian language support, button modes, game mode,
automatic speed control.
-
Version 3.0.* - for GNU/Linux and windows and MacOSX.
-
Supports any unicode alphabet. All major languages of the world are supported.
- Version 1.*.* - C
and tcl - for GNU/Linux and windows desktops.
- Uses ppm as the language model. Driven by mouse.
written by David Ward.
Version 1.*.* supports several European languages and Japanese (Hiragana).
English version can support
capital letters and lower case.
This version's language model can be instructed both by
loading an example input file and by loading a
dictionary of valid spellings.
- C - for pocket PC
- Driven by stylus on touch-screen.
written by David Ward.
This version includes capital letters, numbers, and a
number of punctuation characters. Only English is supported.
- Version 2.*.* - C
- for GNU/Linux and windows desktops
-
Version 2.*.* supports English, upper and lower case,
punctuation and numbers.
- Eye-Dasher
- Driven by mouse that is controlled by eyetracker.
written by David Ward.
- Daishoya (JDasher)
- Japanese-language version of Dasher (Hiragana)
- included in the
C
and tcl version
- tcl - Original prototype
- Demonstrates the relationship to arithmetic coding;
includes a crude bigram language model.
written by David MacKay.
Runs on all platforms that support tcl (GNU/Linux, windows, some browsers).
A more detailed history of Dasher is available on request from David MacKay.
We've also got links to other groups working
in the same field.
Images.html 0000664 0000053 0000024 00000003407 10556143576 012647 0 ustar mackay dialout FoldingPage Images
These images are provided for the use of journalists.
Our eyetracker is a system from Eyetech
called Quickglance.
Screenshot of version 3.2 of Dasher
The user is writing `Any sentence can be written'.
Languages.html 0000664 0000053 0000024 00000006273 10421416477 013346 0 ustar mackay dialout SectionPage Languages
The Dasher concept works with almost any language.
|
Thai. Dasher can
generate complicated multi-part characters
by combining the Unicode components.
|
Many languages are supported in Dasher version 3,
and new languages can be enabled by adding an appropriate
alphabet.xml file. As of November 2005, the only major languages that
are not supported in Dasher version 3 are Japanese and Chinese; for these
two languages we have partial solutions in version 3, and we intend to have complete
solutions in version 4.
We encourage you to personalize Dasher by supplying a training file
written in your own style.
Instructions for Dasher versions 3 and 4
With version 3, as with version 1.6, every language requires a
text file full of natural writing (about 300K or more); a specification of
the alphabet of the language is also required.
Version 3 works in Unicode.
Many languages are supported in Dasher version 3.
As of Wed 14/7/04, over
sixty Alphabets are provided with Dasher.
All the latest alphabet XML files are
in this directory,
and there is
an organized summary of the alphabets by region and language group.
Training texts are provided
on the download page for about fifty European,
Asian, African, and Semitic languages.
[Here is an alternative link to the training text directory.]
To switch language, select Options->Alphabet.
More advice about how to create a training set
How Japanese Dasher works
How Chinese Dasher will work
About combining characters in Dasher
Further links
Font information for Dasher users.
Indo-European languages tutorial website
| Excellent unicode character site by Alan Wood,
who also has a unicode
Fonts page.
This mimer website was helpful to us in making alphabet files,
and this advice on European alphabets.
To convert UTF8 documents to robust HTML (for webpages)
we use this convertor by Iain Murray.
MoreScreen.html 0000664 0000053 0006057 00000002677 10556143644 013331 0 ustar mackay dasher FoldingPage More Screenshots
Screenshots
The above image
shows the user writing "demonstration" and nicely
illustrates the nearby alternatives such as
"demolished", "demonstrated that",
"demonstrative", and "demoralise".
[
A similar image is available with larger fonts.]
In the image below, Dasher was trained on a different language
database, so the easy-to-write alternatives (when writing "this is a demonstration")
include
"this is a demi god", "democratic", "democritus",
"demon", and "denial of..."
More images suitable for journalists are here.
| Many more images,
including screen-shots of Dasher in lots of languages
Further screenshots, including
the pocket PC version
can be found on
David Ward's
Dasher site.
MoreTips.html 0000664 0000053 0000024 00000007543 10336077331 013200 0 ustar mackay dialout HiddenPage More Tips
Tips for Novices ... continued
Common errors.
Often, a beginner who is trying to find a particular
letter will drive the display forwards fast while hunting
for the letter. The rule of the road for Dasher users
is just like that for car-drivers: don't drive forwards
until you have identified where you want to go!
So, after you have found the first letter of your sentence,
and zoomed towards it, please SLOW DOWN and don't proceed
any further into this first letter's square until you
have figured out where you should be steering towards.
Your next letter is there, immediately inside the
first square you have entered. The letters are ordered
alphabetically. If you can't see your letter, figure out where it
must be on the basis of the letters you can see. Then point to
the right place and enter the second letter's square.
| Figure 1: writing 'I once had a whim'
|
Here is an example.
Imagine you want to write 'I once had a whim'.
You write 'I once ha...' and the Dasher display
looks like figure 1.
You want to write 'had'. What should you do?
There are lots of letter ds on the screen,
and all of them are rather small.
| Figure 2: some alternative letter ds, with
a beginner's error highlighted.
|
The five arrows in figure 2 show some of these
ds. The purple arrow points
to a d that we can't see yet, but
we know it must be there because we can see 'a', 'b', and 'c'
above it.
A common beginner's mistake is to keep rushing forward and spot any
of these letter ds, and zoom into it.
For example, figure 3 shows what happens if the user
zooms towards the d marked by the top red arrow of figure 2.
| Figure 3: selecting the wrong letter d.
|
If you go in this d, you are writing 'I once head...'.
The other ds labelled by red arrows correspond to
writing 'I once heard...'
and
'I once hedge...'.
It is crucial to understand that there is only one correct d,
namely the d that is immediately inside the
blue box corresponding to letter `a' in the sequence 'I once ha'.
That blue box is highlighted in figure 4.
| Figure 4: the correct letter d is the one marked by
the green arrow. This example illustrates the rule "always keep going inside
the box that you want" -- in this case, the blue box
associated with the letter a of the word 'had'.
|
If you ever leave that blue box (as we did in figure 3)
then we lose the letter 'a'.
Yet more tips for beginners...
NS.html 0000664 0000053 0006057 00000000521 07532506555 011575 0 ustar mackay dasher FoldingPage New Scientist
Dasher in the News
New Scientist, 9/5/2002, managed creatively to modify dasher's display so that the letters are
no longer in alphabetical order.
News.html 0000664 0000053 0000024 00000016343 11247425323 012350 0 ustar mackay dialout SectionPage Press coverage
Dasher in the News
September 1 2009
-
Digital Planet, BBC has a long
feature on Dasher being adapted for use with a mobile phone tilt sensor by
Kevin from
IBM Hursley.
The Dasher segment is from minute 9.00 to 15.00 in the show.
July 13, 2006 - Techdigest:
Dasher, A Flasher Way To Write
8 February 2006 Dasher in
'Shambles' newsletter. (Shambles is an electronic newsletter for international schools.)
January 2006: `VIM' press release by Cambridge Engineering Department
Sat 14/1/06 Learn 4 Life featured Dasher on their front page, including a 12-minute video.
January 2005:
Dasher
is part of the winning entry
in
the NESTA Futurelab Design Challenge 2005.
This page has video.
The project with Dasher in it is called Kampus.
Jan 2005: Dasher
was featured in `art_meets_media' event in Japan
Nov 2004:
Silicon.com mentions Dasher among other exciting Cambridge innovations
October 2004:
Mick Donegan's presentation of the
DECO project
(Dasher Eye Control Optimisation Project)
at the ISAAC conference
in Natal, Brazil,
won the award best platform presentation.
August 17 2004.
Dasher is mentioned in
a news article about
Seth Carey, a person living with ALS.
November 2003: Linux magazine
October 2003: Linux User (German)
Linux User & Developer (issue 32) has a three-page spread on Dasher (p69-71). Also, the EXPO review on page 32 says
`many visitors were particularly impressed by Dasher, a truly
innovative piece of software that few
had known about before.'
Dasher will be on their cover CD in a future issue.
Linux Magazine also has a
brief mention of Dasher, and a screen shot:
`Rising stars: The highlights of the show for me were the dasher project
and the unbelievable small firewall hardware.' (138K pdf)
Gazeta Wyborcza (Polish)
|
|
Independent |
Telegraph (registration required)
|
CNN (europe)/
|
CNN
|
BBC News online
|
dagbladet (Norwegian)
|
BBC Look East - 2.4Megabyte WMV file
|
Cambridge University news
|
Guardian
|
Physics web
|
Slashdot - again!
|
New Zealand Herald
|
The Economist:
No-touch typing
It is now easy to type by eye
Aug 24th 2002
|
MSNBC
|
La Nacion, Argentina
|
British Satellite News (found by searching for Dasher at www.bsn.org.uk)
|
Informatica, Brazil
|
EuroNews (Digital Satellite Channel) on Fri. 6/Sept/2002 - Direct link to video clip
|
TRN magazine - `software turns reading into writing'
|
New York Times
|
Dutch news featured Dasher
(link to article is now dead)
|
Science & Vie Junior (a french magazine) October 2002, issue 157.
|
i-uk (Foreign and Commonwealth Office)
|
Plus magazine
|
Dasher on Neural.it (was on front page on Sat Jul 20 2002)
The Financial Times, February 2002
Novice.html 0000664 0000053 0006057 00000004342 07532450422 012474 0 ustar mackay dasher Page Three-page explanation
Three-page explanation of Dasher
Imagine a library containing all possible books,
ordered alphabetically on a single shelf.
Books in which the first letter is "a" are
at the left hand side.
Books in which the first letter is "z" are at the right.
In picture (i) below,
the shelf is shown vertically with "left" (a) at the top
and "right" (z) at the bottom.
The first book in the "a" section
reads "aaaaaaaaaaaa..."; somewhere to its right are
books that start "all good things
must come to an end...";
a tiny bit further to the right are books that
start "all good things must come to an enema...".
When someone writes a piece of text, their choice
of the text string can be viewed as a choice of a book
from this library of all books - the book that contains exactly the
chosen text.
How do they choose that book? Let's imagine they want
to write "all good things..."
First, they walk into the "a" section of the library.
There, they are confronted by books starting "aa", "ab", "ac,.... "az"
[Picture (ii)].
Looking more closely at the "al" section, they can find books
starting "ala", "alb",... "alz"
[Picture (iii)].
By looking ever more closely at the shelf, the writer
can find the book containing the text he wishes to write.
Thus writing can be described as zooming in on
an alphabetical library, steering as you go.
This is exactly how Dasher works, except for one crucial point ...
Novice2.html 0000664 0000053 0006057 00000002676 07532450656 012577 0 ustar mackay dasher HiddenPage Second page
....
This is exactly how Dasher works, except for one crucial point:
we alter the SIZE of the shelf space devoted to each
book in proportion to the probability of the
corresponding text.
For example, not very many books start with an "x", so we devote
less space to "x..." books, and more to the
more plausible books, thus making it easier to find
books that contain probable text.
Here is the corresponding sequence of pictures
of the library in Dasher. (The character "_" denotes the space character.)
Dasher can be trained on examples of any writing style,
and it learns all the time, picking up your personal
turns of phrase.
OldDownload.html 0000664 0000053 0000024 00000006427 07707343604 013653 0 ustar mackay dialout HiddenPage Download
Download Dasher or Jdasher
Dasher is free to try out.
This is the old download page. Use this link to return to the new download page.
You can download executables for Linux PC, Windows PC, and pocket PC
from
David Ward's
download page.
Novices, when you have downloaded Dasher, please
read the tips for new users.
Please send us feedback by one of the
3 methods listed here.
The source code will be released under an Open Source license
in late Summer 2002.
The capabilities of the various versions of Dasher are listed below.
The Japanese Windows version of Dasher requires that the MS Gothic fonts
be installed (usually in c:/windows/fonts/). The font file is here.
[One way of installing the fonts is:
Control Panel. Fonts. File ->Install New Font.]
Versions of Dasher
The principal working versions of Dasher are as follows:
- Version 1.*.* - C
and tcl - for linux and windows desktops
- Uses ppm as the language model. Driven by mouse.
written by David Ward.
Version 1.*.* supports several European languages and Japanese (Hiragana).
English version can support
capital letters and lower case.
This version's language model can be instructed both by
loading an example input file and by loading a
dictionary of valid spellings.
- C - for pocket PC
- Driven by stylus on touch-screen.
written by David Ward.
This version includes capital letters, numbers, and a
number of punctuation characters. Only English is supported.
- Version 2.*.* - C
- for linux and windows desktops
Version 2.*.* supports English, upper and lower case,
punctuation and numbers.
It will be released as Open Source in late Summer 2002.
- Eye-Dasher
- Driven by mouse that is controlled by eyetracker.
written by David Ward.
- JDasher
- Japanese-language version of Dasher (Hiragana)
- included in the
C
and tcl version
- tcl - Original prototype
Demonstrates the relationship to arithmetic coding;
includes a crude bigram language model.
written by David MacKay.
Runs on all platforms that support tcl (linux, windows).
Others.html 0000664 0000053 0000024 00000006216 10430147174 012674 0 ustar mackay dialout HiddenPage Other groups
Other groups working on communication systems related to Dasher
Other Dasher-like interfaces written outside our group
- Mathis's educational Liver site has a dynamic navigational java tool.
- Someone showed me another dynamic zooming and contracting webbrowser, but I forgot its name.
-
A "Circular" version of
dasher, written in Java (no longer available)
While we appreciate the hommage to our work, we think this
implementation throws away the essential feature of dasher,
namely information-efficiency. The user is able to zoom in on
inter-circle regions that do not correspond to any string, so
bandwidth is continually wasted by the user's having to steer (redundantly)
into the coding regions.
Other groups working on eyetracking for text-entry
http://www.itu.dk/people/malte/eyeTrackEng.html
http://www.ph.tn.tudelft.nl/~ed/ELS-Handi.html
Other predictive text entry systems for miniature computers
Other accessibility organizations
Products
Ergonomic computer office furniture. Assistive
technology products for people with special needs. Accessibility
products such as text to speech. Speech recognition that aid the blind
and those with low vision in the office and at home workstations. Our
mission is to help you prevent computer related injuries. Avoid RSI
(repetitive strain injuries) by building ergonomic computer workstations.
|
Head / Eye Controlled Devices
Press.html 0000664 0000053 0000024 00000137002 07636640621 012533 0 ustar mackay dialout SectionPage Press Information
Press release, 21 August 2002
The eyes have it
Writing fast without a keyboard
A new text entry system developed at Cambridge University could transform computing for people unable to use a normal keyboard.
The text entry system, called Dasher, designed by David MacKay and David Ward in the University's Department of Physics, can
be controlled by an eyetracker - a camera that tracks where on the screen the user is looking.
'The software works like a video game in which the user steers ever deeper into an enormous library,' explained Dr MacKay.
'A language model is used to shape this library in such a way that it's quick and easy to select probable sequences of characters and hard to make spelling mistakes.'
The system, which is described in today's Nature (22 August 2002), is much faster than any alternative writing systems driven by an eyetracker.
Experiments show that with practice, Dasher can produce up to 25 words per minute. Users writing with other eyetracker-based techniques, using on-screen keyboards, can produce only 15 words per minute.
'Not only is this faster than any alternative writing system driven by an eyetracker, the frequency of spelling mistakes is about five
times smaller - and the new system is also less stressful to use,' added Dr MacKay.
Dasher is distinctive because it is controlled by continuous pointing
gestures, so it uses humans' natural ability to make high-precision
analogue movements. A keyboard, where the hands use all-or-nothing
movements to produce text, wastes this ability.
Dasher also makes no
distinction between word completion and ordinary writing. Other
writing systems will suggest completed words in a separate part of the
display and the user has to point or stare at them to choose
them. Dasher's suggestions are integrated seamlessly into the writing
process. The language model adapts to an individual user's
writing style, so that sometimes several words can be written with a
single glance.
Dasher will be particularly useful for computer users who are
unable to type using a conventional keyboard. Because it can be driven
using any pointing device - mouse, rollerball, touchpad, or eyetracker
- it is also useful for handheld computers or mobile phones where
there is no space for a keyboard. It also has potential as an
input system for other languages, such as Japanese.
David MacKay and
David Ward plan to develop Dasher as an `Open Source' software
project, like GNU/Linux.
Notes for Editors:
'Fast hands-free writing by gaze direction', by David J. Ward and David J.C. MacKay, will be published in Nature on 22 August 2002.
For more information about Dasher, including video demonstrations,
and images look at:
http://www.inference.phy.cam.ac.uk/dasher/.
Further information for the press is available online.
For further information please contact:
David MacKay, Department of Physics,
University of Cambridge.
Tel: 01223 339852; e-mail: mackay@mrao.cam.ac.uk
Alison McFarquhar, Press and Publications Office, University of Cambridge.
Tel: 01223 332300; e-mail: am353@cam.ac.uk
Cambridge University's press office.
EndPage
Alias QA.html
FoldingPage Further Press Info
Press Information
Released 1900 hrs
London time / 1400 US Eastern Time, 21 August 2002
Some frequently asked questions
-
Why did you invent Dasher?
-
I (David MacKay) was convinced that standard text-entry systems (such as
ten-finger keyboards) are very inefficient - they don't make
use of the predictability of natural language,
and they waste our capabilities of making high-precision
gestures.
I believed that by starting from a principled foundation - namely
information theory - we could make completely new writing systems
that could have hardware much smaller than keyboards, and yet work
nearly as fast,
and that could be integrated with pointing systems such as eyetrackers.
-
Who is Dasher aimed at?
-
There are several different groups of people who will
find Dasher useful. What they all have in common is that
they want an alternative to the regular ten-finger keyboard.
The largest group of people who can't use full-size keyboards
are palmtop computer users.
Many people who've downloaded the version of
Dasher for pocket PC say they find it
easy to learn and enjoyable to use.
-
The group for whom we think Dasher offers the biggest
benefits are people with special needs.
Many people who can't use a ten-finger keyboard, but
who can use a regular mouse, joystick, roller ball, touch screen,
or head-mouse
(and who can see their computer screen),
will find Dasher useful.
Within 10 minutes, such users
can write with Dasher at speeds in the range of 5 to 15 words per
minute. After 60 minutes of practice, writing speeds range from 15
to 25 words per minute. With further practice,
39 words per minute can be reached.
For severely disabled people who cannot use
any of the above pointing systems, but who do have the
use of their eyes, Dasher offers big potential benefits
if it is used with an eyetracker. With practice, writing
speeds of 20-25 words per minute can be achieved.
Another group for whom regular "qwerty" keyboards
are inconvenient are Japanese computer users.
The roman alphabet is unfamiliar to many of them, so writing
in Japanese via a roman keyboard is cumbersome.
Dasher can be used in almost any language, and we
have made a Japanese prototype that allows one to write in
the phonetic Hiragana alphabet.
-
What gave you the idea for the inverse-arithmetic-coding interface?
-
I (David MacKay) was on a bus to Denver airport with Mike Lewicki on
December 7th 1997.
I was entering something in my PDA (a Psion 3a, which has a small qwerty keyboard),
and Mike commented `gee, that thing is so big!'
And this set us thinking, `how could we make a smaller PDA, given that the
limiting thing is the keyboard?'
We brainstormed about how to make a device with a tiny display mounted
on a pair of glasses and with an input device no bigger than 2cm by 2cm,
which could be attached to the lapel of your jacket. You'd drive it
with your finger.
We were convinced that we could make something much more efficient than
a regular keyboard; the keyboard is inefficient for
two reasons. First, in ordinary writing, every character must be entered by
a distinct finger-gesture; but ordinary text is highly redundant - highly
predictable. The information content of ordinary text
is only one or two bits per character. So one of our aims
was to incorporate a language model into the heart of the text entry
device to exploit this predictability and reduce the load on the user.
Second, human fingers, although they are called `digits',
are analogue devices, capable of fine continuous
gestures. The clunky keyboard throws away our ability to make
high-precision gestures by forcing us to make binary gestures
as we tap the keys. We estimated that a single finger can in principle
generate information at a rate of about 24 bits per second.
If we could find a new way to couple a single finger (producing
information at 24 bits per second) to a really good language model
(which knows how to compress text into one bit per character)
then perhaps we could write at 24 characters per second!
At this point I had the idea of making an inverse-arithmetic-coder.
The user could steer the interface with two-dimensional pointing,
on a 2-d trackpad for example;
and in fact since the user would be looking where they were
going, we didn't even need the trackpad: we could use an eyetracker
to obtain the same steering information.
Thus was born the idea of `Dasher'. (This name was Mike's suggestion.)
Mike reckoned the best way to write a prototype would be in the
Tcl language, and by the time we got to Denver airport, Mike had
taught me enough Tcl that I had knocked together a primitive
zooming interface.
Within another week I had finished the first prototype.
I had an additional motivation for making this prototype of Dasher:
since Dasher is an inverse arithmetic coder, it served as
a handy teaching aid for teaching arithmetic coding in
my Senior course on Information Theory, Pattern Recognition,
and Neural Networks.
I've used it to teach arithmetic coding every year since January 1998.
-
How does the text entry method work? Can you describe it so I can picture it?
-
It's hard to explain in words. Even with pictures, it's hard to explain!
(An online explanation with pictures can be found here)
It's easiest to explain by a live demonstration.
Anyway, here goes.
Imagine a library containing all possible books,
ordered alphabetically on a single shelf.
(Yes, I mean all possible books. This library
is sometimes called the Library of Babel.)
Books in which the first letter is "a" are
at the left hand side.
Books in which the first letter is "z" are at the right.
The first book in the "a" section
reads "aaaaaaaaaaaa..."; somewhere to its right are
books that start "all good things
must come to an end...";
a tiny bit further to the right are books that
start "all good things must come to an enema...".
When someone writes a piece of text, their choice
of the text string can be viewed as a choice of a book
from this library of all books - namely, the book that contains exactly the
chosen text.
How do they choose that book? Let's imagine they want
to write "all good things..."
First, they walk into the "a" section of the library.
There, they are confronted by books starting "aa", "ab", "ac,.... "az"
Looking more closely at the "al" section, they can find books
starting "ala", "alb",... "alz"
By looking ever more closely at the shelf, the writer
can find the book containing the text he wishes to write.
Thus writing can be described as zooming in on
an alphabetical library, steering as you go.
This is exactly how Dasher works, except for one crucial point:
we alter the SIZE of the shelf space devoted to each
book in proportion to the probability of the
corresponding text.
For example, not very many books start with an "x", so we devote
less space to "x..." books, and more to the
more plausible books, thus making it easier to find
books that contain probable text.
The result is that instead of having the laborious feeling of
selecting one letter at a time - as on a typewritter -
the user has the feeling that whole syllables, whole words,
even whole phrases, are simply leaping towards him.
The user steers by pointing where he wants to go. The display zooms
in towards wherever the user points.
And because the user is typically looking where he wants
to go, it's not essential for the user to point; we can simply
track his eyes and use gaze direction as the pointer.
-
How does arithmetic coding work? Can you describe this so I can picture it?
Arithmetic coding is a beautiful text compression method.
It normally takes me a one-hour lecture to explain it.
Imagine a ruler (a straightedge) of length one foot.
Put a mark half-way down it. Label the left half "0" and the right half "1".
Now halve the left half, and label the two quarters "00" and "01".
Similarly, halve the right half, and label the two quarter "10" and "11".
Now we have defined six intervals: "0" and "1"; and "00", "01", "10", and "11".
We can keep subdividing the last four, and get eight intervals such as "000" and "101".
Thus, any little chunk of ruler can be associated with a binary string.
Now, text compression depends on there being redundancy
in the text, and any redundancy can be described by a probabilistic model,
which says what the probability of the first character in the document is,
and what the probability of the second is, given the first, and so forth.
Arithmetic coding assumes that you have got such a model from somewhere.
Let's take the predictions of the probabilistic model: say the predictions
for the probabilities of the first character (a,b,c,....z) are P(a)=0.05;
P(b)=0.02; P(c)=0.03; ... P(e)=0.10; ... P(t)=0.20; ....
We can use these probabilities to slice up the ruler. The left-hand 5%
of the ruler is called "a"; the next 2% is called "b"; and so forth.
Then we can subdivide the ruler's "a" portion into "aa", "ab", "ac",...
in proportion to the probabilities assigned by the probabilistic model
when we ask `assuming the first character is an "a", what's
the probability of the second character?'
In this way, every possible string of characters is associated with a
little fragment of ruler. Then the arithmetic coding method simply
encodes the given string by finding the shortest binary string
associated with the same chunk of ruler.
-
How does the model adapt to the writer's language?
-
We use a language model called PPM (prediction by partial match).
This language model makes its predictions by counting how often each
letter occurred in similar contexts in the training text.
The model can easily be adapted by adding whatever the user writes
to the training-text database.
It works with almost any language.
-
How tiring is the method for the writer's eyes?
-
We can't imagine a more user-friendly method for writing with
one's eyes. It's similar to driving a car. When you drive a car,
your eyes spend much of the time looking at the point that you want to drive
towards. So in principle, you could imagine getting rid of the
steering wheel and simply having the car steer towards wherever
your eyes are looking. This hands-free driving system would
not be any harder on the driver's eyes than regular driving.
Similarly, writing with Dasher feels almost effortless. You simply look
on the screen for the first syllable you want to write; it zooms past you,
and the next possible syllables appear; most of the time, the next
one you want is easy to spot, and you spot it, and it zooms by, and
the next options appear. No conscious control of the eyes is needed.
Using simple and cheap eyetrackers, for any application, can be tiring
because the eyetrackers can be confused by a blinking eye or poor
calibration. However, this is a problem of those eyetrackers, not
Dasher.
-
How fast is the method compared to other text-entry methods?
-
Our paper,
Fast Hands-free Writing by Gaze Direction,
published in Nature on August 22 2002, describes
a comparison of Dasher-driven-by-an-eyetracker
with an on-screen keyboard, with word-completion, driven by an eyetracker.
Dasher users could write at up to 25 words per minute
after an hour of practice.
On-screen keyboard users could write at only 15 words
per minute after the same time. Moreover, the error rate when using the
on-screen keyboard
was about five times that of Dasher.
It's hard to make spelling mistakes with Dasher, because the language model
makes it easy to select correct spellings.
Speed and error-rate are not the only important factors.
Users who tried both systems
reported that they found the on-screen keyboard more
stressful for two reasons. First, one feels uncertain
whether an error has been made in the current word (the word-completion feature
only works if no errors have been made); one can spot an error only
by looking away from the keyboard. Second, at every character, one has to decide
whether to use the word completion or to continue typing; looking
in the word-completion area is a gamble since one cannot be sure
that the required word will be there; finding the right completion requires
a switch to a new mental activity.
In contrast, Dasher users
can see simultaneously the last few characters they have written
and the most probable options for the next few. And
Dasher is a mode-free device:
it makes no distinction between word-completion and ordinary writing.
We have also compared Dasher, driven by a mouse, with
other pointer-based text-entry systems.
All users get faster with practice, and expert writing speeds,
using a mouse, have reached 39 words per minute.
This is not as fast as full, ten-finger typing speeds on a full-size keyboard,
but of course we require neither a bulky keyboard nor the two hands required
to use it. We are using only one finger!
-
How long does it take to learn to write English with Dasher?
We can tell you results for the mouse-driven version of Dasher,
and for the eye-tracking version.
-
Using a mouse to steer: Within 10 minutes, novice users of Dasher
can write in English at speeds in the range of 5 to 15 words per
minute. After 60 minutes of practice, writing speeds range from 15
to 25 words per minute. Our most experienced Dasher user, David Ward,
can write at 39 words per minute.
(Some Experimental results online)
-
With the eye-tracker, novices can write English at 7 words per minute
after 10 minutes, and at 12-15 words per minute after 60 minutes
practice. Users with more experience of Dasher can write at 20-25
words per minute.
-
Can you describe a person writing a couple sentences using your method vs. using the standard on-screen keyboard?
When you use a standard on-screen keyboard,
you have to stare at the first character you want
for a specified dwell time (half a second, say), then
stare at the next character, and so forth. This feels
terribly slow and tiring. Eyes did not evolve
to press buttons! If you reduce the dwell time,
it still feels slow and tiring, though not quite so slow
as before; but the reduced dwell time leads to errors,
because you accidentally `dwell' on incorrect keys.
To speed up your writing, you have the option of
looking at a small number of extra keys at the
top of the keyboard in which word-completions are
offered. Because you can only read what you are looking
at, the only way to find out what word-completions are
on offer is to make the decision to go and look
in this word-completion area. You then have to scan around,
trying not to dwell for too long on any displayed word,
and either select the right word, if you find it, by staring
at it, or give up and revert to typing. If you revert to typing,
you had better remember what letter you just got to! You can
remind yourself what letter you got to only by looking in
another area of the screen.
It's hard to know if you have made errors when typing,
so the value of word-completion is reduced.
It's likely you'll spell a number of words wrong in your sentence.
When you write the same sentence using Dasher, the initial display
shows all characters a-z vertically. You look at
the first character of the sentence, and the display zooms
in on that character, revealing continuations of the sentence
inside the first character; you look at the continuation you want,
and the display zooms in on that. The whole process is continuous.
There are no discrete acts of selection. Just a little to the left
of where one is looking, one can see the characters one has already
chosen queuing up to the left; to the right,
one can see possible continuations, arranged alphabetically.
It feels like you're being offered word-completions,
and at the same time, what you're doing is writing by selecting
letters from the alphabet.
Errors are rare, once you have used Dasher for an hour or so. If you do
make an error, you typically notice right away, because
the model doesn't predict the characters you want to write next.
You can correct errors by backing up -- looking to the left of the
screen instead of the right -- then going forwards again.
-
What were the technical challenges you had to address in order to make Dasher work?
-
David Ward did the hard work of turning the prototype into
a fast, useable, effective, and beautiful piece of software,
and testing it.
Important issues were
- the trade-off between
using the CPU to refresh the moving image on the
computer screen, and using the CPU to compute additional predictions
of the language model;
- the details of nonlinearities in the rendering
of the screen-image and nonlinearities in Dasher's
dynamics. The original linear version worked OK, but
David managed to enhance the maximum writing speed substantially
by introducing clever nonlinearities.
The limiting factor in the eyetracking version of Dasher
is the resolution of the eye-tracker.
-
Was there anything surprising about the results?
-
We were delighted with how much faster we can write with
Dasher and an eyetracker than the writing speeds many disabled
computer users report. We know of one user who can write at only
6-9 words per minute. We hope that he'll give Dasher a try, because
it can probably triple his writing speed.
-
You say Dasher produced less spelling errors than standard methods. But were those
errors evaluated in terms of seriousness? I mean, a mispelling is easily
detected by a reader. A different word acidentally chosen can change the
whole meaning. Have you evaluated this qualitative aspect?
-
That's a very good question. We haven't formally investigated this issue,
but I can give you some raw data, and an informal impression. I think most of
the misspellings were minor, and many of them were caused by uncertainty about
how to spell Jane Austen's prose!
Here is what I wrote in my 9th eyetracking session, in which I made 5 errors,
according to the graph.
[Punctuation and upper case characters were
not required, except that ends of sentences were meant to be marked with '__'.]
thewoodhouses_were_first_in_consequence_there__all_looked_up_to_them__she_had_ma
ny_acquaintance_in_the_place_for_her_father_was_universally_civil_but_not_one_am
ong_them_who_could_be_accepted_in_lieu_of_miss_taylor_for_even_half_a_day__it_wa
s_a_melancholy_change__and_emma_could_not_but_sigh_over_it_and_wish_for_impossib
le_things_till_her_father_awoke_and_made_it_ncessary_to_be_cheerful__his_spirits
_required_support__he_was_a_nervous_man_easily_depressed__fond_of_every_body_tha
t_he_was_used_to_and_hating_to_part_with_them__hating_change_of_every_kind__
And the correct text (with error locations highlighted by *) was
The*Woodhouses were first in consequence there. All looked up to
them. She had many acquaintance in the place, for her father was
universally civil, but not one among them who could be accepted in
lieu of Miss Taylor for even half a day. It was a melancholy change;
and Emma could not but sigh over it, and wish for impossible things,
till her father awoke, and made it n*ecessary to be cheerful. His
spirits required support. He was a nervous man, easily depressed;
fond of every body that he was used to, and hating to part with them;
hating change of every kind.
This example shows two errors that are not severe. I can't spot the other three!
Let's look at another example, trial 12. (4 errors according to the graph.)
the_real_evils_indeed_of_emmas_situation_were_the_power_of_having_rat
her_too_much_her_own_way_and_a_disposition_to_think_a_little_too_well
_of_herself__these_were_the_disadvantages_which_threatened_alloy_to_h
er_many_enjoyments__the_danger_however_was_at_present_so_unperceived_
that_they_did_not_by_any_means_rank_as_misfortunes__sorrow_came_a_gen
tle_sorrow_but_not_at_all_in_the_shape_of_any_disagreeable_consciousn
ess__miss_taylor_married__it_was_miss_taylors_loss_which_first_brough
t_grief__it_was_on_the_wedding_day_of_this_beloved_friend_that_emma_f
irst_sat_in_mour
The real evils, indeed, of Emma's situation were the power of having
rather too much her own way, and a disposition to think a little too
well of herself; these were the disadvantages which threatened alloy
to her many enjoyments. The danger, however, was at present so
unperceived, that they did not by any means rank as misfortunes *with*
*her*. Sorrow came -- a gentle sorrow -- but not at all in the shape of
any disagreeable consciousness.-- Miss Taylor married. It was Miss
Taylor's loss which first brought grief. It was on the wedding-day of
this beloved friend that Emma first sat in mournful thought of any
continuance.
Again, in this example, I can only find two errors (the two omitted words).
I hope these examples give an impression of how reliable Dasher
is, once one has some practice.
It is hard to make mistakes, because one can always see what one
has just written. If one wrote the wrong word, one
would notice, I think.
-
Twenty-five words per minute is not as fast as talking.
Why would anyone use Dasher when they could use speech recognition instead?
-
Dasher can be used with any ordinary mouse, with a touch-screen,
or with an eyetracker. The vast majority of Dasher users use it
with a regular mouse or with a touch screen. With a mouse or touch screen,
speeds up to 35 words per minute can be attained with practice. 25 words
per minute is quite typical after an hour of practice.
This is indeed slower than talking speed, so if someone can use
speech recognition technology then maybe they have no need for Dasher.
However, many people like Dasher because
- it gives them a silent way to write - no key-tapping noises even!
- some people can't get speech recognition technology to work.
-
You can use Dasher on any computer, whereas you can only use
speech recognition on a computer that has been trained on
your voice.
-
Speech recognition can't be used in a noisy environment.
-
Speech recognition requires a head-mounted microphone, and requires the
user to learn a lot of new skills -- learning to use a speech recognition
system probably takes several days, whereas you can get going with Dasher
within 5 minutes, and one hour is plenty of practice to achieve 25 words per minute.
- Dasher can be used on a tiny pocket PC, too small to have
a satisfactory speech recognition system.
- An experienced Dasher user makes almost no writing mistakes at all.
Even the most well-trained speech-recognition user with the clearest
speech finds that the system makes errors for about 5% of the
words they write.
-
How much computing power does Dasher require?
-
Dasher can easily be run on any standard PC (running Windows or GNU/Linux). It also runs fine
on the more-powerful palmtop computers such as the pocket PC.
The eyetracking version of Dasher has only been used with standard PCs
thus far, as we haven't come across a palmtop with an eyetracker :-)
-
How does your work fit into the body of work on text compression, on text entry, and on human-computer interaction in general, and what is different about it?
-
Dasher is distinctive because it uses
human body's natural continuous
gestures, rather than forcing the human to emit binary gestures (as in typing)
or discrete symbols (as in handwriting or `graffiti').
Eyes are good at navigation and search, and those are the skills
that the eyetracking version of Dasher uses.
Dasher is also distinctive because it integrates a language model
into a writing system in a mode-free manner.
Many writing systems use a language model to offer word-completions,
but accepting a word-completion involves a change in mode.
We think Dasher is especially easy to use because it does
not require these mode-changing decisions.
Dasher is also distinctive because it requires little learning.
If the user is familiar with the alphabetical order used
on the screen, then the only skill to learn
is a simple steering skill analogous to the skill of steering
a car. This skill is transferrable.
If an experienced user wishes to write in Hiragana (the Japanese phonetic
alphabet) instead of English, he can do so instantly.
All we need to do is train the language model on Hiragana,
and load up the right fonts. A user who can write at 25 words per minute
in English will be able to write at 25 words per minute in Japanese
too (assuming he knows both languages!).
Similarly, in English, we can add extra characters to the Dasher alphabet (for example
upper case as well as lower case), and the user is able to write
just as fast as before, even though the number of characters
available has doubled.
Extra characters for European languages can easily be included.
There is no need to make major modifications in order to add
ten accented characters to the alphabet, as there would be
in other approaches using keyboards or graffiti.
Dasher's use of training text is distinctive. Many systems
that employ language models presume that the language consists
of words, and the predictions of the model are embodied in
word-completions. Our language model makes no such
presumption, but it often behaves like a word-completion
system. Moreover,
Dasher often does a good job
of predicting what word comes next.
But Dasher does this without having any concept
of "words". If a user chose to write documents in which
the space characters are omitted, or replaced by "X",
the language model will work just fine; if the user
repeatedly uses entire phrases, then Dasher will behave
like a phrase-completion device.
Dasher can be instantly personalized: simply train the language model
on some example documents similar to the one you intend to write.
Dasher works instantly in any language: simply train the language
model with example documents in the desired language.
-
How could this research eventually be applied practically? What other types of uses might the efficient method for text compression eventually lead to?
-
We think that Dasher could be used in at least three
communities, and that the software that David Ward has created
is almost ready for use in at least one of them.
First, the disabled community: Dasher offers a way to enter text into
computers for people who cannot use ten-finger qwerty keyboards.
Some disabled computer users who have generously tested
Dasher report that they find it
far better than any other writing method they have tried.
We expect that Dasher, controlled by a touch-pad,
joystick, mouse, head-mouse, roller-ball, or eyetracker,
will transform the writing speed of many disabled users.
Second, Dasher offers a new keyboardless text-entry method
for computer users in extreme environments.
Until now, head-mounted displays for tiny portable computers have hardly
taken off at all; we think the reason for this is that an appropriate
text-entry method has been lacking. Dasher driven by an eyetracker
or a miniature trackpad offers a new solution to this problem.
We have developed a version of Dasher that runs on a pocket PC.
Maybe some palmtop users will prefer to use Dasher for text entry.
Third, we believe that Dasher might be especially useful to
Japanese computer-users. Many Japanese users are only slightly familiar
with the qwerty alphabet, yet most computers in Japan have
qwerty keyboards; so writing in Japanese on a keyboard is quite slow.
Dasher offers a way to write in Japanese that bypasses the qwerty keyboard.
We are at present testing a Hiragana prototype.
Other more speculative uses for Dasher include:
-
Hybrid voice-dasher system
- Speak into an imperfect speech-recognizer, and watch as
its inferences are displayed as predictions; wherever it is
not sure what you said, use Dasher to steer into the correct
sentence. Much easier than having to correct errors by
saying further speech-commands!
-
Hybrid automatic translation-Dasher system
- Assume we have a poor translation system that translates
badly from French to English. An expert has to zip through
the translation and clean up errors.
This cleaning-up could be done within Dasher, using
the output of the translator to define a language model.
-
Where is this type of input going in the long-term?
I think the long term is already here.
Right now, one of our disabled friends is using Dasher to write documents.
We are ready now for product development, shrink-wrapping, and promotion.
-
You said that Dasher can work in most languages.
How do you think it might be used in Japanese?
As a first step towards a full Japanese version of Dasher
handling both Kana and Kanji, David Ward has written a Hiragana version, "Daishoya",
available in Windows version 1.6.3 of Dasher
and GNU/Linux versions 1.6.3-1.6.8.
A demonstration of "Daishoya" being used to write
(hajime mashite) can be reached from
www.inference.phy.cam.ac.uk/dasher/Languages.html.
The conversion of Dasher to Daishoya is simple: we replace the English alphabet
a..z by the Hiragana alphabet,
(a,i,u,e,o,ka,ki,ku,ke,ko...).
We replace the English training text by a Hiragana document. [Unfortunately,
we have not been able to find a large pure-Hiragana document, so
our language model is not as well-trained as we would like.]
Daishoya then allows you to write Hiragana text without a
keyboard.
In the long term, we can imagine two ways of using Daishoya to write Kanji:
- We could add a special
character (like the enter key in Japanese Word) meaning "convert to Kanji",
and use a language model to predict which Kanji are the most probable
in the given context and given the Hiragana sequence just written.
All the probable Kanji would be displayed in boxes of size
proportional to their probability, in accordance with the Dasher method.
The user would zoom into the desired Kanji.
-
We could make a new version of Daishoya in which the symbols in the
alphabet are not Kana, but Kanji elements - single strokes, for example.
The user would build up each Kanji character by adding one element at
a time.
-
How many people have used Dasher?
It's hard to keep count.
As of August 2002, we estimate that about 50,000 users have downloaded
Dasher.
-
What are the next steps in your research? What are you ultimately aiming for?
The first, and most important aim has already been achieved -- we
aimed to make a system that would allow people to write, without
a keyboard, faster than they could write before. This dream has been
realised.
As of October 2002, the Dasher project is being supported
by the Gatsby charitable foundation.
We are continuing to research the following topics:
-
How to improve the language model. It's already pretty good,
but we can imagine that an extra 20% improvement in speed
by improving the language model's compression by 20%.
-
Automatic calibration of the eyetracker.
At present poor calibration of the eyetracker limits
the performance of Dasher with eyetracker.
We believe we can automatically tune the eyetracker on
the fly, using the information supplied by the user's
steering corrections.
-
Enhancements to the navigation mechanism for the eyetracker.
When errors need to be corrected (which is not often!),
the present version feels clumsy. We are working on
a modified version of the navigation mechanism that
will allow several alternative ways to back up and
correct errors.
-
How well the Japanese version of Dasher works for Japanese users.
-
Making a version appropriate for people who can only convey
one dimension of pointing rather than two dimensions. (This one-dimensional
mode is included as an option in Dasher version 3.0.1, available March 2003.)
-
Including a control mode within Dasher so
that a user who cannot press a button to stop
and start Dasher can nevertheless stop and start
Dasher from within Dasher, and so that they can
carry out other control functions.
This feature is going in Dasher version 3.2.
-
When could the research be ready to be applied practically?
When will a consumer version of Dasher be ready?
Product development and promotion is
going to be handled as an Open Source project.
The research version of Dasher, available now, is already useful to some disabled
computer users, and we expect the open source community
to deliver something close to a shrink-wrapped consumer version
within 12 months. The source code will be released under the
GNU public license late this Summer 2002.
We hope that the version released by the end of September 2002
will be found useful by many consumers.
Anyone wishing to support this project, please contact
David MacKay.
-
Why make Dasher open source?
-
Our work benefits immensely from the use of free software.
-
We use the GNU/Linux operating system, provided free by Linus Torvalds and others.
-
We use the gcc compiler and emacs editor, provided free by Richard Stallman.
-
We use TeX and LaTeX, provided free by Donald Knuth and
Leslie Lamport.
-
We use tcl (Ousterhout), X windows (lots of people), bash (Brian Fox),
and hundreds of other pieces of free software.
Having benefitted so much, it is clear to us that free software makes the
world a happier place. We would have to have a good reason not to
make our work free.
Our work at the University is mainly publicly funded. UK Taxpayers
pay for the costs of the University. US taxpayers also
paid for some of the software we use.
The most compelling reason for making software free
is that the world is a more fun place to live in
if everyone shares freely.
Making Dasher `free' software does not prevent businesses from
selling it, as for example Red Hat sells GNU/Linux.
If businesses do profit from Dasher, we would encourage
them to make an appropriate donation to support our continuing
work. The Dasher project was supported by the
generosity of IBM Zurich research labs, who gave
David MacKay a partnership award in recognition of
his earlier freely-shared work on error-correcting codes.
We plan to distribute Dasher under the GNU public license (GPL)
initially.
[A later version of Dasher may be distributed under the LGPL if there is demand.] These licenses allow anyone to use the source
code, and ensure that modified versions of the source code
remain equally free to everyone.
-
Let me get this straight. Dasher seems like a really good idea and one
that has the potential to be enormously popular (esp. in Japanese market)
yet you are making it open source (for reasons you explain above).
Doesn't this mean that palm or sony or someone could make a killing from
your idea?
Yes, it's conceivable that a company will incorporate
Dasher into their product and it will boost their sales. If so,
good for them, and I hope they might give something back in return
to the Free Software Community - we'd like support for a software
development manager for Dasher in my group, for example.
There's three reasons why I think software patents are a bad idea:
First, patents inhibit open discussion - it's no fun doing science
in a secretive environment, and communication is essential for
progress; it's unlikely I could recruit PhD students to work on ideas
like Dasher if I forced them to keep my ideas secret; Dasher would
never have got off the ground.
Second, software patents prevent the best software solutions from
being used - a good example is the widely used "gif" format for images:
compuserve and Unisys are apparently enforcing a patent on the compression
algorithm that used to be used to make gif images nice and small.
So everyone is essentially having to stop using what used to be a nice
simple standard.
Third, I think it is pretty rare that the deserving inventor actually
gets anything financially from a software patent. You can't win.
The people who benefit
from patents are (a) patent lawyers; and (b) big corporations, which
use patents as threatened weapons to force other companies to do deals.
If I had a patent and a big corporation violated it, what could I do?
They have more money to pour into legal battles than I do. And they would
no doubt counter-sue, alleging that I was infringing a stack of their
patents. Even in the physical world, patents seem pretty useless. Look
at Mr Dyson with his bagless vacuum cleaners. Didn't Hoover infringe
his patent anyway, and didn't it take him ten years of misery in
court to get this recognised?
-
Who funded the research?
The blue-skies research of the Inference group is supported
by the Gatsby Charitable Foundation
and by a partnership award from IBM Zurich Research Laboratory.
The Dasher project has (thus far) been run on a shoe-string without
applying for any other funding.
Support for further development of Dasher would be welcome!
-
What is your job title, and how should you be referred to?
David MacKay is Reader* in Natural Philosophy in the Department of Physics
at the University of Cambridge.
He is also
cofounder of the information technology company,
Transversal.
[(*) A `Reader' would be a Professor on the U.S. academic job scale.]
David Ward, who did most of the hard work of converting the
Dasher idea from dream to reality, was a PhD student in the Physics
department. He now has his PhD and works for a software company in Cambridge.
We are happy to be referred to as
David Ward and David MacKay,
or
Dr. David Ward and Dr. David MacKay.
-
Is there anything else you'd like to say?
-
Executable copies of the Dasher software can be downloaded
for free from the Dasher project website,
http://www.inference.phy.cam.ac.uk/dasher/.
There are tips for new users on the website too.
Don't give up if it takes you a minute or two to get started - within
ten minutes, you'll be dashing along.
Please try it out!
Donations to support our research are always welcome.
Publications.html 0000664 0000053 0000024 00000015752 11041744065 014072 0 ustar mackay dialout SectionPage Publications
Publications and Presentations
Publications
Dasher Manual and Special Needs Guide
Manual (15 pages) (Draft) (postscript)
(pdf)
| Spanish Manual (contributed by Niriana Blasco)
Dasher in Korean - a six-page paper by David MacKay: |
pdf |
postscript |
Most of the original research work on Dasher was done by David Ward.
Between 1999 and 2002, we made three assessments of Dasher, comparing it with alternative
text entry systems on three platforms.
- One-handed text-entry using mouse alone
- Text-entry on a pocket PC with a stylus
-
Text-entry with no hands, using Dasher with an Eyetracker (Further information about hardware)
The details can be
found in David Ward's
PhD thesis
and in the publications listed below.
Presentations
-
Dasher - information-efficient text entry (19th April 2007)
-
Google tech talk (54 minute video) by David MacKay at Google Inc, Mountain View
- September 2005
-
Dasher - writing fast and free with any muscle - Closing The Gap 2005 (html)
(includes slides used for presentation at Princeton University)
Hands-free writing - banquet presentation for UAI 2005 (html)
A neuron that communicates 10 words per minute (html) -
a presentation about Dasher's new button modes.
Dasher for Korean (html) -
shows how to write Korean using a simple roughly-80-character alphabet.
Dasher - Write efficiently with any muscle! (html) -
Dasher presentation for BECTA Seminar Oct 2004.
Information-Efficient Writing (html) -
Dasher presentation for Machine Learning Workshop 2004.
Includes preliminary results on breath mouse and enhanced eyetracking mode.
Dasher for Eyetracking (html) -
presentation for Cogain meeting.
Alternative Controls
for Dasher (html) -
presentation about one-dimensional mode, eyetracking mode, and Button modes.
Probability,
Information, and Hands-free writing (html) -
Dasher presentation for Maximum Entropy conference 2004.
Power point file:
Dasher Presentation for John Hopfield's birthday Symposium, June 2003.
Power point file:
Presentation about Dasher for AbilityNet, December 2002.
See also the movies on the Demonstration page.
Speech-Dasher prototype
Keith Vertanen has made nice videos of his prototype
speech-recognition/Dasher hybrid.
www.inference.phy.cam.ac.uk/kv227/speechdasher/
SpecialNeeds.html 0000664 0000053 0000024 00000027641 11216202170 013763 0 ustar mackay dialout SectionPage Special Needs
Special Needs
Dasher is highly appropriate for computer users who are
unable to use a two-handed keyboard. One-handed users and users with no
hands love Dasher.
The only ability that is required is sight.
Dasher can be driven using a mouse, a trackpad, a touchscreen, a rollerball, or a joystick
- any two-dimensional pointing device that can take over the role of
a mouse. A foot mouse and a head mouse are additional options.
It can also be driven using an gazetracker, giving a completely-hands-free
writing system. After one hour's practice, some users are able to write
at more than 20 words per minute using Dasher with an gazetracker.
Experienced users reach 30 words per minute.
We got these results with
the Quick Glance
gazetracker from EyeTech Digital Systems.
For a movie demonstrating Dasher with an gazetracker, see
the demonstration page.
Compared to an gazetracker + on-screen keyboard, Dasher is
- faster
- more accurate
- more fun
Further information
Headmouse information
UK contacts
The Dasher project enjoys
links with the
ACE Centre in Oxford,
and with Ability Net.
Ability Net has 11 centres around the country who
can help disabled people use whatever technology is
appropriate for them, including Dasher.
The ACE centre specializes in children with severe disabilities.
Frequent questions
- I am paralyzed from the shoulders down. What do I need to make Dasher
work for me?
- Do you have a PC? (Linux or Windows) Can you use a head-mouse? Or any other sort of mouse?
Perhaps a mouth-stick that controls the mouse coordinates?
If so, simply download the latest version of Dasher, and you should be
able to write with Dasher.
If standard mice and head-mice are not an option, then you'll need
an gazetracker that can take over control of the mouse.
We used a system from Eyetech
called Quickglance.
See below for links to other gaze-trackers.
Hardware options
Here are some links giving information about non-standard mouse devices.
- Keyboard alternatives have Many mouse devices and
a detailed
Pointing device compatibility chart.
They have now moved to
Solutions for Humans.
- Head mouse, Highly recommended: Smart-Nav Head mouse from NaturalPoint
(formerly sold as the TrackIR; don't buy a TrackIR now, however,
as the current (2005) TrackIR is now specialised for gaming)
Costs about $150-$300, uses one reflective dot stuck to your head and a small camera attached to your windows machine. (No linux version is currently
available, but if NaturalPoint hear there is demand, I think they might
respond!)
We recommend this device because it is cheap, easy to set up, and
versatile. Here's a review of this head mouse.
You can stick the dot on your finger or toe to make a finger-mouse or toe-mouse.
We got best results by putting the dot on an extension so as to get accurate amplification
of the body motion. Equivalently, put the reflective dot on the
tip of a baseball hat.
SETTINGS - for our first TrackIR, bought about 2002:
We put Natural Point's "speed" control at its maximum (but not 2x)
and its "smooth" control towards "-".
For the smartnav3, we put the smoothing control to its
smallest value (slider to the left), and the speed controls
(for x and y amplification) in the middle; I wasn't
sure whether I preferred Relative or Absolute mode.
Further advice from users.
Other headmice:
We very highly recommend the
Origin Instruments HeadMouse Extreme
, which feels
a lot like a Navpoint smartnav to use, but has the advantage that it works instantly as a USB mouse, requiring no software at all.
So it works on linux and mac too! The price is about $1000 - pretty steep!
But a very good product.
- ACE is a UK
centre of information, support, and training for parents and professionals in the use of technology for young people in education who have communication difficulties, both in speaking and/or writing.
- Skipper (http://home.freeuk.net/skipperproject)
includes advice about making your own custom hardware to enable control of your on-screen mouse
and other other aspects of your computer. Free software is included for linux machines.
- Head-mouse From MouseVision Inc: VisualMouse
(VM) software
- widely used by disabled people,
can be downloaded from www.mousevision.com
free of charge.
VM is a pointing device using a webcam that
recognizes head motion (with no gear on the head).
It works with
Windows 98/ME/2000. [23/8/02.]
-
A free headmouse. It runs under Windows.
- GyroMouse - Free space mouse - good for people with limited reach - and could probably be used as a head mouse or foot mouse.
- Carpal tunnel-friendly mouse:
One Dasher-user recommends the hand-held IBM GlidePoint mouse.
-
Gazetrackers: Eyetech
- we used their Quickglance gazetracker, which costs about $3000.
Very good value.
We used the following settings: Setup->More Options->Update Rate 30, Smoothing Factor 1 or 2. (in contrast to the defaults which are 10, 7).
Further info about the system is provided here.
- Gazetrackers: Applied Science Laboratories
- Gazetrackers: Eyegaze (LC)
A high-quality tracker, and very easy to use. Works with Dasher,
Though LC technologies have not pushed this
opportunity (as of Oct 2005).
-
Eye response Erica
A high-quality tracker, and easy to use. Comes with
sensible patented features such as an automated zoom
whenever you dwell-click on a small piece of the windows
display.
Works with Dasher, and Eye response ship their product with Dasher. They are actively working (as of Octo 2005) on making
their gaze tracking software change its behaviour when you
are using Dasher (very responsive
behaviour is good for Dasher). ($8000 for a complete system
based on a tablet PC)
-
Tobii's MyTobii -- the king of gaze-trackers - this one tracks both eyes and is robust to enormous
head motions. Very impressive.
About $25,000.
- Metrovision, who make Visioboard
I have used Dasher with the visioboard. It is a good gazetracker,
incorporating a second camera that does head-tracking. Another good
feature is the well-designed user interface. Recalibration of the
gazetracker happens automatically if the system detects a drastic
problem (eg a huge head movement). So I think this system is
good for a lone disabled person to use. It is a large system,
made up of a screen on a stand and two computers, one for eyetracking
and one for you to run windows on.
When you make a big head movement, the quality of
tracking is not so good.
-
More about gaze control: see
the Cogain site for Gazetalk software that works with Dasher.
- Foot-control: Vik writes:
"I thought you might like to know that I have been running
the Linux version of Dasher on the Sony Playstation 2.
I used the Sony "Dance Mat" controller to control Dasher with my feet.
This is a relatively low-cost platform with a variety of controllers
available, some of which may suit certain disabilites."
- Trackers and software from Madentec
-
Usernomics ergonomic-products website
Speech synthesis and Dasher (under Linux)
Skipper (http://home.freeuk.net/skipperproject)
is being integrated with Dasher. [Skipper
provides full (and practical) access to everything in Linux and the
Internet for people with severe physical disabilities.]
Speech synthesis (under Windows)
Mon 2/5/05 Today I learnt about a system that
can be used to capture someone's speech, then synthesize speech that
sounds like theirs:
ModelTalker
seems to be free software, and I believe there are versions for
both Linux and Windows.
Speech synthesis and Dasher (under Windows)
Thu 12/12/02:
Ronnie Love's
directions for
getting Dasher to "talk on stop" with a variety of speaking systems.
Tue 1/10/02:
cliffn has written a front end for dasher v1.6.8 in VB5 which allows to run
Dasher, allows one click to save the text into a file, and
allows the file to be read aloud. With a shortcut to the text file
on your desktop it is easy to edit and copy and paste to another app.
Tested only on Win 2000 but available for download with a right click
on the file name (StartDasherFS.exe) from:
www.datasolutions.co.nz/Download;
this exe file should be put in the dasher folder alongside dasher.exe.
This text file gives Margaret Cotts's
instructions for
using Macro Express to connect Dasher 1.6.8 to
etriloquist, and further information
submitted by other users.
This text file
gives information from R. Love about making Dasher talk.
In due course, one of the Dasher developers plans to connect Dasher version 3
directly to FreeTTS.
Web-browsing and Dasher
We haven't connected Dasher to a web-browser yet.
Andras Lorincz drew our attention to
Coraler
(formerly www.coraler.com), which offers a nice Dasher-like
hypertext navigation environment.
A beautiful prototype.
I think the idea is that websites should be written in the style of
Coraler to make them more disabled-friendly.
Translate.html 0000664 0000053 0006057 00000000345 07572723715 013221 0 ustar mackay dasher HiddenPage Website Translation
Help translate this website
\include{../english/Translate2.html}
Training.html 0000664 0000053 0000024 00000012641 10120110426 013164 0 ustar mackay dialout HiddenPage Making the Training Text
Making the Training Text
The training text should be a plain text file containing
text `similar' to what you intend to write.
The larger the better.
We think that 300K is a good size to aim for.
Our preferred file format for all corpuses is UTF-8, but
if you prefer to provide another format, that's OK; when supplying the file
please include a description of its contents and name the format; we'll
use the linux utility iconv to convert, if necessary.
Example training texts that you could use are:
- Take all the documents you have written, and glue them
all together in one big document.
- Use novels - eg, we used Jane Austen's Emma from
Project Gutenberg. The problem with using
just one or two novels, however, is that particular words (like Emma or Alice)
occur very frequently; so novels are not ideal for a general-purpose training text.
- Use all the email messages you have written, and glue them
all together in one big document..
Existing corpuses
There is a corpora mailing list; this website has lots of
useful links.
How to make a general-purpose training text
You can make a pretty good corpus simply by concatenating
a load of documents in your chosen language. Such a corpus is
pretty good, but not ideal, since, for example, if you
include all of Alice in Wonderland, the word Alice
and the phrase white rabbit will
occur far more often than normal. The aims
of the more complicated procedure described below are
- to create a corpus that has all common
words represented in a variety of contexts, with no
one source document dominating the statistics;
- to create a corpus that can be sensibly
shrunk to make a smaller corpus (for handheld computers
with small memory, for example).
Here's how I made the training text for the English version of
Dasher.
-
Get lots of English documents. Get far more material than you think you need,
so that we can select a well-balanced
set of sentences in a sensible way, as follows.
-
Pre-process them all so that there is exactly one sentence per line.
I did this using a perl program I wrote,
processbook.p
with scripts like this
foreach f ( alice emma )
processbook.p /books0/$f > /books/$f
end
- Now, obtain a listing of the 2000 most frequent words in
the language. The idea is, since these words are common, it is important that we should
have them represented several times each in the final corpus, in a variety of
contexts. We will use these words to select which sentences are included
from our over-large corpus.
I obtained such a list from the internet and put it in a file called dict.
I removed from dict any absurdly common words that prevented the remaining steps from
working nicely.
-
Use another program to select from each pre-processed book the sentences
that contain the 2000 required words. Go through the required words in order,
so that the resulting corpus is also ordered, with the top of the corpus containing
examples of use of the most common words; that way, the corpus can be shrunk by cutting
its tail off, and should still be an appropriate corpus for its size.
Glue the sentences together into plausible-sized paragraphs, so as to emulate
normal writing.
I did this step by using the linux utility glimpse and my perl
program corpus.p
rm /data/coll/mackay/books/*~
glimpseindex -b -B -H ~/dasher/ /data/coll/mackay/books/
corpus.p k=1 f=4 o=corpus4.txt
That's how I made this corpus (316K),
which is used in Dasher 1.6.8.
-
If you have any non-ASCII characters, you need to convert the file to
UTF-8 (or send it to us so we can do it). iconv is a Unix tool that can
do this. If your text is in ISO-8859-1 format (ie, Western Europe), run
iconv -f iso-8859-1 -t utf-8 corpus >corpus.utf8
which will produce a UTF-8 version of the corpus in corpus.utf8.
Another method for converting to UTF8 using perl is this:
#!/usr/local/bin/perl5.8.4
use Encode;
local $/;
open(TEXT, "< infile.txt") or die $!;
open (UTF8, "> outfile.txt") or die $!;
my $data = <TEXT>;
Encode::from_to($data, "iso-8859-1", "utf8"); # the converting line
binmode UTF8; # the filehandle should be binary for printing UTF8
print UTF8 $data;
A useful command for checking what format a file is in is
file filename.txt
If people make good corpuses in other languages and wish to share
them, I can put them on this site.
Two-letter country codes
for the ends of training filenames
can be found at (digraphs page).
gpl.html 0000664 0000053 0006057 00000046756 07532465631 012062 0 ustar mackay dasher HiddenPage The GNU General Public Licence
The GNU General Public License
Dasher versions 3 and above are distributed under the terms of the GNU General Public License as
below.
[Translations of the GNU General Public License
are available in many languages.]
Table of Contents
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place
- Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
The licenses for most software are designed to take away your freedom to
share and change it. By contrast, the GNU General Public License is intended
to guarantee your freedom to share and change free software--to make sure
the software is free for all its users. This General Public License applies
to most of the Free Software Foundation's software and to any other program
whose authors commit to using it. (Some other Free Software Foundation
software is covered by the GNU Library General Public License instead.)
You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price.
Our General Public Licenses are designed to make sure that you have the
freedom to distribute copies of free software (and charge for this service
if you wish), that you receive source code or can get it if you want it,
that you can change the software or use pieces of it in new free programs;
and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone
to deny you these rights or to ask you to surrender the rights. These restrictions
translate to certain responsibilities for you if you distribute copies
of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis
or for a fee, you must give the recipients all the rights that you have.
You must make sure that they, too, receive or can get the source code.
And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy, distribute
and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free software.
If the software is modified by someone else and passed on, we want its
recipients to know that what they have is not the original, so that any
problems introduced by others will not reflect on the original authors'
reputations.
Finally, any free program is threatened constantly by software patents.
We wish to avoid the danger that redistributors of a free program will
individually obtain patent licenses, in effect making the program proprietary.
To prevent this, we have made it clear that any patent must be licensed
for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification
follow.
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed under
the terms of this General Public License. The "Program", below, refers
to any such program or work, and a "work based on the Program" means either
the Program or any derivative work under copyright law: that is to say,
a work containing the Program or a portion of it, either verbatim or with
modifications and/or translated into another language. (Hereinafter, translation
is included without limitation in the term "modification".) Each licensee
is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of running
the Program is not restricted, and the output from the Program is covered
only if its contents constitute a work based on the Program (independent
of having been made by running the Program). Whether that is true depends
on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you conspicuously
and appropriately publish on each copy an appropriate copyright notice
and disclaimer of warranty; keep intact all the notices that refer to this
License and to the absence of any warranty; and give any other recipients
of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and distribute
such modifications or work under the terms of Section 1 above, provided
that you also meet all of these conditions:
-
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
-
b) You must cause any work that you distribute or publish, that
in whole or in part contains or is derived from the Program or any part
thereof, to be licensed as a whole at no charge to all third parties under
the terms of this License.
-
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such interactive
use in the most ordinary way, to print or display an announcement including
an appropriate copyright notice and a notice that there is no warranty
(or else, saying that you provide a warranty) and that users may redistribute
the program under these conditions, and telling the user how to view a
copy of this License. (Exception: if the Program itself is interactive
but does not normally print such an announcement, your work based on the
Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable
sections of that work are not derived from the Program, and can be reasonably
considered independent and separate works in themselves, then this License,
and its terms, do not apply to those sections when you distribute them
as separate works. But when you distribute the same sections as part of
a whole which is a work based on the Program, the distribution of the whole
must be on the terms of this License, whose permissions for other licensees
extend to the entire whole, and thus to each and every part regardless
of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to exercise
the right to control the distribution of derivative or collective works
based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of a
storage or distribution medium does not bring the other work under the
scope of this License.
3. You may copy and distribute the Program (or a work based on
it, under Section 2) in object code or executable form under the terms
of Sections 1 and 2 above provided that you also do one of the following:
-
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections 1 and
2 above on a medium customarily used for software interchange; or,
-
b) Accompany it with a written offer, valid for at least three years,
to give any third party, for a charge no more than your cost of physically
performing source distribution, a complete machine-readable copy of the
corresponding source code, to be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
-
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is allowed only
for noncommercial distribution and only if you received the program in
object code or executable form with such an offer, in accord with Subsection
b above.)
The source code for a work means the preferred form of the work for making
modifications to it. For an executable work, complete source code means
all the source code for all modules it contains, plus any associated interface
definition files, plus the scripts used to control compilation and installation
of the executable. However, as a special exception, the source code distributed
need not include anything that is normally distributed (in either source
or binary form) with the major components (compiler, kernel, and so on)
of the operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering access
to copy from a designated place, then offering equivalent access to copy
the source code from the same place counts as distribution of the source
code, even though third parties are not compelled to copy the source along
with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt otherwise
to copy, modify, sublicense or distribute the Program is void, and will
automatically terminate your rights under this License. However, parties
who have received copies, or rights, from you under this License will not
have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have
not signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are prohibited
by law if you do not accept this License. Therefore, by modifying or distributing
the Program (or any work based on the Program), you indicate your acceptance
of this License to do so, and all its terms and conditions for copying,
distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based
on the Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further restrictions
on the recipients' exercise of the rights granted herein. You are not responsible
for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of
patent infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or otherwise)
that contradict the conditions of this License, they do not excuse you
from the conditions of this License. If you cannot distribute so as to
satisfy simultaneously your obligations under this License and any other
pertinent obligations, then as a consequence you may not distribute the
Program at all. For example, if a patent license would not permit royalty-free
redistribution of the Program by all those who receive copies directly
or indirectly through you, then the only way you could satisfy both it
and this License would be to refrain entirely from distribution of the
Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any such
claims; this section has the sole purpose of protecting the integrity of
the free software distribution system, which is implemented by public license
practices. Many people have made generous contributions to the wide range
of software distributed through that system in reliance on consistent application
of that system; it is up to the author/donor to decide if he or she is
willing to distribute software through any other system and a licensee
cannot impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted
in certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License may
add an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus excluded.
In such case, this License incorporates the limitation as if written in
the body of this License.
9. The Free Software Foundation may publish revised and/or new
versions of the General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail
to address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of this License,
you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other
free programs whose distribution conditions are different, write to the
author to ask for permission. For software which is copyrighted by the
Free Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS
NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK
AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO
IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED
BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
If you develop a new program, and you want it to be of the greatest possible
use to the public, the best way to achieve this is to make it free software
which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively convey
the exclusion of warranty; and each file should have at least the "copyright"
line and a pointer to where the full notice is found.
one line to give the program's name and an idea of
what it does.
Copyright (C) 19yy name of author
This program is free software; you can redistribute
it and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
This program is distributed in the hope that it will
be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General
Public License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of
author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type
`show w'. This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should
show the appropriate parts of the General Public License. Of course, the
commands you use may be called something other than `show w' and
`show c'; they could even be mouse-clicks or menu items--whatever
suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if necessary.
Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright
interest in the program `Gnomovision'
(which makes passes at compilers) written
by James Hacker.
signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications
with the library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
_index.html 0000664 0000053 0000024 00000005522 10263527115 012676 0 ustar mackay dialout SectionPage Home
The Dasher Project
|
|
|
ipaqtips.html 0000664 0000053 0006057 00000001160 07532466031 013101 0 ustar mackay dasher HiddenPage pocketPC tips
Additional tips for the pocketPC version of Dasher Tue 22/1/02
-
There are three special strongly-coloured squares in this version of Dasher,
coloured orange-ish, red, and green; all three squares
do not produce any character; these squares indicate sub-groupings of
the alphabet. (Uppercase Alphabet, Numeric characters, and Punctuation.)
Back to: Important tips for beginners, page 1 | page 2 |
peano.html 0000664 0000053 0000024 00000002426 10255042212 012521 0 ustar mackay dialout HiddenPage PeanoDasher
`Peano' - Fully Two-dimensional Dasher
- capable of using both dimensions as information sources.
David MacKay
The idea is to embed the real line from 0 to 1 in two dimensions
by mapping it onto a Peano curve. (For those who care about names,
I'm told the particular Peano curve shown here is a
Hilbert curve.)
As an illustration of the potential benefits, the following image
compares the regular one-dimensional-dasher view of an English bigram model (left)
with the Peano view (right). Many more low-probability strings are visible.
Peano-dasher makes better use of screen real-estate.
Whether Peano-dasher will be useable remains to be seen.
Some more images illustrating the Peano concept, and zooming
tips.html 0000664 0000053 0000024 00000011774 10336074647 012425 0 ustar mackay dialout Page Tips for Novices
Tips for Novices
[Please read the three-page explanation if you
haven't already.]
Don't give up if it takes you a minute or two to get started - within
ten minutes, you'll be blazing along.
It's a lot like driving a car. You should start by driving cautiously.
If you can't tell where you are going, stop going.
Indeed, you will probably learn Dasher faster if you come to it
with car-driving analogies in mind, rather than standard computer
analogies. For example, the way navigation works
is not by DRAGGING but by STEERING:
if cars worked like windows computers,
you would have to "grab" the piece of road you want, then "drag"
it towards you;
but in a car, when you wish to drive right, you
POINT RIGHT with your steering wheel.
Dasher does not work by dragging either. Do not try to grab things
and drag them. Just decide where you want to go, and point there.
The single most important concept that a novice user needs
to understand is that one should always
continue inside the
text written so far: to select the book that contains "all"
as its first word, one does not enter the "a" section
of the library, then exit the "a" section, and
enter the "l" section.
One enters the "a" section, then finds the "al" section that is
within the "a" section, then enters the "all" section
within the "al" section.
It's just like finding a name in a phonebook. To find "Alison",
you don't go to the "A" section of the phonebook, then the "L" section:
you go into the "A" section, then find within it the "Al" section,
and so forth.
The second most important idea is
that what you have written depends only on
where you finally end up in the library, not on how you got there;
so there is no need to steer accurately on your way to
your destination. You are allowed to cut corners.
(For example, in the
top image on the demonstration page,
if you wanted to write `objects_are', it would
be fine to move the mouse straight towards the letters `are',
even if this takes the mouse across the unwanted grey `i' square.)
Two More Tips | tips for pocket PC users |
users.html 0000664 0000053 0000024 00000024177 10255016576 012605 0 ustar mackay dialout FoldingPage What users say
What users say
Marc says:
When I saw the video of Dasher in action, I was blown away. This is really
exciting stuff. The idea of it goes beyond what many have tried to solve.
I quickly downloaded it to a Pocket PC and began showing it to all of my
friends at work. They were all impressed and everyone has had fun playing
with it. I work in the console games industry, and I highly recommend you
pursue developing this for console game machines that only use a joystick
for an input device. This would solve quite a few problems that industry
is trying to solve with, text messaging in multiplayer games that don't
have keyboards, and would be even greater on wireless phones with instant
messaging. Very nice indeed. I've just seen part of the future.
Lori says:
Wow, what a fantastic program! I have Spinal Muscular Atrophy which causes progressive weakness in my fingers and wrists. I have tried a variety of alternative input methods and the Dasher is one of my favorites. Great job!
I'm using it on my Windows XP desktop system and also on a HP iPaq 6315. It works great on both systems.
`Kiwi' says:
Okay, so here I am, a disabled programmer. I just discovered dasher a few
hours ago, and I'm in love. I desperately need dasher, and I'm willing to
do all I can to help.
and then one day later,
Im writing this email in dasher. In only an hour or two of use Ive gotten
pretty good at it. Im pleasantly surprised because Ive had so much trouble
with voice recognition I had despaired of ever being able to program again.
Now Im confident that I can do anything I want in a matter of months.
FYI Im using Dasher with an alternative mouse called the Foot Rat. It works
quite well and I would recommend it to anyone with a hand disability.
Bryan says:
I've been using Dasher now for a few months. I depend on it for all
of my communication, written and "verbal," as I have lost my ability
to speak to ALS a few months ago.
Congratulations on the development of a great product.
`yogi' says:
:-)
very impressed :-D -
looked a bit clumsy to start with but after a minute of using I had
already attained a respectable speed (Once i'd got the principle)
Steve says:
I am fighting ALS (MND) and words can not express how grateful I am to
have found your Dasher project!
Thank-you, Thank-you!
Andrew says:
I haven't yet decided if Dasher's key feature is that it's fast and
practical, or that its lots of fun!
Daaf says:
I am speachless.. seeing the
animations / movies / screenshots I thought it was utter chaos... working
with it has proven to be so simple though...
WOW!
"pedrodawa" says
Breakthrough !
I am not kidding...
You guys are starting something that can make keyboards things of the
past. Just take your time and do it right. If this is the prototype,
I can hardly wait for the real thing. This is amazing stuff !!!
Mark says:
Excellent program. This could really change the way we use handhelds -- beats Graffiti to the ground, that's for sure.
NJovich says:
I tried the binary and was quite surprised just how easy it was to get into. You can slow down by moving your mouse to the right and speed up by moving it to the left. And that works rather intuitively, I like it.
I'd really love to see this in game consoles where text-input can be a real pain even today.
Another slashdot poster says:
I downloaded the software, tried it out, and after two minutes, I'm impressed. MUCH easier to use that I thought that it would be, It almost seems to be reading My mind, as to what I want to say...
While it could still use a bit of work, overall it is an incredible
new paridgm in the way that text-entry can happen. palm-top users are
going to fall in love with it's ease of use, I predict.
A more `finished' version would be nice for the desktop users, perhaps
allowing it to reside in a side window tray that scrolled out when
selected, and did the text entry in whatever text box has the edit
focus. Add that, and it will become a permanent addition to My
desktop's.
Kudos to David MacKay and his crew for creating something unique and new, and actually enhancing the user interface at the same time.
And another:
Download this, and give it a serious try. More than 20 seconds. If you try it for five minutes, you'll see the power of it.
It's amazing how quickly you can pick up the basics (unlike Graffiti and other handwriting techniques).
It's a start of something great, I think.
I think this is one of the few areas where software patents actually
make sence (I assume the people who made this have got some kind of
patent for it). Unlike a lot of examples of software patents this is
'non obvious' and (as far as I know) is not a simple extention of
someone else's work. Perhaps this could be used as a standard to
judge other software patents: If something does not achive this
standard of idea it should not be patentable.
Chris says:
I just wanted to say congratulations on
Dasher - it is a truly incredible program! ...
I have passed on website links for Dasher to a school for
disabled students
because I believe you have a system here wich
could be incredibly useful to them!
Congratulations on your idea again!! It makes a fantastic change to
typing!!! I am now running it on my PC and an IPAQ :)
Margaret says
I work with people who have ALS. I
already have a few clients who are using Dasher, who feel it's faster
than their current input method.
June 2003, a slashdot user, trying out the new Mac version:
-
I am using Dasher to write this, after having never heard of it before today. I think that it is the most interesting piece of software I have seen in the last year.
It works better than any software has the right to. The interface works really well, and today marks the first day in a while that I have not worried if my job is giving me carpal-tunnel, because I know that even if I lose my ability to type, I will still be able to be productive as a software developer!!!
Plus, it's fun!
I saw this at the Linux expo today ...
It was one of the few things that pretty much blew me away.
It also allows you for example using Gnome's accesibility layer to input into other applications and control the formatting aswell using Dasher alone.
Alex Churchill writes
A satisfied customer joins the group
Hello, Dasher team and users!
My name is Alex Churchill, and I've been using Dasher as my primary
(near-exclusive) text entry system for about six months. This is due
to computing-related injury (RSI, specifically tenosynivitis): I
suffer significant pain using either keyboard or mouse for any
length of time, but my job (and leisure activities) include large
amounts of computer use.
Thankfully, I'm able to compose any amount of emails, scripts, and
even do a certain amount of programming, using a graphics tablet
instead of a mouse, and Dasher as a main keyboard replacement (using
the Windows XP On-Screen Keyboard for occasional keystrokes, and an
excellent program called RemoteKeys for commonly used words and DOS
and Unix commands).
I currently use Dasher at speed 7.7, and am expecting to max out the
speed slider shortly ;) MANY THANKS for producing a program without which I
literally wouldn't be able to do my job!
Best wishes,
Alex Churchill
VB says:
Thankyou. From all my students.
I have recently started teaching students of various ages with varying
forms of disabilities. Although a few can read and write, spelling may
be an issue, but use of the keyboard was very slow and usually caused a
bit of frustration with certain students.
A colleague mentioned Dasher and now my session has been transformed
from a time consuming chore for the students, to one of fun with lots
achieved by the students with regard to writing.
I admire the fact this has been distributed free as I know a lot of the
centres I teach at are always low on funding. This little program is a
work of art, I really don't know why this isn't more widely known
throughout the special needs circles, let alone anywhere else.
Again Thankyou all involved with its development and I wish you long
and prosperous lives.
Wed 27/4/05
Tiago Guerreiro (tjvg) says
Myographic Dasher Control
Hi,
my name is Tiago Guerreiro and I am a MsC student at Technical Superior Institute at
Lisbon, Portugal. My research is in the multimodal interfaces area and its relation
with acessibility.
I am working with electromyographic devices to capture muscle activation.
In my current prototype I can control a mouse pointer with neck side movements or forearm
muscle contractions. I tried my prototype with Dasher and I can write very fast and
accurately. It worked great to show my results. And I didn't have to touch any Dasher
source code....I launched operating system mouse events so I can interact with all the
applications in my computer.
I thought you would like to know about another way to interact with Dasher. With neck
movements this can be used for tetraplegic individuals, for example.
Your work is great... Thank you.
Tiago Guerreiro
Intelligent MultiModal Interfaces Group - INESC-ID
IST/Technical University of Lisbon
Avenida Professor Cavaco Silva, Tagus Park, Room 1-4.26
2780-990 Porto Salvo, Portugal
Tel: +351.21.4233565 (Room 1-4.26)
thislanguage 0000664 0000053 0006057 00000002252 11154325551 012756 0 ustar mackay dasher title=Dasher Project
metafaq=Any questions?
thislanguagename=English
thislanguageinenglish=English
translatedbytranslatorname=Translated by David MacKay
translatedbytranslatorname=
pleasereadthetipsfornewusers=Please read the tips for new users
backtothedasherhomepage=Back to the Dasher home page
sitelastmodified=Site last modified
headcharset=
thislanguage=english
directory=/home/ftp/pub/www/dasher
thisflag=
footer=
The Dasher project is supported by the Gatsby Foundation and by the European Commission in the context of the AEGIS project - open Accessibility Everywhere: Groundwork, Infrastructure, Standards) | |
|