Friday's Rant, 11 October 2002

October 11, 2002 - Reading time: 10 minutes

In our rush to fix the problems that led to the recent election-related debacle, several states are trying to implement electronic voting systems to ensure quick and accurate election results. In theory, this seems like an excellent idea -- after all, an all-electronic system means no hanging chads, no butterfly ballots, and no manual recounts. The problem is that so far, we apparently haven't come across a way to do it right.


After the 2000 presidential elections, everyone had an opinion on how our voting system should be improved. Among the worst ideas were internet voting or voting at ATMs. Thankfully, those ideas weren't implemented, but some of what we've seen in 2002 is just as bad. Why bad? After all, an MIT/CalTech press release bubbled on about the wonderful improvement in Florida's voting technology in 2002. "On average," it says, "2.0 percent of Democratic voters recorded no vote for governor in [Brevard, Broward, Duval, Hillsborough, Miami-Dade, Palm Beach, and Pinellas] counties ... this is a 35 percent improvement in performance. ... These results are very encouraging."


I cannot begin to apprehend the confusion of ideas that could provoke such a statement.

Democracy has failed if even a single voter is not heard in an election. Period. According to the 2000 census, the seven counties represented in the MIT/CalTech study contain 6,260,142 residents over the age of 18. I don't know how many registered voters are in those counties, and how many of those are democrats, so for the sake of argument, I'll say that 5% of those 6,260,142 residents are democratic voters that went out to vote. (this may be unnecessarily conservative but it should work for the sake of this argument). If this were the case, over 6,200 votes were not counted in those seven counties alone. Over 6,200 votes. This is nothing to be proud of, even if it is an improvement.

Problems that did occur in the seven counties were lightly dismissed by Professor Charles Stewart, an MIT professor working on the Voting Technology Project (which released this statement), as "problems encountered preparing for election day, such as training poll workers." Next time you wonder why your computer is so hard to use, keep in mind that Charles Stewart is a professor at one of the nation's most respected engineering schools. Does he tell his students that user interface design and end-user training are unimportant? That engineers design circuits, and problems with the final product can be attributed to incompetent users? Blaming the user is a common fault among engineers who feel that if they understand their product, so should everyone else. Everyone else isn't an engineer, though, or a computer scientist. Not accounting for end users is the biggest mistake an engineer can make.

Blaming hapless poll workers or poorly funded local election commissions, while easy, overlooks two fundamental problems:

  • The voting equipment was unintuitive enough that the average poll worker was unable to administer it. This is unfortunate because those are exactly the people who must administer it -- they are often the same people every time, so it's not like there was a surprise ("What, you mean old people are going to run these?!"). The equipment should not require any specialized training that cannot be fit, in legible text, on a sticker on the back of the machines. Training seminars should not be required.
  • The voting equipment was unintuitive enough that many voters were not able to operate it. Voting should not be hard. Voting should not require training, or practice votes. My grandmother should be able to vote without asking for directions. People select items from lists every day; it is a conceptually easy task. If the user interface is complex enough that people don't know how to do such a simple task as choosing one item from a list, the user interface is a failure.

Having said all of that, we can't dismiss some of the problems so lightly. Here are some of the more spectacular failures that happened in the 2002 Florida elections:

  • The ES&S voting machines that were approved by the state for use take 10 minutes to boot. Machines designed for visually impaired voters take 23 minutes to boot. This is appalling. There is no good reason for a special purpose computer to take that long to boot. In addition, the machines must be booted sequentially, and many cannot be turned on before 6AM on election day, so a polling place with 20 voting stations, including 2 stations for the visually impaired, won't be fully operational until at least 9:46am.
  • In Union County, 2700 optically scanned ballots had to be hand counted, because a computer bug resulted in only republican votes being counted. Was this system tested?
  • In Duval and Orange Counties, optical ballots did not fit in counting machines. Some election officials took to trimming the ballots with scissors or pocket knives to make them fit.
  • In several precincts in Miami-Dade and Broward counties, electronic voting machines showed over 40% residual (lost or missing) votes, and vote data had to be extracted from backup memory inside the machines.
  • One south-Florida precinct showed a 1200% voter turnout, 12 times as many voters as were registered.
  • A state of emergency was declared to extend the election day by two hours so that people who were unable to vote because of equipment problems (or "problems encountered preparing for election day, such as training poll workers") could do so later. (How is the governor declaring a state of emergency "encouraging?")
  • At the end of the day, some polling place workers in Miami-Dade and Broward counties did not know how to turn off the voting machines and retrieve votes, so an unknown number of votes there went uncounted.
  • Liberty City, a precinct in Miami-Dade, had 1,630 registered voters but only 89 recorded votes.
  • In an election with an average voter turnout of more than 30%, about 60 Miami-Dade precincts showed a turnout of less than 10%. Some showed a turnout of 0%.
  • Miami-Dade county gave its poll workers written instructions for using voting equipment in English. Apparently, some poll workers could not read English; in some cases they could not read at all.

