Reading Impaired Interface

From: Jan Karrman <jan_at_it_dot_uu_dot_se>
Date: Mon Dec 22 2003 - 13:39:13 CST

Although the following is related to the demo, I'm sending it to the
old list since I believe more than the demo developers may be interested.

There is now a version available of the Reading Impaired Interface that
you can test. You can download the source from the CVS Repository, or
from

  http://user.it.uu.se/~jan/voting-project/rii.zip

The associated audio files can be downloaded from

  http://user.it.uu.se/~jan/voting-project/audio.zip (15Mb)

(I don't believe I can make a File Release upload to SourceForge.)

Put the audio files in a subdirectory 'audio'. The script calls the
'sox' command to play the audio files. This was installed by default on
my RedHat 9 system. It is available from http://sox.sourceforge.net.

You can run the application (runrii.py) without the audio files - text
will be printed that is supposed to be read out (sometimes it will only
be an indication). Note that, along with the text, the name of the
corresponding audio file is printed.

The introduction has not yet been written, but one navigates through
the ballot with the arrow keys, and the Escape key is used for help.

You can reset the application with Ctrl-C. Terminate with two quick
Ctrl-C.

I have used curses, this means that it may not be possible to test it
on Windows machines (may work together with Cygwin). But if you have a
shell account on SourceForge (only developers I suppose), you can log
on to shell.sourceforge.net and test the application there. Execute the
command

  unzip /home/users/k/ka/karrman/rii.zip

to unpack the necessary files to your directory. You will then of course
not be able to hear the audio files. For this you will also need an ssh
client that emulates some terminal type that curses supports. I have
tested these, and they worked fine:

  ftp://ftp.ssh.com/pub/ssh/
  http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

You can force the text mode (no audio) by calling the script with the
command line option -t. This makes it a bit quicker to test. You can use
the option -s to save postscript to a file ballot.ps, and -p to print to
a printer. You will need to configure the printing command, defined at the
top of the file RII.py for this. You will of course also have to install
the postscript printing routines to be able to save or print postscript.
There is also an option -d that gives some debugging output.

This implementation is more structured than the first version. It has a
number of methods that are called after each valid key-press. Which method
that is to be called depends on which key is pressed, and what the current
state in the voting process is. For example, if in the candidate selection
state (the slow list), and the voter selects a candidate by pressing the
down arrow key - then the select_down() method is called.

Things to be done:

 * Implement the arrow key chase - you know like "no, that's the Shift
   key. The arrow keys are to the right." etc. I'm not sure if this is
   really necessary, though. Since there is a possibility that another
   voter left in the middle of the process, shouldn't a pollworker
   follow the voter to the voting booth and make sure that the app is
   its initial stage. Then he can at the same time give instructions:
   "Here are the arrow keys, use them to navigate. This is the Escape
   key, press it for help.". A person that isn't used to computer
   keyboards must probably be instructed anyway; "Press a key" does not
   mean "press and hold", etc.

 * All audio files have not been not recorded yet.

 * Some of the texts are not yet written, for example the introduction.
   I'll need some help with this.

/Jan

PS Here is a picture from my home town Uppsala, taken at noon at the
winter solstice: http://user.it.uu.se/~jan/solstice.jpeg .
==================================================================
= The content of this message, with the exception of any external
= quotations under fair use, are released to the Public Domain
==================================================================
Received on Wed Dec 31 23:17:17 2003

This archive was generated by hypermail 2.1.8 : Wed Dec 31 2003 - 23:17:19 CST