We are proud to have this project hosted at:

SourceForge.net Logo

If you can't see the sample ballot on this page, you might try this voting page. I've asked for help with this project, and will cheerfully give citation credit to those that do.

Computer Aided Voting, Not Computer Voting


Noel Brodsky, Ph.D.


The Sourceforge Community

Associate Professor of Economics

Eastern Illinois University

Charleston, IL 61920

Computerized voting? Electronic ballots? Voting on the Internet? No thanks.

Using computers to assist the voting process is another thing entirely.

Problems with Electronic Ballots:

Paul Krugman noted in an Op-Ed piece for the NY Times "Hack the Vote" (December 2, 2003) that electronic ballots suffer from many problems, including scalable ballot fraud, lack of verification (due to the lack of paper trail), and the possibility other electronic mayhem. Rebecca Mercuri, also supports this notion (see here ). A more extensive site for this issue is Verified Voting. The idea of an electronic ballot is largely dismissed, as it would lack either accountability or anonymity. I have yet to see anyone offer a solution, though it would seem that the balance is tipped in favor of the paper ballot. With Congress engaged in voting reform, and Mr. Krugman correctly assessing some of the risks, we should re-examine what we want to achieve with computers and voting.

It is my position that while the current discussion centers on the advantages of electronic voting, it should be oriented towards using computers to assist the electorate in the voting process. Computers can make voting a smoother process by providing the voter and the tabulator a clear statement of each vote cast. It can also make ballots easier to read and easier to check for accuracy. It can also be done in such a way to be relatively low cost relative to the idea of a computerized ballot.

The Layout of How to Do It:

Hereís the idea: to generate a ballot all that is needed is a computer, a touch screen monitor and a thermal ink printer together with a paper ballot card. For each elective office, a screen is generated with the office across the top and the candidates listed in boxes below. The voter touches the box for the desired candidate, and then touches a button marked next at the bottom of the screen. Each successive office (and later proposition/referendum) is cleared in this manner. When the end of the ballot is reached, a summary of all votes is displayed, and the voter elects to cast the ballot or go back. Once the voter casts the ballot, a card (inserted in a printer) is fed through with barcode symbols printed on the right, and to the left the office and the name of the candidate next to the barcode. The voter places the card in a ballot sleeve and drops it in a voting box.

Hereís what the ballot might look like:

Like the system that currently exists, ballots are hand delivered to the county to be counted. Counting machines use the barcode codes to tabulate the ballots, and can be systematically checked for ballot counting accuracy by looking at candidate names and offices that are also printed on the ballots. No more hanging chads, pregnant chads, or any other chads for that matter. Ballots are clearly marked; they can be rejected for other reasons, but ballots are clear enough to be read by man or machine.

For a recall ballot like that in California, the task of placing the names of candidates in the election would surely be difficult. Worse, the process of voting is likely to be daunting. It is possible that all the candidates cannot be placed on two open pages of a ballot, placing the candidates on the third and fourth pages at a significant disadvantage. However, a computer-aided system should make it possible to format a computer screen to include all candidates. But it gets better - the voter should be able to touch a button to re-sort the candidates by name (last or first!) if they wish. This might make the placement on the ballot less important, but presumably the goal is to give voters the easiest way to cast their vote, and the means the voter uses to find their candidate should be their choice. A computer aided voting system places voting power where it should be: the voter.

Issues With the Current Electronic System:

One of the features of the Diabold system currently being used is the opportunity to acquire voting data in real time. There are several dangers to this: first, in small precincts, it is possible that one voter may be voting during a period in which no others are - this would make it possible to know precisely how that voter cast their ballot. That violates a basic tenant of voting in the United States: votes are supposed to be anonymous. Second, electioneering (or dirty tricks) becomes a real threat. Should a particular precinct begin to vote in a way that is undesirable by some party, an event could be engineered to reduce access to that precinct (perhaps an auto accident at a nearby intersection). A computer assisted system does not make real time data available, thus is not subject to this type of election fraud.

Can the system be subject to fraud? Sure. Here are some obvious safeguards: Ballots could be coded with a magnetic strip that identifies precinct, date of election and any other pertinent demographic information to insure legality of the ballot. To insure ballot secrecy, time stamps of the vote and other voter identifying information should not be involved. The thermal ink can also be chemically coded for each election to make false ballots more difficult to create. And, of course, the software that runs both the ballot generators and the counters could be altered. However, since every ballot is coded both with a barcode (to make counting easier) and the printed office/candidate, fraud should be more difficult to carry out, and easier to detect.

The Cost of My Proposal:

Letís consider cost of this proposal. As I said before, all you need is a computer, and touch screen monitor and a thermal ink printer. No network is required, indeed it may be preferred to not have voting booth systems networked. Because very little computer power is needed to carry out this function, a PC-XT or equivalent will work. As a practical matter most XTs are already in landfills and the skills needed to set them up has been largely forgotten. The systems that are destined for landfills now are 80486 and equivalents. Thatís more then enough computing power to do this Ė in effect the computer is free. You donít need a high power operating system either. Any DOS (Disk Operating System) is adequate, and there are many of these, some in the public domain. A small LINUX would work as well. The operating system can also be free, but more importantly open-source, so that the entire process can be reviewed. Touch screen monitor technology has been around for quite some time. While they exist at less than VGA level (CGA and EGA) it would probably be impractical in retrofit newer systems with the cards to drive them. The newest VGA touch screen monitors are available for $500, retrofits of monitors for touch screen use are typically less. Thermal ink printers are among the cheapest and most ubiquitous printers in the world (these are often used to print out credit card receipts).

