User Interfaces, Usability, and Trust in Electronic Voting: Let's Fix This

Yesterday was primary day here in Virginia so like a good citizen I voted, not only because I believe, to quote Churchill, that "democracy is the worst form of government except all those other forms that have been tried," but because I was genuinely curious from a geek perspective how the electronic voting machines would work this time around, if indeed we even had electronic voting machines. So yesterday afternoon I went to my local polling place and was a bit mystified at what I found.



The polling place itself was a local elementary school and was clearly marked, with signs pointing directly to the doors to the voting area. I did find it rather arbitrary that they had a "No campaign signs beyond this point!" sign about 50 feet from the doors, with an Obama sign (among others) practically touching that sign, not to mention the field of signs in and around every walkway leading to the voting area. There weren't many people in line; I specifically went in the middle of the day to avoid issues like long lines and traffic that likely crop up as people leave work. Especially with the icy/rainy weather yesterday if I'd waited until 5 pm I likely wouldn't have been able to vote since the polls closed at 7.



Trust Issues



When I walked in I overheard a voter talking to one of the election volunteers about the electronic voting machines, specifically their security. The security of electronic voting machines in general is like a bad joke, one which for me culminated in last year's report that someone made a physical copy of a key from an image of the key on Diebold's web site and--surprise!--the key forged from a seemingly innocent JPG on Dieboold's site opens all Diebold voting machines. The REALLY funny thing is that the image was taken from Diebold's online store where you can order replacement keys for voting machines. I certainly hope they verify who is ordering replacement keys, but given the fact that a single key opens all voting machines and that they put a clear enough picture of the key on their web site that someone can just make a physical key from it, security doesn't seem to be at the top of Diebold's list.



