Here's an alternative.
Canada uses paper ballots. A federal agency prints them all. Every riding has exactly the same format. They include the names of candidates in alphabetical order and do not include the candidate's party. (This is a somewhat controversial omission.) The background color of the ballot is black, and next to each name there is a white circle nearly as big as a dime. There are instructions with a picture that show you how to mark an X in the circle. A pencil is provided. The completed ballots go in a sealed cardboard ballot box.
Two people run the poll, a deputy returning officer and a poll clerk. They are nominated by the parties that came first and second in the riding in the last election. In addition, each party running in the riding is allowed to send one scrutineer to the poll to oversee the vote.
About 200 people vote at each poll. At the end of the day the ballot box is unsealed and the ballots are counted by the deputy returning officer. He or she lifts up each ballot, calls out the name, and puts it in a pile for that candidate. The polling clerk and scrutineers can see the names. They have the right to inspect ballots and to ask for a recount. When everybody's satisfied, the form with the count is signed. The form and the polls go back in the box, which is resealed. The box is picked up by an elections official. The deputy returning officer calls the riding's Returning Officer and reads the count. All this takes very little time; most polls have reported their vote within 30 or 40 minutes.
As a usability practitioner, the Canadian system strikes me as simple perfection. Except for the names of the candidates, the ballot never changes. It accommodates everything from low vision to low intelligence. It's cheap and safe and it works.