- Wed Aug 03, 2016 2:34 pm
#544
This post describes how a public service non-profit concerned with voter service (such as the League of Women Voters) could put together a very low-cost Voter Alert Service. Costs can be kept below $1/day through the use of existing social networks and open-source software.
The goal is to provide voters with alerts about upcoming elections and changes in their registration status.
An Alert Service needs three requirements:
An important goal is to lower the financial and time costs of these as much as possible
Requirements 1 and 2 could be inexpensively provided with the discussion board software phpBB. Costs:
Requirement 3, the alerts, could be supplied through a free and open-source mailing list program such as phpList. SMS text messages to smartphones on all of the major carriers can be sent through e-mail, so no special arrangements need to be made for texts.
An example of the alerting process is:
Steps 3 and 4 of this process can be automated and integrated with a Mailing List program, but this has not been done at the current time. There would be a time cost associated with doing this but it is a relatively straightforward programming task.
I am willing to volunteer programming time and hosting costs for any state interested is setting up an Alert Service.
-Travis
Appendix 1 Hosting Cost Estimates
Because the board contains only text, transfer bandwidth and storage are unimportant. What is crucial is the type and number of cores of the processor, and the amount of RAM.
A very active phpBB board might have a peak of 500 users at one time, with an average (over 24 hours) number of users of 150. Since there are 24*365=8,760 hours in a year, this is a yearly load of 1.3 million user-hours.
To compare that, suppose we create an Alert Service for Pennsylvania, and that it became wildly popular (10% usage).
Appendix 2 Cost-Benefit Analysis
If we retain the above assumptions regarding usage, then a yearly budget of $12*12=$140 should be sufficient to cover hosting costs (using a self-managed VPS).
To calculate benefit, we have to estimate how many extra votes will occur due to voters being alerted. A reasonable estimate is 5% - one voter in 20 - will get an alert, and as a consequence remember to vote when otherwise they would have forgotten. (For special elections the voter impact would be greater, for Presidential general elections the impact would be smaller.)
If we have two elections (primary and general) in a year, this gives an estimate of 72,000 extra votes per year, due to the voter service. This in turn gives a cost-benefit estimate of 0.2 cents per extra vote.
If the board is less popular than hoped then the vote impact will be less, however the board hosting costs can also be scaled back. This adjustment should result in the cost-benefit remaining about the same.
Appendix 3 User Experience
Voters will typically learn about the service from a social network such as Facebook. If they click on a link, they see this page with a login button on the upper right hand side, but also social network icons.

Clicking on one of those icons logs you in seamlessly. All the voter has to do now is configure their personal information and contact preferences.

These profile fields ask for county, d.o.b. and name. The Alert Service needs to know party affiliation and district information to determine whether to alert a voter to an upcoming election. If we have a full voting roll for the state, you can generate these from the profile fields.
Depending on the state, however, getting a voting roll may be expensive or difficult. Some states (like Nevada) provide full voter roll information for free, others like Pennsylvania charge $20 per county.
In PA, you can use this info at the website here to determine the polling place and party affiliation of the voter. From the polling place, from this website here you can determine their state and congressional electoral districts.
The Voter Service could ask that voters fill in this information by hand by using these sites. It would be impossible to automate harvesting information from the websites if they guard against bots, which they probably do.
These fields specify how often the voter wants to be notified, and how.