Back to the conversation I overheard. The voter, who was about to vote (they funnel you in and out in a specific way so unless he came back in, he couldn't have voted yet), was asking the election volunteer whether or not he could truly trust voting machines. I had to bite my tongue not to jump in and go on a rant, but I was curious to hear the volunteer's response. He said that in his opinion, compared to paper ballots, it's more difficult for people to alter the votes with electronic voting machines. To some people that may seem true on the face of it. I won't bore you with all the stories countering this man's opinion, but I do think Ars Technica's "How To Steal an Election by Hacking the Vote" is a rather frightening must read.



The voter and the volunteer then got into the issue of the inner workings of the voting machines, and the volunteer admitted that there's no way for "normal people" (as he put it) to know what's going on inside the voting machines. It's far worse than that. In most cases there's no way for anyone, normal or otherwise, to know what's going on inside the voting machines because the software running the voting machines is not open source. Something must be done about this. Treating our entire democratic process as a black box that we just assume is working on the inside is seriously scary stuff. I'll pick on Diebold a bit here again since they're the most egregious example of what's wrong with our electronic voting process, and just say that any company with such huge partisan ties that doesn't let me see the source code to their software is not to be trusted.



As a programmer I'm obviously a huge technology fan and probably see technological solutions to practically every problem, even in some cases where they're overly complicated or just don't make good sense. In the case of voting, however, I'm exactly the opposite. There's something comforting about a paper ballot to me because I can see it, touch it, and review it. It's not a black hole. I don't just push a button and send my vote into the void, hoping that the programmers who wrote the software for the voting machine and the company behind it can be trusted, and hoping that from a technical aspect the programmers engaged in rigorous testing and code reviews to ensure that there aren't any inadvertent bugs, side effects, etc. in the code that would cause my vote to be mangled or lost as it travels from the screen to whatever storage mechanism lives inside the device. On this note, one interesting sub-plot in an otherwise rather abysmal movie, namely "Man of the Year", was the fact that there were bugs in the voting machine software that caused an inaccurate outcome in the election. When the situation was brought to the attention of the management of the voting machine company, their response was that the results don't matter. What matters is that people have the opportunity to vote and that the democratic process took place. I have to wonder how true this sentiment is in the real world of electronic voting.



Enough on that topic. The bottom line is that the Federal Election Commission should flat-out refuse to use voting machines for which the source code is not available to anyone--and I mean ANYONE--who wants to see it. I'm not even sure who to lobby about this issue, and it's a big enough one that I know lots of people are doing just that, but this needs to be changed now. With all the scandal of the 2004 election it's simply amazing to me that, from what I can discern, nothing has been done about this issue. Makes me rather ill, quite frankly.



On to the voting machine itself. When I laid eyes on the thing I immediately thought of something like the inventory scanners used in retail stores. Not from how it looked physically, but the voting machine had no network connectivity, so I'm assuming that all the votes on the machine are stored locally on the machine and that each machine is later plugged into a computer somewhere where the votes are downloaded to a central database. I have no idea how any of the following situations are handled, which again makes me a bit uneasy about putting my trust in the thing:



  • What happens if the memory on the voting machine fills up?

  • What happens if my vote fails to be saved? Do they have good error handling in place? (You might say "I'm sure they do" but how do we know that?)

  • What happens if the machine loses power as I'm submitting my ballot?

  • What happens if the data on the voting machine gets corrupted? Are all those votes simply lost?

  • How does the data get transferred to the central location from which all the votes are tallied?

  • How does this other process work? Many local machines all feeding into a central database or what?

  • Similar questions as with the voting machine arose about the entire backend process and how the votes ultimately get counted


Perhaps I just have issues, or perhaps I've just been a programmer for too long that these are the things that went through my head while I was voting. The lack of transparency in the whole process is what disturbs me. This information should be completely out in the open and any registered voter should be able to see the source code and have every question answered down to the last detail. At my polling place I could have asked questions, but I highly doubt (and no offense to the good volunteers working at the polling place) anyone would have been able to answer my questions, and probably wouldn't have even been able to point me to someone who could answer my questions.



Weird as it sounds since I consider myself such a huge geek, the bottom line is that I don't trust electronic voting machines. Worse, there were no alternatives for me. There wasn't a paper ballot in the place, so I couldn't have even demanded one. Until the trust issues are resolved, I firmly believe everyone should be given the option to choose to use a paper ballot if they choose to do so. Not that there aren't problems with those as well, but giving people the choice is extremely important, particularly given the fact that most people don't trust electronic voting machines. The odd thing here is that this situation is backwards from most situations with technology. There are people who don't know a thing about how e-commerce works, for example, who just don't trust putting their credit card number in a form on a web site, but they will gladly hand their credit card to a waiter at a restaurant or give it to someone over the phone. In this situation, the mistrust is completely misdirected. In the case of electronic voting, however, people who do know about technology and have grave concerns and don't trust the technological solution in this case, and that's extremely disconcerting.



This is the best we can come up with in 2008?




Sorry for the tangent--clearly I have trust issues. Back to the voting machine itself. The voting machine I used was an eSlate made by Hart Intercivic, and it looked exactly like this:





You can even try it out yourself on Hart's web site. I made a conscious decision not to try out the voting on the demo machine they had at the polling place (this is a real machine they use to train people--wonder how they keep it straight not to count those votes?) to see how confusing or difficult the machine was to figure out.



The first step of the voting process was to enter a numeric code I was given after my name and address were verified. The screen was largish and very easy to read, and had a nine-digit keypad displayed on the screen. I touched the screen to punch in my code and nothing happened. I assumed maybe the sensitivity on the touch screen was set to a very low level, so I pushed harder and nothing happened. I read the instructions on the device and realized where I had gone wrong.



This wasn't a touch screen.



Now this may seem like I'm just so enamored with my iPod Touch that I'm being a technosnob, but nothing could be further from the truth. From an intuitive standpoint when I see a large nine-digit keypad on a screen, my instinct is to push the buttons on the screen. Many ATMs have worked that way for years. So imagine my surprise (I'll stop short of saying "horror") when I realized that I had to use the wheel at the bottom right of the device to navigate to the correct numbers on the screen to enter my code. Think the scroll wheel on an iPod only a whole lot crappier.



This was not going to be a good experience.



I'm starting to think maybe I was a usability person in another life, because I was absolutely appalled at this. (I have another horrific usability story about downloading Visual Studio 2008 from MSDN that I'll save for another day.) There's a screen there. With numbers on it. The numbers are big enough that I could practically use my whole fist and not hit two numbers at once. And you're making me spin a really crappy wheel to get to my numbers. This isn't me being a technosnob, this is me having to work far harder than I should have to, with a device that's far more prone to error than simply touching what I want, thereby making the whole process unnecessarily difficult and utterly counterintuitive.



After "dialing for dollars" and getting my code into the machine, I then pressed the "enter" button to the left of the wheel. There's also a big red "Submit Ballot" button over on the left, but I'll get to that in a moment, and at any rate it didn't seem like the logical button to push here. This brought me to the actual ballot screen. Since this is just the presidential primary there was only one choice to make as opposed to a complete ballot with numerous issues and candidates from which to choose. I'm pointing this out to make it clear that this is the simplest ballot that will ever exist on this machine, meaning this is the simplest experience from a usability standpoint that anyone will ever experience on this machine.



When presented with the ballot screen, I again had to use the trusty scroll wheel to navigate to my selection. The screen was laid out with a large header at the top of the screen, an explanatory paragraph explaining how to make a selection, and then a series of vertically stacked checkboxes with the candidate's name to the right of each checkbox.



I clicked the scroll wheel to the right and it highlighted the header paragraph. Why? I can't take any action on that. I clicked the scroll wheel to the right again and it highlighted the explanatory paragraph. Why, why, WHY? With another click of the scroll wheel I was at the first candidate's checkbox.



I have many issues with this entire process from a usability standpoint, but the main one is, for the love of all that is good and holy, don't let me highlight stuff I can't take any action on. Why on earth do I need to be able to highlight header text and paragraphs of instructions?



So at this point I had the first candidate row highlighted, and again without reading the instructions, I was wondering what I was supposed to do. If I have my chosen candidate highlighted, can I just hit "Submit Ballot?" Do I have to hit "Enter" first? I decided not to push my luck by hitting "Submit Ballot" to see if it would error out and tell me I didn't select a candidate, so I decided pressing "Enter" was the logical choice. My point with all this is that I shouldn't have to think about it this much. If the whole thing was a touch screen I could have just touched the checkbox next to the candidate of my choice, touched another button that had logical instructions on it like "Next" if there was more to vote on, or "Submit Ballot" if I was at the end of the ballot, and been on my merry way. I cannot begin to imagine how poorly this machine fares with ballots that are more than one screen in length, not to mention the horrendous problems with write-in candidates.



After selecting my candidate, I pressed the big red "Submit Ballot" button and was presented with a confirmation screen, but not the one you might expect. This was not a true confirmation screen in the sense that I could review my selections, this was a "You're done, now get out" screen that gave me no comfort whatsoever. I suppose calling it a "confirmation screen" is giving it too much credit because once I hit that "Submit Ballot" button my vote was presumably sent into the black box that no one lets me see inside, and I was told to leave. OK, it wasn't actually rude about it--I think it said something like "Your vote has been recorded. You may now leave the voting booth."--but I still would like to have seen a true confirmation screen that let me confirm my selection, go back and change it if my finger slipped on the scroll wheel right as I clicked "Enter," and then submit my ballot.



Much in line with my feelings on some of the presidential candidates themselves, I found myself screaming (in my head--didn't want security to come after me), this is the best we can come up with in 2008? This machine could have been better implemented by practically anyone I know in the programming or design field, and Hart Intercivic can't do any better than this? I'm sure Hart is making a mint on these machines, so what's going on here?



It Always Comes Back to Google (and Apple)



The thing that's most frustrating about this situation is that it's not like we're in the infancy of user interface design. Great example of UI design abound, and good touch screens exist on devices as inexpensive as the Nintendo DS and even cheaper. This isn't a technological issue, and it isn't even a money issue, which leads me to think it's just flat-out laziness on the part of the companies building these atrocious machines, combined with the fact that we as citizens aren't demanding something better both from the standpoint of usability as well as transparency.



Touch screens aren't just about the wow factor, they're about usability. It's intuitive to press buttons you're looking at on a screen, and the thing that many people tend to forget about touch screens is the most important part: they're malleable to the particular state of the application. If I need a next button, one will show up on the screen. If I need a "submit ballot" button, again, it won't be there until I need it. The machine doesn't have to have physical buttons with hard-coded text printed on the button that by nature must be ambiguous so it can be used in multiple scenarios. A touch screen solves so many issues on so many levels that it's clearly the ideal choice for something like an electronic voting machine.



Rather coincidentally, this week Google started opening the kimono a bit on Android, their soon-to-be-released open source operating system for mobile devices. The Android SDK is actually available now and applications are already being built for it, with most analysts predicting we'll probably see purchasable hardware running Android before the end of the year.



So how does this relate to electronic voting? I strongly encourage you to watch this Android introduction video (also available directly on the Android code page on Google Code) to see what good usability really is. It's here, it's real, and it's available in an open source operating system that runs extremely well on low-power devices. Touch screen or not, something like this is light years ahead of the eSlate with respect to usability. Another phenomenal example of usability is of course the iPhone, which if you've dismissed as all hype and no substance, you need to take another look at it. Hate Apple and/or AT&T all you want, think it's too expensive, etc., but I don't think anyone can deny that usability was clearly the most important aspect of developing the iPhone, and it absolutely shows in the end product. Cell phones have sucked for years, and every cell phone company should be kicking themselves for not coming up with something better sooner. Love them or hate them, Apple changed the cell phone and mobile device game forever.



Back to Android. My first impression of the touch screen demo in the Android video is how "iPhone-like" it is, which means that Apple got many things right and we're starting to see some usability standards emerge (it's early yet, I know) in the mobile space. My second impression was how utterly intuitive it must be to use. I have this same feeling about my iPod Touch. I get rather gushy every time I talk about it because it is by far the most intuitive, elegant device I've ever laid my hands on, other than maybe the keyboard, but this isn't something on which you're meant to write a novel. The keyboard works very well and the intelligent correction and type-ahead built into the OS allows for very fast, accurate typing.



After watching the Android demo video, relate that to the horrendous usability experience I outlined above with the eSlate. This simply doesn't need to happen. The technology is there to fix this, and soon an operating system that could feasibly be used to build a voting machine will be hardened and freely available, and better still, open source. Judging by the demo video it would easily support what's involved with voting on a sophisticated touch screen. Granted, Android is geared towards mobile devices with a network connection of some sort, but I can't imagine it would be difficult to use this OS to write votes to local storage and sync them up to a central repository after the polls close. Furthermore, since Android is written specifically to perform exceptionally well on low-powered devices, this again fits the bill with voting machines.



I'm not trying to say Android is the solution to the voting machine problem. It is perhaps one potential avenue of exploration. My point is that there is no reason for poorly designed, poorly implemented, closed source, proprietary voting machines to exist in 2008. It's unacceptable.



If It's Money You Need ...




I also wanted to point out that Google is putting $10 million behind the Android Developer Challenge, which will award as much as $275,000 to the best applications designed for Android. Obviously Google has money to burn, and this is a rather typical yet highly effective ploy used by large corporations to kick-start new technologies.



Money can always be found for things that are important. The Android Developer Challenge isn't likely the appropriate avenue to fix electronic voting, but it did give me an idea. Why doesn't someone like Google (Microsoft is another obvious choice, but I'd have a VERY hard time trusting my vote to Microsoft ... ;-), with cash to burn and a new technology to push, come up with a developer challenge specific to electronic voting? This is a fixable problem but no one's motivated to do anything about it. The sad thing to me is that fixing electronic voting by making it more usable and trustworthy is a far more worthwhile endeavor than coming up with yet another map application that runs on a mobile device. That problem's been solved, people. Let's tackle something that's been lingering for years and has a far more global impact than showing a cute Starbuck's logo on a map so you can find your next caffeine fix on your phone.



Let's Fix This



It's times like these when I wish I was famous, or rich, or both, because I feel very passionate about this. What makes it so supremely frustrating is that it's fixable. The technology is there, the software is there (or soon will be), and the money is there. All it takes is for someone or some group of people with enough clout to make it a priority. I suppose all I can do at this point is ask people to Digg this blog entry (at the risk of crashing my server!) so that maybe it gets some attention and at least gets people thinking.



This is fixable, it's important, and we as a society of programmers, UI designers, usability experts, and citizens can do something about it. I'm not sure where to start on this so I'll be curious to hear what others have to say.

Comments

"The bottom line is that the Federal Election Commission should flat-out refuse to use voting machines for which the source code is not available to anyone--and I mean ANYONE--who wants to see it."

Matt-

You are a developer thinking like a developer, which isn't surprising. :)

The problem is, the decision isn't being made by developers, but by bureaucrats who've been indoctrinated in the "Open Source == BAD" party line spouted by the Diebolds and the Microsofts.

I think the obvious solution would be for someone to develop an open source, touchscreen based AIR application. :)

People need to recognize that the government (and its agencies) are servants of the public, not the other way around. Though most people seem resigned to a dystopian future (I think they must read '1984' or 'Brave New World' and think 'hey this looks pretty cool'), it's important that we work like the dickens to save what's left of our democracy and make this a better world.

Computers and their use/abuse are at the center of this discussion--not the periphery--so developers like Matt who can see the potential for abuse need to keep sounding the alarm.

The bottom line is accountability. Or lack there of. Not just in this case, but rather the government has instituted mechanisms to prevent accountability on almost every level.

Frustrating as all get out to those of us that put our reps on the line and deliver good stuff and are always held accountable when late or bugs are found. Let alone security holes, etc. Not that I have ever delivered a project late or with bugs... :-)