This list could go on, but there is no point in berating the obvious. The fact is that voting should not require training, but apparently it does. Electronic voting systems should fix this problem, but so far they haven't. An electronic voting system needs to meet several requirements:

  • Accuracy. You should vote for someone by pushing a button. Pushing buttons isn't hard, especially if they are large, evenly spaced, easy-to-press buttons. Resistive or capacitive touch screens are not a good solution in terms of buttons. Resistive touch screens don't work well if you press the pad of your finger on them. Capacitive touch screens don't work well if you press with your fingernail. Both methods suffer from long-term durability, reliability, and calibration problems. Infrared touch screens are better. All touch screens need to be cleaned frequently to remove grease, smudges, and prevent communicable infections. Once you've voted, you should be presented with a list so that you can confirm that you voted correctly. There should be an easy way to correct any mistakes. Once the voter is satisfied, the vote must be recorded using at least two methods. At least one of those methods needs to be human readable, for verification and recounts (if necessary).
  • Anonymity. This has been a no-brainer since the early days of voting, where ancient Greeks dropped stones into vases. Now people drop paper ballots into boxes. Exactly how the vote is encoded on paper isn't really relevant, as long as it can be accurately counted, and not be connected with the voter.
  • Auditability. As stated before, there needs to be a human readable output for every vote that can be verified by the voter and securely stored for use later in the event of a computer foulup. There will be computer foulups. There always are. Be ready for them.
  • Reliability. Maybe this should read "failing gracefully." The equipment should fail gracefully, the whole system should be able to handle individual component failures gracefully, and the system as a whole should fail gracefully. What happens if the power fails? What happens if someone accidentally damages a touch screen? What happens if the software crashes? Why did the software crash, anyway? Was it tested thoroughly? What is the defect rate on the equipment? How do you fix problems that occur on election day? Single-purpose software isn't conceptually hard to program, and given a limited number of input methods, it shouldn't be hard to make software that will get through the day without crashing. Having said that, there needs to be an easy way for poll workers to return the system to working order in case it does.
  • Scalability. The same system that handles two candidates needs to handle 12 candidates. The end result needs to be legible and intuitive. It is assumed that the machine will have enough capacity to store every vote made in a day, especially considering that there is a fixed, finite, and readily available number of registered voters for every precinct.
  • Security. Who programs the machines? Who has access to the source code? Who can change the source code? Who confirms that the proper source code is uploaded to the machines? Who supervises the process? Who certifies the source code? How are the results transferred to a central location? Constant supervision is good. Independent code audits are good. Random sampling of the code that is actually on the voting machines is good. Open Source is good.  Background checks on the programmers is good. Hiring Russians who outsource programming to undisclosed third parties is bad. Hiring people convicted of vote fraud is bad.
  • Speed. Isn't that one of the great features of an electronic voting system? Let's know the results right away. The voting machines, since they are single-purpose machines, should boot and be ready to use in seconds, not minutes. It's not hard. Really.
  • Ease of use. You shouldn't need training to vote! All you're doing is picking someone out of a list. If it's really so hard, it's the fault of the user interface designer, not the voter or the poll worker. You also shouldn't need training to administer the voting machines. The machines should have an "on" switch and a screen. Nothing else. The people at the polling station should have to do nothing but turn on the machines at the beginning of the day, and turn them off at the end of the day.


None of this is hard, or difficult to fathom. However, I've never accused our elected officials of being competent. I say lets go back to dropping stones in vases.