|
It's been a long time since the last blog post, but that's not because there haven't been any updates. In fact, it has been quite the opposite; we've been so busy making progress that I haven't been able to write about it. But I finally found the time over break to share the good news!
First, Helios succeeded brilliantly in the class of 2013 elections. In fact, we had to run Helios an extra time because of an human error on the elections manager's part, so we got one extra demonstration of Helios. Taking what we learned from this election and other improvements we didn't have time to make by that election, we're now making the final changes to Helios before this next election.
Even though the technology has come a long way, the place where we are most vulnerable to having problems, elections managers and protocol, still hadn't been improved. But two weeks ago I jumped on the opportunity and re-authored the Candidate Handbook and began a draft of the comprehensive Administrator Handbook to give the elections managers direction on certain specific protocol items and how to avoid common mistakes. We rushed to get the former piece ready in time for the election, but the latter will remain a work in progress that we will add to based on what we learn from this election.

Click here to download the November 15th Senate Presentation
The Technology: Helios
Maximum Speed Under Full Load
The system we used before Helios used to buckle under the load of voters that occurred immediately after the USG President sent the email announcing the beginning of voting. Ironically, though, Helios actually gets faster under full load. The system sits on the Google App Engine platform, meaning Helios runs on Google's servers. Google designed the servers to deliver performance relative to usage: when few voters are using Helios, Google diverts resources elsewhere. But when many voters are using Helios, the Google infrastructure responds by diverting more resources to Helios. As a result, everything runs more quickly exactly when we need it most: under full load.
Helios Decryption Trustees
The part of Helios most likely to cause problems for us is the trustees part. It's certainly not a problem, but it is a concern I have. Helios divides the ability to decrypt the tally among a number of "trustees." We have chosen to have two trustees: the chief elections manager and Dean Dunne. Before voting takes place, the trustees generate "keys" which are essentially very long passwords. These keys are then required to decrypt the tally after voting has taken place. This means that no single person, not even a trustee, can obtain vote counts until all of the keys have been inputted. However, here's the concern: if one of the trustees loses his key, it is impossible to determine the results of the election.
This may sound bad, but think about it this way: there is no back door. Problems could arise if there existed some back door that allowed someone to circumvent the trustees and obtain the results. So it is absolutely critical that the trustees do not lose their keys. In the three ballots for the class of 2013 elections, however, we had no problems with this. But that was in part because I was fanatical about this issue and guided Dean Dunne and Addie through the process. Carelessness in future elections, however, could easily cause this to be a problem. Aside from having competent elections managers to prevent such a problem from arising, the administrator handbook we're developing will also outline very explicitly and clearly how best to go about generating and storing trustee keys to avoid the potential for problems.
Ease of Use and Lack of Problems
Although there was the extremely public flub where the elections manager misspelled email addresses and names, the launch of Helios went off without a hitch. It is unfortunate that this human error overshadowed what was the best possible launch of a new voting system I could have hoped for. There were no catastrophes, no failures, no glitches, and just one complaint. The only complaint I received was from a student who had chosen not to install (or to uninstall) Java on his computer. However, even he was still able to vote by using another computer -- nearly all computers do have the software required to run Helios. Aside from that, Helios did it's job: it provided a transparent, secure, reliable way for voters to cast their ballots, and it didn't get in the way.
All in all, I was thrilled with the launch. We even had to use Helios three times instead of the expected two, and during all three votes Helios performed dependably and flawlessly. The documentation I created may have helped a few voters, but our data shows that most voters were able to use Helios without any instruction -- plain and simple. Mission accomplished! Sort of. We still have some more tweaks we're in the process of making for the upcoming election, so we're not done yet. But the first use of Helios definitely was promising. I look forward to many more successful elections run using Helios.
Click here to go to the Helios Headquarters
Improvement: Anonymous Voter Aliases
As part of the auditability Helios offers, voters can go back to the Ballot Tracking Center at any time and match their NetID with the tracking number they received when voting to confirm that their ballot is being counted. But we are concerned that there could be negative consequences to making these NetIDs public. No personally identifiable information is made available at any time, but it does allow someone to determine whether or not a student voted. There are a few problems this could cause, but I won't list them here. Rather, I'll explain what we're doing about this.
Work is in progress on a modification that will assign to each voter a unique alias. This alias, instead of the NetID, will appear in the Ballot Tracking Center. This way there should no way to connect individuals to the records of the votes cast. Upon successfully casting a vote, the voters will be emailed their unique alias and tracking number. These two pieces of information will then enable the voters to go into the Ballot Tracking Center and check on their ballot at any time.
Improvement: Registrar Certification of Voter Eligibility
Until now, voter eligibility was checked against the public directory (LDAP) -- the same directory that suggests names in your email client and feeds data to http://search.princeton.edu. However, this directory is only about 99% accurate. In previous elections, we had difficulties where students who were eligible to vote were denied access to the ballot by the system because their information in this public directory was either innacurate or missing. Students can request that their information not appear in the directory, and this would cause them to be unable to vote. Also, students who are abroad may not have been eligible to vote because their status appears differently in the directory.
This is the way elections had been working since Princeton first started using online voting. And for the 2013 election this past fall, we had to stick with that system because we didn't have the time or resources to do anything better. However, we knew there was a better way: access the Registrar's database, the definitiive source of enrollment verification and voter eligibility for USG elections. You may be able to trace back this issue through to the origins of our project; it has been an important one since the very beginning -- we had been discussing it since April at least. But, as you can imagine, accessing that extremely sensitive information is not easy. It requires approval from a variety of offices on campus, plus the technical pieces in place to facilitate the check. But we're making it happen right now!
We've received all of the approvals we need, and the project to build the necessary technical components is well under way. Everything is expected to be complete by the end of this week, just in time for this election. If everything goes according to the schedule, the component will be in place for this election and Helios will be using the Registrar's database to verify voter eligibility. I am especially thankful to Dave Herrington of OIT's Departmental Application Servies for his contributions to this particular component and the project as a whole.
The question of how "Registrar Certification" fits into Helios has remained in question until now. You may recall that for the previous election system, the Registrar "certified" the election results before they were released. To all intents and purposes, the extent of this certification was limited to logging in and clicking a button that ran a program to print the tallies. The elections managers then used these tallies to announce the results. Before I learned this, I naively though "certification" meant someone sat poring over every vote and checking eligibility. That was not the case at all.
But with the new system, we have come much closer to what I originally imagined. The primary differences are that this check will be made automatically via the Registrar's database and that it will take place before the vote is cast not while being tallied. So when Helios gives us a tally, those results are certified by way of this mechanism. The certification being made is that everyone who cast a vote on that ballot was allowed to do so by regulations. Below is the list of students, confirmed by Jonathan R. LeBouef, Associate Registrar for Reporting and Institutional Research, who are explicitly eligible and ineligible to vote according to this new system:
Eligible to vote in USG Elections
- Regular undergraduates enrolled in courses
- Undergraduates enrolled in study abroad programs
Ineligible to vote in USG elections
- Undergraduate Visitors, i.e. students from other institutions who are currently enrolled in courses at Princeton as part of a formal exchange program
- Undergraduates currently enrolled in the Bridge Year program
Improvement: Approval Voting
Since the inception of this project, we've known about the problems inherent to using the method of Single Transferable Vote. In brief, here's how we used to use STV:
- Voters select a first and second choice candidate
- Tally the voters first choice preferences
- If not enough candidates receive the required number of votes to be elected, drop out the candidate receiving the lowest number of votes
- For all voters who had selected the candidate that was just dropped out as their first choice, activate and count their second choice votes
- Repeat steps 3 & 4 until enough candidates receive the required number of votes to be elected
The very fact that I had to give this explanation reveals one glaring weakness of STV: it is complicated. Too complicated. STV is complicated for voters to understand, and it poses a large technical problem to develop a system capable of carrying out the complicated calculations and transfers required. Therefore it is not surprising that we've had so much trouble with and confusion surrounding elections with STV. Our crimson brother to the north also seems to be having trouble with elections that use STV.
Let me go one step further to explain a scenario that demonstrates how the principles behind STV can actually result in an under-qualified candidate obtaining many votes. It's not a perfect example (I invite you to poke holes in it), but the point being illustrated still holds.
For simplicity, imagine using STV in an election with three candidates vying for a single position (in this case with one position up for election, it is called Instant Runoff Voting, IRV, but that's mostly a nominal change that still demonstrates a problem for elections with multiple winners).
John and Jane are the two frontrunners -- they are highly qualified, but strongly polarizing. Most people either like John or Jane, but not both. There is also a third candidate, Dick, who few people like -- he is not as highly qualified as John or Jane and perceived as unlikely to win.
The STV ballot allows voters to select a first and second choice candidate. For their first choice, most voters select either John or Jane according to their preference. But, not wanting to give the other frontrunner an advantage over their favored candidate, they decide to "waste" their second choice on Dick. After all, he is unlikely to win, so he will not pose a threat to the candidate the voters wants to win. When it comes time to tally the vote, John and Jane split the vote and everyone's second-choice votes end up getting transferred to Dick. Dick ends up getting more votes after a transfer than John or Jane.
You see what I mean? STV can get messy.
A fortunate coincidence was that it would be extremely difficult to implement the vote-transferring of STV using Helios, so it would be ideal to replace STV anyway. In August, when I felt strongly that we should use Helios, Ben (the Harvard postdoc behind Helios) and I discussed this. If we wanted to use Helios we had to either ask Ben to start working on it immediately, or we had to find an alternative by November. Given all of the problems with STV in the past, we decided it would be best to start looking at other options and let STV go after what has proved to be a tense, unpredictable relationship.
Ben suggested that I contact Dr. Ron Rivest of MIT who researches matters such as these. In my email exchange with Dr. Rivest, he suggested range voting or approval voting as worthy alternatives for our purposes. He agreed that either of these choices would likely be better than STV.
Range voting is the type of voting used at the Olympics. Voters can score each choice on a certain scale (at the Olympics, 1-10). Then, the averages are taken and the choice with the highest average score is the winner. One adaptation of this we had considered for our own use was a scale of -2 through +2 with integer resolution. In essence, voters could add or subtract up to two "votes" ("points?") from each candidate's total -- the candidate with the highest total wins. But the USG members I discussed this with did not like the "negative voting" aspect, so I suggested the alternative being 0 to 2. A vote at level 0 means "no confidence," a vote at level 1 means "approve," and a vote at level 2 means "strongly approve." The winner would be the candidate with the most "votes" upon adding up these scores. Although this particular option remains my favorite choice because of the high degree of expressivity, it still didn't seem to gain traction among the senators who would ultimately need to approve this change. However, a closely related cousin, approval voting, did gain traction in the senate, and offers most of the same benefits with even more simplicity
Approval voting (AV) is a very specific form of range voting where the range is between 0 and 1. Like in the range voting example above, a vote at level 0 means "no confidence" and a vote at level 1 means "approve." This can be represented on a ballot just as check boxes next to each candidate's name -- a check indicates a score of 1, and no check indicates a score of 0. This form of voting gained the most traction in the senate and has a good deal of support in academic research. If you'd like to turn over the same stones I did when I conducted my research, start at the Wikipedia article for Approval Voting and read the pages listed in the "Notes" and "External Links" section. Also, look for research by Steven Brams and crawl the web for "Approval Voting." I was pleased to find that organizations who should be "experts" in this field had chosen AV for their internal elections: American Statistical Association, Mathematical Association of America, Institute for Operations Research and the Management Sciences.
Once I had found enough research and practical evidence in support of AV and had determined that the senate was in agreement, we now had to make the necessary changes to replace STV with AV. This meant modifying the campaign Rules and Regulations document and the USG Constitution (we would later find out that the CPUC charter also needed to be changed, but I'll discuss that later). After having a meeting with the new elections managers, we determined the schedule for the election, and it became obvious that we did not have much time to make the necessary changes we needed -- the change would have to be made in time for the election, otherwise we would either have to use WebSurvey instead of Helios to use STV or use Helios and AV in blatant violation of the USG Constitution. The process of amending the constitution via the senate requires a majority vote at two consecutive senate meetings, so I delivered the presentation at the first meeting on November 15th, and the motion to amend the constitution with the changes for AV passed unanimously (two abstentions, no opposed). The second vote on November 22nd passed with the same outcome -- success! We were ready to use AV and Helios for the December election!
But then a student brought it to our attention that the two documents we had just changed (the Election Rules and USG Constitution) were not the only documents that specified how to conduct elections for U-Councilors. U-Councilors are elected to serve as members of the USG senate and the Council of the Princeton University Community (CPUC). It turns out that the CPUC Charter also specifies that U-Council elections will be conducted via STV. This means that until the CPUC Charter is amended, the USG Constitution and the CPUC Charter will be incongruous. It's not too much of a concern, though, since the U-Council elections are not until the spring, and we have plenty of time to make the change by then.
You may be skeptical about approval voting, either because you don't know much about it or because the change happened so quickly. But I can assure you that we've done the research and believe that the change to AV is advantageous. That said, even among the experts there is still a great deal of disagreement, so I don't expect that everyone will agree with this choice. You may very well conduct your own research and come to exactly the opposite conclusion as we have. That doesn't mean that one person is completely right or wrong, just that there is no perfect solution. We believe strongly that we have found a voting mechanism that is the best choice when taking into account a variety of theoretical and practical concerns. If you feel strongly either way, though, I would love to hear your feedback via email.
The People: Candidates
The candidates have just as much responsibility for ensuring a smooth election as the elections managers do. Candidates who are knowledgeable about the elections process can proactively help the elections managers do their job and also help catch mistakes before they blow up into huge problems. Until now, there had been no document specifying information about elections -- everything was simply spread by word of mouth and institutional knowledge retention. But I took the opportunity to change that by creating a Candidate Handbook, "The Definitive candidate guide for USG elections." This document contains everything a candidate should need, from the description of the positions to the forms required for candidacy.
Improvement: Remastered as a public Google Doc
The only official document that exists for elections has been the Rules and Regulations Guide. However, this document has become a Frankenstein document -- with tons of haphazard changes made by previous administrations. The formatting was inconsistent and difficult to read, and the content was badly in need of revision. So I got to work on completely remastering it as a public Google Doc. I couldn't just upload the old Word doc and hope for the best -- I stared from scratch and pasted in individual sections by stripping the formatting. In doing so, I was also able to identify and make changes to pieces of the regulations document that needed updating. I was also able to format the document very carefully and cleanly. And, since it is a Google Doc, it can be made public very easily. The document is available right now at http://usg.princeton.edu/candidates
Click here to download the PDF version of the new Candidate Handbook Click here to go to the Candidate Handbook as a Google Doc Click here to download the old Rules and Regulations document.
Improvement: Rules and regulations section updated
Going through the process of copying the document section-by-section also enabled me to identify areas that needed to be changed because they were outdated, unclear, or inconsistent. Some of these changes were as simple as updating terminology and adding clarity, but other changes such as the change of STV to AV were more complex. In the end, though, I believe I was able to make some meaningful changes to this part of the handbook that will make elections run more smoothly and less confusingly.
Improvement: Candidate Guide
This is the newest and most important part of the Candidate Handbook devoted to giving candidates as much information about the elections as they may find helpful. There are a few important parts. Click here to jump to it in a new window.
The "Elections Overview" and "Typical Elections Cycle Schedule" both outline the three different elections that take place over the course of the year and a typical timeline. I have created a four-week model that applies for all three elections. The first week is the week with the open houses, the second week is the campaigning week, the third week is the first vote, and the fourth week is the run off vote. The guide is fairly explicit and has been developed for the candidate's perspective; it gives a list of deadlines and the items that must be turned in at those times.
Another important section is the "Communications from Elections Managers" section. It provides a list of emails that the elections managers will send to the candidates. If the candidates are aware of what emails they should expect to receive, they would be able to determine early on if they aren't receiving the emails they should from the elections managers. This will prevent a misspelled email address that the elections mangers have from causing a candidate to miss out on all of the important emails. Hopefully the candidate will be able to catch on early and notice that he isn't receiving the emails that he should be, thereby causing him to contact the elections managers and get the issue sorted out.
The final sections discuss the different voting mechanisms in use, including run off voting and approval voting, and Helios. Eventually I expect that students and candidates will become used to the unfamiliar characteristics of Helios that I have listed in this section. But until then, I think this could help clear up some confusion.
Improvement: Forms
At the very end of the Candidate Handbook I have also recreated the two important forms that the candidates must complete and return to the elections mangers: the Candidate Registration Form and the Petition for USG Office. I used previous versions of these forms as a basis, but recreated them from scratch in Google Docs in order to add clarity.
The People: Elections Managers
The most critical component of the elections process is the elections manager role. Competent, dedicated, and well-informed elections managers can make the elections run smoothly. But the reverse is also true, and only one of those three qualities I have listed needs to be missing for there to be problems. The problem with elections is that simple flubs can quickly escalate to become huge catastrophes. Take, for example, the Class of 2013 election that just took place. The mispelling of one candidate's email address was enough to cause the vote for an entire office to be invalidated and require a revote. Just a small mistake -- one finger to the wrong key -- and a revote is required. These are tight tolerances!
Although there's not much that can be done about competency and dedication aside from selecting good people, information is something we can take into our own hands. I'm frankly surprised and disappointed that there existed no document like the one that I just created. Elections had been run by elections managers who were simply running elections based on what they felt should be happening. There was no guide. No manual. Nothing. Inevitably, this caused problems. Realizing this, I started work on what I hope will become just such a guide: the USG Elections Administrator Handbook.
Click here to download the USG Elections: Administrator Handbook draft (11.29.09)

USG Elections: Administrator Handbook
The document is currently only a draft. I've laid out the sections that will eventually be included. There is so much that should be included in this document, but it will require more time to complete than the one day I spent working on this and the Candidate Handbook. For now, you can refer to the table of contents to get a clearer picture of what the document will eventually include. Here is a synopsis:
Roles and Responsibilities
This part includes a list of all of the people that are involved in the election process. Here is the list I currently have:
- Chief Elections Manager
- Supporting Elections Managers
- Helios Trustees
- USG President
- USG Vice President (new to this article)
- USG Senate
- USG IT Chair
- Office of the Registrar
- Office of Information Technology
All of these people have some part in the elections process. It's pretty amazing to realize just how complicated the elections process is. It's a shame that most people don't realize just how complicated elections are. I would compare the complexity of elections to the mechanics of an airplane -- there are a wide variety of pieces and functions that all have to work together in harmony to succeed. If one fails, sometimes the other parts can compensate. But if too many pieces fail, then something bad happens. Take, for example, the Class of 2013 revote that just took place. The candidate whose name was mispelled on the ballot was also the candidate whose email address was misspelled. He would have had the chance to check his name on the ballot (a safeguard), but because a second system also broke down (the email address), the problems compounded and caused the flub.
Within this section I plan to outline for each position as many pieces as are prudent. For example, for the elections managers, I'm going to outline how they get appointed, what qualities they should have, and what responsibilities they have to carry out.
Schedule of Events
This is perhaps the most important part of the whole document, so this is the part I prioritized when developing it. The goal was to have a draft of the schedule ready for this election so that the elections managers could use it as a guide. Because it is still a draft, this document is now definitive or authoritative just yet. But it does have some good information they will be using.
First, I outline the four-week schedule. I have formulated a four-week schedule for elections that I believe will help add to the smoothness of the process. The process is now less hurried and more "luxurious" -- we take our time. Although this draws out the process on the negative side, the positive outcome is that the elections managers and everyone else behind the scenes now has sufficient time to take care of their responsibilities and respond to unforeseen circumstances. The schedule has time built in to account for problems coming up. This model schedule will work for any election, because all elections involve the same primary events. Here is a rough copy from the schedule part of the document:
Week 1: Announcement of Election
- Monday: USG President announces upcoming election
- Thursday: First open house
- Friday: Second open house
- Sunday: Candidate registration deadline
Week 2: Campaigning
- Monday: Campaigning begins
- Friday: Ballot check
- Sunday: To-date expenditure reports due
Week 3: Voting
- Monday: Voting begins
- Wednesday: Voting ends
- Friday: Results announced
Week 4: Run off voting
- Monday: Run off voting begins
- Wednesday: Run off voting ends
- Friday: Results announced
The document then breaks down each day and provides extremely detailed information about what happens on those days. The detail goes down as far as to describe what information and attachments the USG President should include in his email, what type of information will appear on the public spreadsheet for the candidates, and the course of action if complaints are received.
Remaining Sections
The "Helios" section will outline information about Helios and include technical guides for non-technical users. This is the part that will give advice about how to handle the trustee keys to make sure one doesn't get lost.
The "Voting Mechanisms and Methodology" section will describe the two mechanisms we currently use: run off voting and approval voting. It will describe why we use these mechanisms and how we use them.
The "Avoiding Common Errors" section will be a place where I list the failures of previous elections and give an in-depth analysis of what went wrong and why. It's about learning from our mistakes -- not making the same ones over again.
The "Troubleshooting" section will essentially be a "worst case scenario" guide that lists some tricky problems that we anticipate could happen and some suggestions for how to solve them. It certainly will not give cookbook-like directions -- it would be wrong to assume that all situations can be dealt with so mechanically. However, at the very least, this section will give some much-appreciated guidance to the elections administrators who are dealing with some potentially muddy problems.
Closing
We've come an extremely long way since the beginning of this project back in March when I approached Connor and expressed an interest in cleaning up elections. Unfortunately, the entire image of the USG has been tarnished by a string of poorly run elections, and we have inherited this bad image. These elections fiascos have been distracting the students from what the USG actually is supposed to be doing, and it has been diverting the USG's resources away from campus improvements and towards cleaning up these problems. The time I spent on this project could have served the student body better immediately if put to other projects. However, someone had to bite the bullet and clean up this mess already so future administrations don't have to keep dealing with all of the problems that we have had to deal with this year. Elections shouldn't be such a big deal. The purpose of elections is to elect USG members who will improve the campus based on student concerns, not to create front page fiascos for the Daily Princetonian.
Hopefully the work we've done so far has put us on a path towards that "ideal" election. We have an entirely new technology for casting ballots and tallying results, a Candidate Handbook to bring candidates in the know, and an Administrator Handbook in progress that will eventually be a definitive resource for future elections managers. For this election, we also have a team of extremely dependable, competent, and devoted elections managers. That's a great start!
But we're not done yet. In fact, we'll never be done, I think. Elections are very tricky, and the "problems" that arise are just part of what elections entail; we need to accept this and move on. We need to keep working on this, though hopefully to a far lesser degree than what I've had to do this year. When you have highly political people clamoring for power, you're going to have problems. That is to be expected. But if the elections managers keep on top of the process, rely on the resources we are developing for them, and improve these resources based on what they learned from their election, our elections will continue to improve. We may never reach perfection, but as long as we are driving in that direction our elections are on the right track.
|