<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by GrumpySmurf:<BR>I'm pretty constantly amazed by the whole perceived complexity of a electronic voting system. I mean, this is straightforward Systems Development 201, to create a distributed transactional process that simply increments numbers. By one. At a time.<BR><BR>The inability to get this right (like the above example of 3-1 vs the actual 2-2 effort) says that they either have some of the most inept programmers on the planet or there is downright corruption.<BR><BR>Wasn't the Australian's open source voting system able to fit on a floppy? </div></BLOCKQUOTE><BR><BR>Given the obvious simplicity of creating an electronic voting system, I think we can safely lean away from "inept programmers". We don't even need a distributed system. Each machine should have a CD-ROM and a dot-matrix printer. Before the election, insert a CD with the names of the candidates, and any other ballot questions. The machine reads the CD, and spits it out. The machine should then enter "election" mode. For each voter, display each question, and track internally the responses. Display a summary at the end, allow the voter to approve the summary or make changes. When the voter has approved everything, print out a human-readable line (or two or 10; whatever's needed) to the dot-matrix printer, which has a continuous feed (yay, perforated pages). Bam! Voter-verified paper trail, no missing ballots (print a "begin" and "end" message with a count for that block of paper), and human recounts are possible. If you want a computer recount, I'm sure OCR could read the computer-generated block letters, too. At the end, spit out a total for the machine, and, possibly, each block of paper it printed onto.<BR><BR>Gah! It's so easy, so obvious.