Monday, September 14, 2015

Using OpaVote for On-Site Elections

A cartoon of a person in a voting booth. Most people use OpaVote for conducting elections over email, but it is actually very easy to use OpaVote to conduct on-site elections where people vote in person at a voting booth or kiosk.  One of our customers did this, and shared the details with us so we are sharing with you in case you find it helpful for running your own on-site election.

Email Voters and Code Voters

As a first step, it is important that you understand the difference between email voters and code voters in OpaVote.

An email voter has an email address associated with it, and when the election starts, OpaVote will send an email with a secret voting link to allow that voter to cast a vote.  The voting link actually has a secret code embedded into it to make sure the voter only votes once.  When the voter clicks on the link, OpaVote knows who the voter is because of the secret code embedded in the link.  After the voter enters his or her vote, OpaVote marks that code as being used so the voter cannot vote again.

A code voter does not have an email address, it is just a secret code and nothing else.  In order to use a code voter, you must assign the code to a voter and send the code to the voter so that the voter can use it.  For example, you could send it to the voter via postal mail or print it out on a piece of paper and give it to the voter.  The voter can then go to the web page for your election, type in his or her code, and then cast a vote.

So both email voters and code voters have secret codes, the difference is just that OpaVote sends the codes to email voters, and you need to manually send the secret codes to code voters.

A Simple On-Site Election

Here is simple way to conduct an on-site election using code voters.

First, you need a voting booth or kiosk.  For this, you can use a computer, a tablet, a phone, or whatever.  Any device with an Internet connection and a web browser will do.  You can, of course, have multiple voting booths. Open a browser on the device, and enter the address of the voting page for your election with the special option to enable kiosk mode.  To enable kiosk mode, you need to add "?kiosk=1" to the address of the voting page so it will look like this:
except that you need to replace the number with the number of your election

Second, you need to organize your code voters. Create an OpaVote election with the number of code voters that you need.  Then, create an Excel spreadsheet where the first column has the names of all the voters, and the second column has the secret codes.  Print this out, and then cut the rows so that you have a slip of paper for each voter.  I'll call this a voting slip.  You then hand the voting slip to the corresponding voter (you may want to put in an envelope or fold the voting slip so that the code is not visible).

The voting process is then very straightforward.  The voter goes to the voting booth, and will see a web page with a box to enter his or her voting code.  The voter types in the code on the voting slip and clicks a button to access the voting page.  After entering his or her vote, the voter will receive a confirmation that his or her vote was entered.  The web browser will then automatically go back to the page with the box to enter the voting code so it is immediately ready for the next voter to vote!

In this manner, all of your voters can vote.  When everyone has voted, you can end the election to immediately see the results, and then announce the winners within minutes of the end of voting!

On-Site Election with Bar Codes

If you have a larger on-site election, then you may want to speed up the voting process by using bar codes so that the voters do not even need to type in their voting codes.  This is a somewhat complex process, and I haven't done it myself, but I'll present a high-level overview to get you started.

First, you'll need a bar code scanner.  Our customer used this Motorola LS2208 scanner, but I suspect others are fine as well.  You can plug the scanner into your computer via a USB port.  When you scan a bar code, the scanner will convert the bar code to text, and the text will automatically appear where the cursor is on the computer screen.  The bar code scanner operates more or less like a USB key board, but instead of pressing keys, the scan of the bar code causes the text to be generated.  Pretty cool stuff!

I'll explain below how you generate the bar codes, but let's assume for now that you have generated a voting slip with a bar code for each voter.  The voter now goes to the voting booth with the voting slip.  The computer is showing the web page for the election, and the bar code reader is plugged into the computer.  The voter scans the bar code on the voting slip, and voila, the voting code appears in the box without the voter typing anything.  After the voter enters his or her vote, the browser automatically goes back to the code entry page, and it is immediately ready for the next voter.  Easy peasy.

Now we need to figure out how to print out the voting slips with the bar codes for each voter.  Again, I haven't done this myself so there could be some details missing, but this will at least get you started.

To print out the voting slips, you will want to do a mail merge, and you'll probably do this with Microsoft Word and Excel.  You will create a Word doc that has a template for the mail merge, and an Excel doc that has a list of voting codes and any other information that you want printed on the voting slip, such as the voter's name.

For the Excel doc, you have a column for each item of information that you want to appear, and each row corresponds to a voter.  The only trick here is that you need to add asterisks to the beginning and end of the secret code in order for the bar code to work correctly.  Your Excel file might look something like this:

1Martin L. King*QDHIUF*
2Susan B. Anthony*OHDTUF*
3Harriet Tubman*ZKITEH*

For the Word doc, the details of how to do a mail merge are far beyond what I can go into here, but you will need to use a bar code font to display the bar code.  This page has great details of how to use a bar code font.

So that's it.  If you have any feedback about how to conduct on-site elections, we would love to hear it in the comments.