Possible use of Python for a voting machine demo project -- your feedback requested

Andrew Dalke adalke at mindspring.com
Sun Jul 20 18:35:21 EDT 2003


Alan Dechert:
> will change.  For example, when the voter selects a president/vice
president
> pair, the background will change; the non-selected pairs will be greyed
> while the selected pair will be highlighted (very brightly -- should light

"greyed" in normal UI parlance means the option is no longer selected.
What happens if someone pressed the wrong button?  How is the correct
selection made?

> 3) When "WRITE-IN CANDIDATE" is selected, a large widow (maybe the full
> screen) will pop up with a QWERTY keyboard in the upper half.  This
keyboard
> will have only three rows with the alpha keys (no punctuation or numbers
> needed except for perhaps the hyphen... no shift, all CAPS).

No apostrophe?  What if I want to vote for "O'Reilly"

> selected.  De-selecting one of the selected candidates reactivates the
> others.

Ahhh, I think I would have been confused by that.

Then again, I get confused at time by the machine I use now.  :)

> 7) The County Commissioner race illustrates how ranked preference voting
> would look.  When the voter selects the first one, the button in the "1"
> column is filled and the text "1st" will appear in the space between the
row
> of buttons and the candidate name.  When the next selection is made, the
> corresponding button in the "2" column is filled and "2nd" appears, and so
> on.  There is a "CLEAR CHOICES" button in case the voter wants to start
> over.

Heh.  I read "CLEAR CHOICES" as a command "the choices are clear".
What about "RESET CHOICES", or an alternate like

  Bill the Cat     [1]  [2]  [3]  [4]
  Snoopy Dog  [1]  [2]  [3]  [4]
  Go Fish         [1]  [2]  [3]  [4]
  Lucy Ricardo [1]  [2]  [3]  [4]
  James Kirk    [1]  [2]  [3]  [4]

and how are writins added to this?

*sigh* .. I know just enough to ask questions and be annoying, but not
enough to know the answers....

> 8) The printout is intended to come from a personal laser printer located
in
> the voting booth.  For the demo, we'll probably use the HP Laserjet 5L.

I approve of the Mercuri system (I think that's what it's called when a
paper ballot is generated from an electronic ballot - the all-electronic one
I use now is scary).  I was just thinking though.  Suppose I wanted to rig
the elections by paying for votes.  If I know the format of the ballot, I
could generate them myself on specially marked paper then give that
to the people who I've payed for the vote, who go through the process
of voting but use the paper I gave them instead of the printout..  Later, I
or my cronies get access to the ballots (eg, "I'm a reporter and I want to
verify the votes") and can see if my special ballots are included, and
reward/punish as appropriate.

Not likely to be a problem in real life, but just something I was
thinking about.

> California ($200 million) and the Help America Vote Act ($3.9 billion) a
lot
> of public funds are being wasted on outrageously expensive hardware that
> will be obsolete in a very few years.

That's for certain.  The tendency to move to higher-tech, more expensive,
and less trustworthy voting machines is scary.

> for conducting elections will be created.  We anticipate having quite a
few
> non-academics involved too.  For example, Roy Saltman is probably the best
> known voting technology expert and he's not an academic.  I'm not an
> academic either.

The only person I've heard of in this field is Rebecca Mercuri, who
I think is an academic.  I've read a lot of RISKS.  :)

> The
> selections will be bar coded in a strip on the left edge.  Probably,
> write-in candidate names will be in a separate bar code.  The printout
will
> list the voter's selections in text that can be easily read by humans and
> scanners.

The phrase "bar code" scares me in that the bar code and the human
readable text may differ.  Why not just have everything in text?

> Blind voters will use the system wearing headphones and using a
> hand held device to register selections.

Isn't that overkill?  I seem to recall that already there are provisions
for people with special needs to have someone in the booth to help.
In addition, how does a blind person do a write-in vote?  Or someone
who is illiterate and hard of hearing?

> So, please let me know what you think about using Python for this demo.
> Also, if you are a Python expert and would like to help as a volunteer
> (we're all volunteers until the project gets funding), please contact me
> ASAP.  We want to have a demo running very soon!  -- within a few weeks.

Python would do this just fine.  There are the various GUI projects, but
this sounds like a good place for pygame.

My caution though is that usability testing for this is deeply hard,
and I would advise against "a few weeks" even for demo prototype
code as you suggest.

                    Andrew
                    dalke at dalkescientific.com






More information about the Python-list mailing list