IMO there's two separate issues here. Voting, and counting votes. For the actual voting, there's a few things that are vitally important. 1. The voter needs to express their intent, and have a high degree of certainty that intent was conveyed. 2. That voter intent should be clearly able to be read manually (if necessary), by another human being without other layers getting in the way. To me this means that the vote recording system should be pen and paper, or something just as simple. Any software layer that gets in between the voter, and voting record can (and will) be buggy. Software, no matter how well examined, adds complexity. Complexity is the last thing you want in an election. The COUNTING system, however is entirely separate. Technology to count votes from paper is decades old. Anyone that's through a school system in the past 40 years has used scantron, and there's several systems that use a similar optical technology to count votes. The counting system doesn't have to be 100% accurate, and 100% bug-free it only has to be accurate enough to account for the majority of elections.... say an error rate of 1/1,000 votes? If the election is closer than the machine count can provide, you can always examine the ballots individually, have both sides examine each an every ballot for challenges, and then have the court system rule on any of these challenges. This is exactly what happened in my state of MN in 2008 in a US Senate race. Out of 2.4 million votes cast, the election was decided by 312 votes. There were several court battles that went to the MN supreme court. The courts ruled unanimously, and eventually a winner was declared. The reason you could even do this was that everything the voter expressed was on the ballot and not interpreted first by machine, but able to be fully interpreted by a human. The system isn't perfect, and "voter intent" isn't always perfectly clear, but it was a lot better than using a software intermediary that creates the mark. Some ballots were thrown out for various legal reasons, but in the end, humans decided, not machines. If we had a system where a software layer sat between the voter and the vote, we might still be fighting court battles 12 years later.