Obviously, I'm leaving out a lot of important details, but I would like to propose the following electronic voting system. I welcome your comments and criticism - I am not interested in a voting system that cannot stand under scrutiny, we've already seen enough of that.
The main problem in the 2000 presidential election wasn't chads or court orders. It was that we just had a really close election. So much emphasis has been put on designing a perfect system, that almost no consideration has been given to designing systems that can fail gracefully. With that in mind, my approach maintains the best parts of a paper balloting system (namely, paper ballots which are - unlike punchcards - human readable) while leveraging the technology where it should be leveraged: in the tabulation process.
The system needs to be split into two parts:
- VOTE PRINTERS that generate completed paper ballots
- TABULATORS that tally the votes recorded on the paper ballots.
The mechanism for recording the votes on the card would be (and here's where all the technology comes in) plain text printed in a font that is both human-readable and easy for a scanner to read using Optical Character Recognition (OCR).
The ballot printers would need to be loaded with a database or list of voting options and candidates before the election begins, then, all they would do is show the options on the screen, let you pick your choices and print you a ballot listing your votes in a HUMAN READABLE AND EASILY OCR-ABLE FONT. No non-human barcodes or hole punches allowed!
For example, the printed ballot might look like this:
USPRESIDENT: MICKEY MOUSE
USVICEPRESIDENT: DONALD DUCK
...and so on.
After you visually verify that the ballot printer has successfully printed the ballot you want to cast, you take it over to the tabulator, which scans the card, OCRs the votes you've cast, shows them its screen so you can see how they were recorded, awaits your OK and stashes the ballot in a sealed metal box. At this point, your vote is counted and you are done.
When the tabulator scans the card, it converts the text on each line of the ballot to a raw text string. Then, it searches the strings it has already encountered (in memory) for a match and increments the vote counter for that string if it is already present. if not, it adds the string to the list in memory and increments the counter for it. (This is how write-ins are accepted, and it also avoids the need to program the tabulator with candidates before the election is held.)
Please note that the tabulator does not "know" anything about the issues in the election, nor about who is running in any race - it only counts the number of occurrences of text strings. Interpretation of those text strings is left in the hands of election officials and the judicial system, where it belongs!
When the election is over, election officials can request a printout of the results from each tabulator and add them together by hand to report the outcome of the election for their district.
INTERESTING NOTES, PROS, CONS, FEATURES, ETC.
- Except for the election data that needs to be loaded to prompt the voter, the ballot printers can be sealed because they would require no software code updates.
- The paper ballots do not need to be preprinted, mapped or keyed in any way.
- The vote counting machine only needs to count the number of times individual text strings appear on ballots, so it does not need to be loaded with candidate or issue data before any election. Therefore, it can be completely sealed (as in "welded shut"!) with no internal maintenance needed! there would only be a simple set of keylocked controls like a 'reset' switch to print vote totals, wipe the memory, seal the ballots in the box and eject the box for transport. Load a new box, and you're good to keep on voting. Even if these controls fail, the cards are still intact and you can recount on a different machine.
- Because of this, write-in votes are indistinguishable from selection votes as long as the voter can spell the name correctly. In fact, the requirement that the ballot printers be preloaded with the candidates for the various races and issues is unnecessary except to make voting quicker with fewer errors due to the standardization of spelling. For example, non-existing or duplicate candidates (such as MICKEY MOUSE, AL GORE and AL GORRE) can be argued by interested parties (such as an official from a candidate's election committee) and awarded to candiates or invalidated by election officials or a judge.
- Se hable espanol? Si! The system can be enhanced to provide for alternate language voting as well. In principle, the board of elections just needs to load the machines with the correct issues in other languages and interpret the results as a Spanish language vote. Flexibility here is provided by the local board of elections, not the hardware.
- Since the ballots themselves rely on OCRable plain text as the encoding mechanism, write-in votes can be easily included, and write-in misspellings can be handled by the election board if necessary.
- Oh, and if (for whatever reason)re-scanning electronically is not an option for a recount, hand recounts are possible, too because the ballots are plain text.
- Since it's as easy for the ballot printer to print two ballots as one, so there's an option here for the voter to take a written record home with them. Now, several other
- Power failure wipes the memory in the tabulator or it fails and needs service in the middle of an election? No problem. Election officials can re-scan or hand count the ballots later.
- The device that knows everything about the candidates knows nothing about the vote totals and vice versa. That should make it a difficult system to subvert.
- Your vote is not cast until you feed the printed card into the tabulator, so you can visually inspect it for correctness and re-print it if it is wrong.
- No networking.
- No software, really, except the OCR stuff. I'm trying to use appropriate technology to make problems go away, not use technology for its own sake where it is not warranted.
You guys are probably going to find all kinds of problems, but I'm interested in hearing your thoughts on this.