Re: Prerendering of GUI for voting machines

From: Fred McLain <mclain_at_zipcon_dot_net>
Date: Fri Nov 30 2007 - 12:49:55 CST

Yes, the pre-rendering was my crazy idea. At the time I got involved
the development team was stuck trying to make some wxpython widgets
that would allow for display of a nearly exact rendering of the
approved ballot format. There were several reasons to go with an
image map that were discussed on the development list at that time.

1. An exact match of the approved ballot format
2. An easy way to show proposed ballots to or receive them from,
elections officials (print the image out).
3. Simplified code. The widget and rendering code was going to be the
majority of the code
4. A design to function match. The touch screen is really an image &
event intersection issue, much like a video game. In fact we did our
implementation by finding a great python video game designer (John
Paul out of Canada) to do the implementation in PyGame.

Backing the image was a simple coordinate descriptor file. This makes
code verification much simpler. Once the engine is verified it is
only a matter of verifying the image(s) coordinate mapping file(s).

        -Fred-

On Nov 30, 2007, at 12:36 AM, Alan Dechert wrote:

>
> I attended a talk by Ka-Ping Yee today (well, yesterday, actually,
> since
> it's now morning) at UC Berkeley. "Ping," talked about how much of
> the
> computer code used in computerized voting interfaces could be
> eliminated by
> prerendering. He has written code for a DRE that consists of only
> 640 lines
> of Python code, in contrast to 10's of thousands (or even 100s of
> thousands)
> of lines that the usual vendors have been selling.
>
> All of this sounded pretty familiar. In fact, we used a prerendered
> GUI for
> our demo in 2004. OVS has carried on by using prerendered screens
> in their
> designs. Prerendering has enabled OVC and OVS to get something done
> with
> very little code.
>
> Before seeing what OVS had come up with, I did not think of
> prerendering as
> a way to make a better voting system with less code. OVC used
> prerendering
> just to get the thing done. I never intended the demo to be done
> that way!
>
> Have a look at our page on Sourceforge:
>
> http://evm2003.sourceforge.net/
>
> and check out the architecture link ...
> http://evm2003.sourceforge.net/architecture.html
>
> Note the picture of the ballot:
> http://evm2003.sourceforge.net/ballot-mockup3.gif
>
> I created this in a painting program just to show developers what I
> wanted
> to see. It turns out that this picture became the interface by
> putting
> Python code behind it to capture clicks (or touches) on the screen
> at the
> circles where choices are to be indicated.
>
> This is in contrast to our web demo (where the screen is rendering
> by the
> browser
> http://user.it.uu.se/~jan/voting-project/ballot2.html ).
>
> I'm not sure who first suggested we use the prerendered screen for
> the OVC
> standalone demo -- maybe Fred McLain, David Mertz, or Jean-Paul
> Gignac.
> This may have been a key feature of our demo that we did not
> advertise.
>
> Ping explains the advantages of prerendering in some detail....
> sounds like
> the way to go.
>
> http://www.usenix.org/events/evt06/tech/full_papers/yee/yee.pdf
>
> https://db.usenix.org/events/evt07/tech/full_papers/yee/yee_html/
>
> Alan D.
>
> _______________________________________________
> OVC-discuss mailing list
> OVC-discuss@listman.sonic.net
> http://lists.sonic.net/mailman/listinfo/ovc-discuss
> By sending email to the OVC-discuss list, you thereby agree to
> release the content of your posts to the Public Domain--with the
> exception of copyrighted material quoted according to fair use,
> including publicly archiving at http://gnosis.python-hosting.com/voting-project/
>

_______________________________________________
OVC-discuss mailing list
OVC-discuss@listman.sonic.net
http://lists.sonic.net/mailman/listinfo/ovc-discuss
By sending email to the OVC-discuss list, you thereby agree to release the content of your posts to the Public Domain--with the exception of copyrighted material quoted according to fair use, including publicly archiving at http://gnosis.python-hosting.com/voting-project/
==================================================================
= The content of this message, with the exception of any external
= quotations under fair use, are released to the Public Domain
==================================================================
Received on Fri Nov 30 23:17:30 2007

This archive was generated by hypermail 2.1.8 : Fri Nov 30 2007 - 23:17:32 CST