ok, first off awesome post I love reading passionate post.

I would volunteer my time to do the following if you are serious:

create a adobe powered app that solves the problems you discussed using - CF, MySql, AIR, livecycle data services and market the crap out of it prior to Max08.

This problem won't get fixed prior to the nov. Elections , but putting together a open source solution using ( in my opinion) the best technologies could start a movement that DC can't ignore.

My 2 cents

You know, it's not like simple touchscreen based systems aren't already used throughout the US already. Walk into most any Kroger or Wal-Mart and you're expected to use their self-serve checkout stands with minimal on-screen instructions.

Bank of America has been using touch screens for their ATMs for a few years now. They can't get completely away from physical buttons due to ADA requirements, but using the screen means less wear and tear on the external keypad.

You can't walk into a Sprint store and pay your bill with a cashier. They steer you to their touchscreen billing kiosks.

These are companies that rely on touchscreen interfaces to handle millions of dollars worth of transaction a day. The UI on these machines have to be intuitive for people of all walks of life.

It's inexcusable for us to have such shoddy equipment for something as important as a presidential election.

@Josh--I'd love to talk about this more. The challenge here is that everything would have to be self-contained and run on rather simple devices, so while Flex/Flash could certainly power the front end (potentially), I wouldn't see things like CF, LCDS, etc. coming into play until the tabulation takes place (meaning when the ballots are either printed from the individual voting machines or downloaded to a centralized machine).

