Fast Hands-free Writing by Gaze Direction
eyeshortpaper.tex
% eprint: cs/0204030
% tar cvfz eye.tar.gz eyeshortpaper.tex eyeshortpaper.bbl  dasher/pointer.eps figs/p1053.ps eps/eye1speed.eps eps/wivspeed.eps eps/eye1error.eps eps/wiverror.eps  -C ~/tex/inputs tiny_headings.sty lsalike.sty  nature.bst nature.sty 
% uuencode   eye.tar.gz   eye.tar.gz  > eye.uu
%   http://arxiv.org/upload  http://arxiv.org/replace
%
% Status Tue 2/7/02:
% 692 words, and 250 words in caption
%
\documentclass[12pt,a4paper]{article}
\pagestyle{empty}
\usepackage{epsfig,graphics,subfigure} 
\usepackage{rotating}
\usepackage{latexsym}
\usepackage{nature}
\usepackage{tiny_headings}
\marginparwidth  53mm % width of parbox containing marginal objects
\marginparsep   6mm % space between margin and marginal note
\oddsidemargin  45mm %
\evensidemargin 45mm % was 0.2in
\oddsidemargin=-0.35in
\textwidth=5in 
\topmargin=-0.80in
\textheight=9.510in% was 11in
%\renewcommand{\baselinestretch}{1.042}
%\input{newcommands}
\newcommand{\thedraft}{5.0 (Mon 5/8/02)}
%\newcommand{\eyegaze}{gaze} 
%\newcommand{\eyetracking}{eyetracking}
%\newcommand{\eyetracker}{eyetracker}
%\newcommand{\Eyetracker}{Eyetracker}
\newcommand{\QWERTY}{{\sc qwerty}}
%\newcommand{\qwerty}{{\sc qwerty}}
%\newcommand{\WiViK}{On-screen keyboard}
%\newcommand{\wiViK}{on-screen keyboard}
\newcommand{\labelstyle}[1]{\textsf{#1}}
%\setlength{\topskip}{-2cm}
% ACM class H.5.2;K.4.2;H.1.1;H.5.1;I.2.7  
\begin{document}
\title{Fast Hands-free Writing by Gaze Direction}
\author{}
\date{}
\maketitle
\begin{raggedleft}\raisebox{1.7in}[0in]{{\em Nature\/} {\bf 418}, p.\ 838 (22nd August 2002). {{\tt{www.nature.com}}}}\\[-0.9in]
\end{raggedleft}

{
 We describe a method for text entry based on
 inverse arithmetic coding
 that relies on  gaze direction
 and which is  faster and more accurate than  using an on-screen keyboard.
 These benefits are derived from  two innovations: the writing task is matched
 to the capabilities of the eye, and a language
 model is used to make predictable words and phrases easier to write.
}

 For people who cannot use a standard keyboard or mouse, the direction
 of gaze is one of the few ways of conveying information to a
 computer. Many systems for gaze-controlled text entry provide an
 on-screen keyboard whose buttons are `pressed' by staring at
 them. But eyes did not evolve to push buttons, and this method of
 writing is exhausting.

 Moreover, on-screen keyboards are 
 inefficient because typical text has considerable
 redundancy.\cite{Shannon48}  Although a partial solution to this defect is to
 include word-completion buttons as alternative buttons alongside the
 keyboard,  a language model's predictions can be better
 integrated into the writing process.
 By inverting an efficient method for text {\em compression} --
 arithmetic coding\cite{arith_coding} -- we have created an efficient
 method for text {\em entry}, one that is also well matched to the
 eye's natural talent for search and navigation.

 One way to write a
 piece of text is to go into the library that contains {\em all
 possible books},\cite{babel} and find the book that contains exactly
 that text.
 Writing thus becomes a navigational task.  In
 our idealized library, the `books' are arranged alphabetically on one
 enormous shelf.  As soon as the user looks at a part of the shelf,
 the view zooms in continuously on the point of gaze.  To write a
 message that begins `{\tt{hello}}', one first steers towards the
 section of the shelf marked {\tt{h}}, where all the books beginning
 with {\tt{h}} are found. Within this section are sections for books
 beginning {\tt{ha}}, {\tt{hb}}, {\tt{hc}}, etc.; one enters the
 {\tt{he}} section, then the {\tt{hel}} section within it, and so
 forth.

 To make the writing process efficient we use a language model, which
 predicts the probability of each letter's occurring in a given
 context, to allocate the  shelf-space for each
 letter of the alphabet (figure \ref{fig.hello}a).
 When the language model's predictions are accurate, many successive
 characters can be selected by a single gesture.

 We previously evaluated this system, which we
 call {\sl Dasher}, with a mouse as the steering device.\cite{ward2000}
 Novices
 rapidly learned to write and an expert could write at 34 words per
 minute. All users made fewer errors than when using a
 standard \QWERTY\ keyboard.

 Figure \ref{fig.eye1}b shows an evaluation of Dasher driven by an
 eyetracker, compared with an on-screen keyboard.  After an hour of
 practice, Dasher users could write at up to 25 words per minute,
 whereas on-screen keyboard users could write at only 15 words per
 minute. Moreover, the error rate with the on-screen keyboard was about five
 times that of Dasher.

 Users of both systems reported the on-screen keyboard more stressful
 than Dasher, for two reasons.  First, they often felt uncertain
 whether an error had been made in the current word (the
 word-completion feature works only if no errors have been made);  an error
 can be spotted only by looking away from the keyboard. Second,
 a decision has to be made after `pressing' each character on whether
 to use word completion or
 to continue typing; looking in the word-completion area is a gamble
 as it is not guaranteed that the required word will be there;
 finding the right completion requires a switch to a new mental
 activity.
 By contrast, Dasher users can see simultaneously the last few
 characters they have written and the most probable options for the
 next few.   Furthermore, Dasher makes no distinction between word-completion and
 ordinary writing.

 Dasher works in most languages; the language model can be trained on
 example documents, and adapts to the user's language as she writes.
 It can also  be operated with other pointing devices such as a touch
 screen or rollerball. Dasher  is potentially an efficient,
 accurate, and fun writing system not only for disabled
 computer users but also for users of mobile computers.


\vfill
\raggedleft
David J. Ward and David J.C. MacKay
\\
 Cavendish Laboratory,  Cambridge, CB3 0HE
\\
{\tt
mackay@mrao.cam.ac.uk
}\\

\vfill

%\renewcommand{\baselinestretch}{1.0142}
\bibliographystyle{nature}
%\bibliographystyle{lsalikedjcm}
\bibliography{bibs}


%\vfill
%
%\hfill Version \thedraft
%
% \hfill {{\tt http://www.inference.phy.cam.ac.uk/dasher/}}

\newcommand{\thiswidth}{3in} 
\newcommand{\bigshotmouse}[2]{%
\setlength{\unitlength}{\thiswidth}
\begin{picture}(0.6,0.99)(0.02,0.01) 
\put(0,0){\psfig{figure=#1.ps,height=\thiswidth}}
\put(#2){{\psfig{figure=dasher/pointer.eps,height=0.1207in}}}
\end{picture}
}
%\renewcommand{\baselinestretch}{1.02}
\begin{figure}[p]
\centering\small
\begin{tabular}{cc}
%%%%%%%%%%%%%%%%%%%%%%%%%%% FIG a
\raisebox{1.4in}{(a)}\begin{tabular}{c}
\bigshotmouse{figs/p1053}{0.5149975,0.620}
\end{tabular}
&
%%%%%%%%%%%%%%%%%%%%%%%%%%% FIG b
\raisebox{1.4in}{(b)}\hspace{-1mm}%
\begin{tabular}{@{}c@{}c@{\hspace*{1.52mm}}c@{\hspace*{1.2mm}}c} & & \labelstyle{ Dasher with eyetracker } & \labelstyle{On-screen keyboard } \\
{\begin{sideways}\labelstyle{ $\:\:\:\:\:$ Writing speed}\end{sideways} }& 
{\begin{sideways}\labelstyle{ $\:\:\:\:\:\:\:$ (words/min)}\end{sideways} }& 
 \includegraphics[width=3.7cm]{eps/eye1speed.eps} 
&
 \includegraphics[width=3.7cm]{eps/wivspeed.eps} 
\\
\begin{sideways}\labelstyle{ $\:\:\:\:\:\:\:\:\:$ Percentage}\end{sideways}  &
\begin{sideways}\labelstyle{ $\:\:\:\:\:\:\:$ words wrong}\end{sideways}  &
  \includegraphics[width=3.7cm]{eps/eye1error.eps} 
&  \includegraphics[width=3.7cm]{eps/wiverror.eps}
\\
&
& \labelstyle{Time (mins)}
& \labelstyle{Time (mins)}
\\
\end{tabular}
\end{tabular}

\caption[a]{
 Hands-free text entry. 
 (a) Screenshot of Dasher when the user begins writing
 {\tt{hello}}. The shelf of the alphabetical `library' is displayed
 vertically. The space character, `{{\raisebox{-1mm}{$-$}}}', is
 included in the alphabet after {\tt{z}}. Here, the user has zoomed in
 on the portion of the shelf containing messages beginning with
 {\tt{g}}, {\tt{h}}, and {\tt{i}}.  Following the letter {\tt{h}}, the
 language model makes the letters {\tt{a}}, {\tt{e}}, {\tt{i}},
 {\tt{o}}, {\tt{u}}, and {\tt{y}} easier to write by giving them more
 space.  Common words such as {\tt{had}} and {\tt{have}} are visible.

 The arrow indicates the gaze of the user; its vertical coordinate
 controls the zooming-in point and its horizontal
 coordinate controls the rate of zooming; looking to the left makes
 the view zoom out, allowing  recent errors to be corrected.

 (b) Comparison of writing speeds and error rates
 for two methods of gaze-driven text entry.
 Left, Dasher\cite{dasher164} with eye-tracker, as
 recorded for two expert users of the system (crosses, triangles)
 and two novices (circles, squares); right,   on-screen
 keyboard, used by two experts on the \QWERTY\ keyboard.
 The eyetracking system was EyeTech's Quick
 Glance eyetracker.
 Each user took
 dictation from Jane Austen's {\em Emma\/} in five-minute sessions.
 The language model (PPMD5) predicts the
% other cites here: moffat90
%
% alternate teahan cite:
%  teahan97modelling
%
 next character given the previous five
 characters;\cite{cleary84,teahan95probability} it was trained on
 passages from {\em Emma\/} not included in the dictation.
 Right panels, the two experts took dictation using
 the same eyetracker to control the WiViK on-screen
 keyboard (a standard \QWERTY\ keyboard)
 with the word-completion buttons enabled. 
}
\label{fig.hello}
\label{fig.eye1}
\end{figure}
%\renewcommand{\baselinestretch}{1.042} 
\end{document}

eyeshortpaper.bbl
\begin{thebibliography}{1}

\bibitem{Shannon48}
Shannon, C.~E.
\newblock {\em Bell Sys. Tech. J.}{ \bf 27}, 379--423, 623--656 (1948).

\bibitem{arith_coding}
Witten, I.~H., Neal, R.~M. \& Cleary, J.~G.
\newblock {\em Communications of the ACM}{ \bf 30}(6), 520--540 (1987).

\bibitem{babel}
Borges, J.~L.
\newblock {\em The {L}ibrary of {B}abel}.
\newblock David R. Godine, Inc., Boston, Massachusetts,  (1941).

\bibitem{ward2000}
Ward, D.~J., Blackwell, A.~F. \& MacKay, D. J.~C.
\newblock in {\em Proceedings of {User Interface Software and Technology}
  2000},  129--137,  (2000).

\bibitem{dasher164}
Ward, D.~J.
\newblock Dasher version 1.6.4, available from
  \verb+www.inference.phy.cam.ac.uk/dasher/+, (2001).

\bibitem{cleary84}
Cleary, J.~G. \& Witten, I.~H.
\newblock {\em IEEE Transactions on Communications}{ \bf 32}, 396--402 (1984).

\bibitem{teahan95probability}
Teahan, W.~J.
\newblock Probability estimation for {PPM}. In {\em Proc. of the N.Z. Comp.
  Sci. Research Students' Conf.,} available from
  \verb+citeseer.nj.nec.com/teahan95probability.html+ (1995).

\end{thebibliography}