It would also be useful to periodically go through the database and notify voters if their voter registration status has changed. (They may have missed a vote, and gotten purged, for example.)
The goal is to provide voters with alerts about upcoming elections and changes in their registration status.
An Alert Service needs three requirements:
- A user interface where the voter can log in and input their personal information and alert preferences
- A discussion board where administrators can post election information and respond to Alert Service questions/problems.
- A mechanism to send out the alerts in e-mail and smartphone text format.
An important goal is to lower the financial and time costs of these as much as possible
Requirements 1 and 2 could be inexpensively provided with the discussion board software phpBB. Costs:
- Because phpBB is free and open-source, there are no financial costs associated with using the code.
- There is also no financial costs associated with integrating the discussion board with popular social networks (such as Facebook) to allow voters to login using their existing accounts.
- There are time costs associated with customizing the board, but these have mainly been completed my myself. (You are reading this post on a customized phpBB board which could be "cloned" with very little effort.)
- There are financial costs associated with hosting the board. A ballpark estimate is that to serve the needs of a large state like Pennsylvania would be less than $1 a day. Most detail on hosting costs is provided below.
Requirement 3, the alerts, could be supplied through a free and open-source mailing list program such as phpList. SMS text messages to smartphones on all of the major carriers can be sent through e-mail, so no special arrangements need to be made for texts.
An example of the alerting process is:
- Write up a page giving informational links relevant to the election and post it in the discussion board. Use tinyurl to shrink the URL of this.
- Query the MySQL database to get a list of voters who are in the right district and who have asked for a heads-up alert a week in advance.
- If they have selected e-mail alerts, send an e-mail to the address they provided. Include date of election and URL of informational page.
- If they have selected text alerts, send an e-mail to the number plus the correct address for their network (e.g. 123-456-7890@txt.att.net for AT&T).
Steps 3 and 4 of this process can be automated and integrated with a Mailing List program, but this has not been done at the current time. There would be a time cost associated with doing this but it is a relatively straightforward programming task.
I am willing to volunteer programming time and hosting costs for any state interested is setting up an Alert Service.
-Travis
Appendix 1 Hosting Cost Estimates
Because the board contains only text, transfer bandwidth and storage are unimportant. What is crucial is the type and number of cores of the processor, and the amount of RAM.
A very active phpBB board might have a peak of 500 users at one time, with an average (over 24 hours) number of users of 150. Since there are 24*365=8,760 hours in a year, this is a yearly load of 1.3 million user-hours.
To compare that, suppose we create an Alert Service for Pennsylvania, and that it became wildly popular (10% usage).
- 10% of 7.2 million registered voters is 720K users.
- Suppose each user takes 10 minutes time to register, and also follows links to election informational pages twice. There is only one page, so that gives about 12 minutes of usage per year. This is a yearly load of 0.14 million user-hours.
- With such a modest load, hosting with 2 core processors and 2GB RAM is a very safe place to start. This would cost $12/month on a self-managed VPS, and $35/month on a fully managed VPS.
- It is easy to switch to a cheaper hosting plan to save money if it is clear that the system is not being taxed. Alternatively, other state Voter Alert Services could be hosted and the costs shared.
Appendix 2 Cost-Benefit Analysis
If we retain the above assumptions regarding usage, then a yearly budget of $12*12=$140 should be sufficient to cover hosting costs (using a self-managed VPS).
To calculate benefit, we have to estimate how many extra votes will occur due to voters being alerted. A reasonable estimate is 5% - one voter in 20 - will get an alert, and as a consequence remember to vote when otherwise they would have forgotten. (For special elections the voter impact would be greater, for Presidential general elections the impact would be smaller.)
If we have two elections (primary and general) in a year, this gives an estimate of 72,000 extra votes per year, due to the voter service. This in turn gives a cost-benefit estimate of 0.2 cents per extra vote.
If the board is less popular than hoped then the vote impact will be less, however the board hosting costs can also be scaled back. This adjustment should result in the cost-benefit remaining about the same.
Appendix 3 User Experience
Voters will typically learn about the service from a social network such as Facebook. If they click on a link, they see this page with a login button on the upper right hand side, but also social network icons.

Clicking on one of those icons logs you in seamlessly. All the voter has to do now is configure their personal information and contact preferences.

These profile fields ask for county, d.o.b. and name. The Alert Service needs to know party affiliation and district information to determine whether to alert a voter to an upcoming election. If we have a full voting roll for the state, you can generate these from the profile fields.
Depending on the state, however, getting a voting roll may be expensive or difficult. Some states (like Nevada) provide full voter roll information for free, others like Pennsylvania charge $20 per county.
In PA, you can use this info at the website here to determine the polling place and party affiliation of the voter. From the polling place, from this website here you can determine their state and congressional electoral districts.
The Voter Service could ask that voters fill in this information by hand by using these sites. It would be impossible to automate harvesting information from the websites if they guard against bots, which they probably do.
These fields specify how often the voter wants to be notified, and how.

It would also be useful to periodically go through the database and notify voters if their voter registration status has changed. (They may have missed a vote, and gotten purged, for example.)