What I'd REALLY love to do is see about applying for grants to fund the building of a rock-solid, world-class, totally open source voting machine platform that could be implemented on miscellaneous hardware. I think that's what's really needed to build up an ecosystem around this.

That being said, even just doing this as an exercise would be absolutely fantastic so let's talk more if you're seriously interested! Even if it's something that could be pointed to while saying, "See what CAN be done" I think it might go a long way.

After thinking about this a bit more I see no reason why we can't have some people vote from their iphone / gphone, computer, etc. If we can file our taxes online, bank online, etc. we can certainly find a decent way to vote through such devices, have an audit trail, etc. I am not opposed to polling places. But why not use what we have technology wise already.

I'm totally with you Josh--there's no technological reason why this couldn't work, but I think it might just be too much of a leap for people to take right now, and we'd always need polling places for people who don't have computers or might not trust that process.

I think it would be great in the future if I can choose to vote from my phone, my home PC, etc. or go into a voting booth if I choose to do that. Since I don't think the PC/phone voting will happen for a while, however, I'd love to attack the huge issues with what we do have in front of us today, namely electronic voting machines that are insecure, faulty, and downright sinister. ;-)

Good post. I seem to recall reading a while back that some of these e-voting machines were using Access databases for storage.

http://www.theregister.co.uk/2003/11/18/electronic_voting_debacle/

