Oct 20 2026
I Voted Yesterday – I Have Notes
My wife and I had nothing scheduled yesterday, so we took the opportunity to vote early. On election day, everyone votes in their voting district. For early voting, the entire town votes in one location at the public library. When we arrived at the polling location we encountered long lines – longer than we have in past elections. Initially I thought this was due to unusually high early voter turnout, and that was likely partly the cause. But the main cause was completely unnecessary inefficiency in the voting process, which is what I really want to write about today.
Let me start by saying that voting is sacred to any democracy. Given that it is a critical right that should not be denied any citizen, it is the responsibility of the state to ensure that all voters have reasonable access to voting and the process should not be unduly burdensome. For this reason I think election day should be a national holiday. I also endorse early voting and voting by mail – voting should be as easy as possible within the confines of voting security. America has incredibly secure elections, with insignificant fraud. Since 2016 there have been only 513 proven cases of voter fraud out of 685 million votes.
But I am now talking about something which has nothing to do with election security, but rather with simple efficiency. For elections efficiency is mission critical, because we need millions of people to go through a secure system in a short amount of time. Anything that decreases efficiency even a tiny amount can not only inconvenience voters, it can potentially disenfranchise them. With that in mind, let me describe the process of voting I experienced yesterday.
There were three lines, separated alphabetically by street name. I get why this was necessary, because they want to keep a paper trail of who voted and this is organized by street. But this created unequal lines, and for much of my wait the middle line had no people in it, meaning that the workers at the corresponding table were idle while the others were backed up. They didn’t have a workflow to deal with this contingency. They also had inadequate signage – you could not read the signs at the front of each line from the back of each line. But that was something they were in the process of correcting while I was there.
The first step in the process once it’s your turn is to give your ID to the worker at the table, who takes a really long time to look up your name on a computer. Then they print out a little ticket with your name, your voting district (in small type at the bottom), and lots of other information of no utility to me as the voter, and I’m not sure if it had any utility. Another worker finds your name, organized by street, and crosses it off. Then you go to the second table, hand them your little ticket, and they give you a ballot that corresponds to your voting district (this is an important detail for later). Finally you get to sit down and fill in all the little circles to indicate your votes.
Normally, the process is almost over. All that is left is that you scan your ballot into the tabulation machine, get your little sticker saying you voted, and leave. But this time there was a long line at the sole scanner. It was explained to us while we were waiting in the original line that they added a step to the scanning process and it is causing delays. So I was curious how they could have screwed up what should be a dead-simple process. It was worse than I feared.
When it was finally my turn at the scanner, there was a poll worker there to help each person through the process. Because this was a multi-district voting location, I had to enter my district number. There are nine voting districts in my town, I am in district 8. Since that is the one piece of information I needed to navigate the voting process, that should have been communicated to me directly. Those tickets are printed off a roll, meaning they could be any size. It would have been trivial to just increase the font size so that my voting district was obvious and easy to read. That is a small nitpick – but remember, we are talking about millions of people, many are old and have poor eyesight. My premise is that such a system should be designed for ease, for accommodation, and for error minimization. This was not the case.
But I knew my district. The poll worker took my ticket and also told me my district number. The first screen told me to enter my district number, on a generic keypad. I press the number 8, then I have to press a button labeled “search”. That was curious – what am I searching on, the number 8? How many options within the number 8 are there? Then I get another screen that has a two-column table. The left column has numbers in the format “0002, 0008” etc. There are four choices. Since I intuitively read from left to right, I started on the left column, saw the number 8, and assumed that was my district. But – the right hand column had the actual district numbers in them, and they did not correspond to the decoy numbers in the left column. So I actually had to select 0002 – district 8. Then I had to press “next”, then scan my document, then press “finish”. Finally I was done and could get my “I voted” sticker.
My question is – how is it possible in 2026 that some software engineer had the task of designing a user interface in which the user has to enter a single digit number, and they managed to make that process take five button presses and introduce unnecessary ambiguity and cognitive load? It’s maddening. This is on a voting machine – and the shitty interface literally caused long lines that caused some voters to bail, potentially disenfranchising them.
Remember, my ballot was already district specific. So why isn’t my district number indicated on my ballot and part of the scan? Why do I have to tell this system what my district number is when it should already know?
If for some reason that is not possible, and I, as the voter, have to tell this machine what my voting district is – why the hell isn’t this a single button press? There are nine choices. The screen should have those nine choices, and you press one of them. Done. If you want a fail safe, then add a “confirm” button with the option of going back and changing what you entered, in case you fat-fingered it or made a mistake. So two button presses at most – not five.
This is a bigger issue that goes beyond voting, and I have been complaining about this for years. As software engineers get more specialized, not all of them are experts in the user interface, and it shows. Companies should therefore hire user interface engineers to optimize the user interface. This is not a luxury – this should be a standard part of all public-facing software. This is especially true when that software is mission critical or used in highly cognitively demanding situations – like while driving, or when treating a patient.
It’s pretty clear that whoever designed that vote scanning software was not a user interface expert. They are some engineer who made a classic lazy mistake – making the end user work for the software rather than the software work for the end user. That lookup table, which included some backend code, was a dead give-away. How did that user interface get through whatever vetting process that vote scanner should have had?
I also investigated the voting machines as much as I could. It seems like they have one mode for the administrative setup by the registrar of voters, and then a “voting mode” to be used by the actual voter. So this could largely be a screwup by the town, not necessarily the manufacturer of the voting machines. I am going to call them later, not only to provide constructive feedback, but to find out how this happened, if they can give any further information. Either way – no voter should have been interfacing with the software that way.
The other lens through which to view this is error minimization. I was involved with this for the hospital where I worked for a number of years – this is also an area that requires specific expertise. It requires identifying every potential point of failure, and building in processes to make sure they don’t happen. Voting is one of those contexts where deliberate and expert error minimization is not optional, it is necessary. What this means is that someone or some committee has to be responsible for reviewing the entire voter experience, from soup to nuts. Every step has to be examined to make sure it is intuitive and easy, designed for efficiency, security, accessibility, and error minimization.
Despite all this – you should vote. Make sure you are registered. Vote early if you can. Get your friends and family to vote. Just vote.