Barcode readers are also cheap and plentiful. It should relatively easy to adapt a reader to a multi-barcode ballot. Special barcodes could be created for write-in votes so that a machine would stop to allow a write in to be counted (presumably written on a line next to the barcode). Perhaps other barcodes could used to record a no vote taken (abstain) or a none of the above. This is certainly superior to the current system, which requires write-ins to be written on the sleeve rather than the ballot itself. In general, I advise against allowing a keyboard on the voting computers (as a guard against hackers), but a keyboard could be placed in the touch screen for write-ins, which then would be printed on the ballot.

This proposal also has deployment advantages since the primary hardware is already sitting in government warehouses waiting for disposal. There may be a need for thermal ink printers with a specialized feed tray, but that should be fairly simple, as the printing technology need not be reinvented, and inkjets could fill any short-term needs. The biggest problem would be acquiring a large quantity of touch screen monitors (or the equivalent touch sensitive screen covers) on short notice. A mouse is all that is really needed, and it may be possible use mice where touch screen monitors are not yet available, though I believe for the purposes of voting, a touch screen is the right choice.

The estimated cost of each system for a voting booth is well under $1000, probably close to $700. The Diabold systems are typically above $2000 per voting booth. I would venture to guess that if recycled computers were used for the basic computing needs of the system, with a large scale purchase of the necessary touch screen monitors and thermal ink printers, the cost could be driven as low as $500 per booth. The machines needed to read the votes could also be older PCs, all they would need is a barcode reader, which would run no more that a few hundred dollars each.

This system is also flexible and scalable. As long as each voting computer had the same operating system and voting software, and each system had a 1.44MB floppy drive (as most systems past 80386 and equivalents do), each election could be transmitted to each precinct using floppy disks that contain information about offices, candidates and proposition/referendum. It is highly unlikely that such information would ever exceed the size of a floppy disk. In large elections, more machines could be employed fairly easily. In small elections, it is possible that the barcode readers could be skipped entirely, and the votes hand counted.

Conclusion and a Request for Help:

This system works. It keeps the current structure of the voting system, but it improves both the accuracy and the ease of casting votes. It makes votes cast transparent to both the voter and those counting the votes. Fraud is easier to detect and more difficult to perpetrate. It can also be remarkably cheap to deploy. You might even say that such a system has a positive environmental impact as it recycles old computers, and keeps them out of landfills.

Electronic voting, electronic ballots and computerized voting can be frightening. The current punch card system lacks transparency to both voter and counter. A system that prints both vote and a barcode adjacently makes the process much clearer. Computer aided voting is both superior to the current punch-card system and avoids the risks associated with electronic voting.

May I be so bold as to suggest that this idea merits the assistance of the open-source community? I would like to build a prototype working model of this voting system, but I lack the programming skills needed to make this idea functional. There are several other projects that are using a similar strategy, though as far as I can tell, none quite as simple as the approach suggested here. One is at the Open Voting Consortium. Another, already at SourceForge is the EVM2003. Other efforts include the Vogue AutoMark, which uses a bubble fill-in, and an approach called Populex.

The initial requirements of this approach

The basic software requirements would be: (1) the software runs on an x86 compatible machine, (2) the operating system is open-sourced, (3) the election software is open-sourced, (4) the drivers for the printer are loaded, with 2 fonts installed - say Times, and a barcode font (you could use this free barcode font by Matthew Welch), (5) a driver is loaded for a mouse (in the form of a touch screen), and (6) a driver is loaded for the monitor (VGA resolution or higher). If possible, the operating system and the election program would load from a 1.44MB floppy, and the election data would also load from a 1.44MB floppy. The desire for the use of floppies is mostly about keeping things as small as possible. CD ROMs can work just as well, though some older systems are not equipped to boot from them. Certainly a floppy could be used to boot the system, and then be directed to read the CD. Note that the Linux Router Project has a finished product that loads entirely from a floppy. It would be nice to also have a vote counter - using a barcode reader for input, and some form of tabulator for counting.

A separate structure for the disabled voter

At this time, we still need to develop a method for diabled voters, which is likely to use some form of speech recognition. Here, it is fairly clear that a more elaborate system is needed, more than likely a full operating system like Linux, that includes speech recognition, and text to speech. A random number seed could be set, so that a ballot page starts with some random 2 digit number to describe a particular vote. To keep it simple for the voter, the numbers would then proceed sequentially. The voter would have a headset on, so they could speak the number that corresponds to the desired vote. Sight-impaired voters would only need the ballot to be loaded into the printer, and could probably complete the process from there. Mobility impaired voters would need the ballot to be loaded and taken from the printer and placed in the ballot sleeve, presumably by an election judge. Visually impaired voters could also opt to have an election judge review the ballot with them to verify the text of the ballot (the verification of the barcodes would happen at the county level).

Considering the alternatives (punch cards, electronic ballots) either this proposal or something else should be pursued to protect the integrity of American elections.