http://www.schneier.com/blog/archives/2004/11/the_problem_wit.html

Our site provides Rolex replica, replica Rolex Watches,

UGG Locarno Boots don't come cheaper either the original ugg 5389 boots Australia brand which hit Ireland circa 2006, costs 220 and upwards, with new styles like the Ugg Sundance gracing the shops this year.

53.These high-end designers like to see UGG Boots KnightsBridge! You will definitely impress your friends come to when you walk in your new boot.Fashion is looking good, warm and comfortable. All infants erin baby boots are fit for these standards. You will feel you are surrounded by warmth.This winter make your fashion is your Ugg Short Boots.

Welcome to purchase online or contact us and we will be happy to provide you with the best quality service of replica rolex .

replica watches paypal is loved by many young people.It’s one of hot items of our company.If you haven’t worn fake rolex watches you are missing out.They are fashiona and nice.

Thank you.Hot Shoes Cheap Jordan shoes michael jordan shoes and are on sale-Free shipping.

Good post! Thanks for your information!

Very happy I can comment here!

Best wishes for this year.

as

Interesting thing!

That's awesome! I can't wait to get into it.

welcome to buy mbt shoes

new style with free shipping 40% off offering.

Aion Kinah,

Buy Aion Kinah

Wow, thanks for the insightful post. I look forward to reading more from you.