Saturday, 5 May 2012

Apathy is the greatest evil

The most shocking thing about elections these days is the low voter turnout. The most recent council elections had voter turnout at an average of 32%. For a candidate to be the winner they only need to get just over 16% of the vote to win. This would mean that potentially, 84% of the electorate could have a councillor that they didn't vote for. You can argue this is their own fault for not voting and I have sympathy with the argument. During 2010 15.5m people managed to vote for their favourite "singer" on X-Factor. I'm not suggesting politicians should have to sign on telly for votes but making voting easier would obviously increase the very poor turnout. The politicians having policies based on evidence and not coming up with stupid ideas on the hoof then scrambling to find the evidence would help but I have covered that in other posts on libraries. Putting my annoyance with the policy process to one side I have been having a think about how this could work technically. Sally Bercow retweeted one of my tweets the other day on this and I had lots of good arguments both for and against. Below is what came back plus as many for and against arguments I can think of off the top of my head, regardless of how factual they are. I will add to this as and when I think of more or people suggest any.

Possible issues against:
  1. Open to hacking and mass vote rigging, dos attacks to bring down system (dos = denial of service)
  2. Expensive
  3. Government absolutely hopeless with IT project management
  4. Databases always raise data protection concerns
  5. Any single mistake will be jumped on by special interests who want to keep current system, politically difficult to sell to voters and party members.
  6. Existing system is tried and trustworthy
  7. Trust in the new system
  8. Access to the system, not everyone is online 

Possible issues for:
  1. Would increase the very poor voter turnout
  2. Counting would be instant or even real time
  3. Would stop the fraud with the current paper system
  4. Would if successful actually save money, current system has lots of costs to taxpayer
  5. If voting systems change PR etc then this system the counting will be just a quick. For paper systems, long winded and difficult to count alternative vote, second preference etc.
  6. Electoral register already an online process and has been for some time, that could have just as easily been hacked to create fake voters.

I'll just quickly whizz through my thinking on the above, then set out how it could work.


1. Modern encryption is stronger than it ever has been, see the link below on 128 bit SSL to see how hard to hack it is. The current paper based voting system is also open to mass voter fraud. There have been cases of mass postal vote manufacturing in the UK and various other issues with ballot boxes going missing or being tampered with. Lots of the volunteers who collect the boxes are party volunteers and with the best will in the world there will always be problems with any system that is used.

2. It would be expensive to develop, probably millions I would imagine. Just for context, millions is a tiny figure compared to the government spend of 722(ish) billion pounds every year of our money. The cost of counting the ballots also costs money each time, the counters get paid (I think), the returning officers and their staff are paid and the facilities have to be hired to count the votes. As we moved away from FPTP because of devolution and hopefully Lords reform then the manual counting only gets more complicated. The London Mayoral count was a bit of a shambles judging by how long it took and ballot boxes going missing and re-appearing.

3.This is the biggest one against for me, The government have a awful track record on IT. The IT companies always get the blame but I can assure you the bulk of the blame belongs with the politicians and civil servants. Procurement is very poor, requirements are ill thought through and because of politics are liable to change a lot which leads to cost overruns and delays. Technically this is a very simple thing though, I'm sure the government could muck it up but I wouldn't want them directly involved, it should sit with the electoral commission.

4.Thanks to poor data handling and the scare stories in the Daily Mail people are very concerned about this one. Considering this system would form part of the already existing electoral register then I would hope people wouldn't be unduly concerned. For the actual voting online process the data would only need to be a random unique identifier and probably date of birth, postcode and gender. 

5.This is more political than technical, there will be problems with any new system and a trial would pick up more problem and these would have to be addressed. As much planning as you put into any new process there will always be issues. The people who want the status quo to remain will jump on this and denounce it as a failure regardless of what happens.

6.The existing system isn't tried and trustworthy though, in nearly every election I can remember there has been issues with voting, especially with the more recent introduction of postal voting. I do have sympathy with people who like to vote in person at the ballot box, the two systems can quite easily run alongside though.

7.This is again more political and with any new IT system it needs to build up trust with the users. You use more IT systems everyday that are far more complicated that simply counting votes. Banking, online food shopping, LovefilmItunes etc are all sophisticated in how they work. They all have a good track record on security, I do amazon orders from my phone quite regularly and have never had a problem. Convincing non technical people of this will be very difficult though.

8. The speed of our broadband is one of the worst in Europe, but what we lack in speed we make up for in users. 77% of homes in 2011 have internet access according to the ONS and 45% of the internet household users have mobile phones with internet access. Both of these numbers are a higher percentage than the voter turnout for local elections. Plus for those without access we have libraries, community centres, internet cafes and family members who could get any without internet online to vote, as time goes on this small percentage not online is only going to decrease.


1. This speaks for itself, politicians have no mandate to do anything when the vast majority don't vote for them. Anything that increases voter turnout can only be a good thing.

2. This is just the nature of technology, the benefits would be more for the media and the returning officers who could be done and dusted by 10:30.

3. The current system can be nobbled, any system can. I personally think a online voting system would be more secure than a paper based one. Both would have to run along side for quite a few years though until people build up trust in online voting.

4 & 5. As we saw last night, it takes a huge operation to count votes, even more so when systems other than first past the post are used. In programming terns counting is what computers basically do and in the long run if we moved over to a completely online system this would save lots of money.

6. There is already a online system in place to register to be on the electoral role. To my knowledge this has been successful and there hasn't been any issues of the system being hacked or used for electoral fraud. Online voting would be a addition to this system.

I'm sure there are many issues I haven't thought about both for and against. The overriding thing again though is voter turnout. We have a democratic deficit in this country and increasing voter turnout will mean the politicians have to listen more and cannot rely on their core 16% of voters to get them over the finish line. 

The technical side.

As I have said above, it isn't a complicated thing to count votes. The database would have to audit the votes and could track when the votes happened, the ip address of the voter (if it needed to) and any other fields of data that would satisfy the electoral commission. Currently when you are eligible to vote you get a polling card, this has your information on it and a unique code which is in a database and is tied to you and various other bits of information on where the polling station is and normally a little map etc.

The information we need therefore is already in a database, we just need to tie it to the data on who is up for election in your parish/division/constituency/referendum and then allow the user to vote online with it create their own rows in a table using these two sets of information. In database terms it is very, very simple.

The voter would then go to the site (or app) that would be written for online voting, stick in their unique code and also a couple of bits of information not on the card to verify who they are. Date of birth would be enough but the more you use (NI number, mothers maiden name etc) the more secure this side of it would be. Bearing in mind with the current system just having someones polling card is enough to vote, you are not asked for ID. Once you are securely logged in and verified you would be presented with the elections you are eligible to vote in, you pick your candidates, click submit, are asked to confirm your choice and then its done. The database is updated with your choices and your unique id is flagged preventing you from voting more than once. This can all be tied into the electoral commissions existing site. The voting choices could even have bio's and pictures with links to what each candidate stands for and promises to do if elected. Once the voting period has closed, the votes are already counted and we know who has won. The database will hold who voted, when and from what IP address. If there were any issues of voter fraud, the IP addresses can be tracked to the service provider and the person who pays for the connection. The database  and webserver would both have a fall over cluster (like a car with two engines, one as backup that seamlessly takes over if one fails). And the reports will already be predefined to show the results. Sample checking could be done to check the voters did vote when they said they did. 

Over 40 years ago we put a man on the moon, we cannot do online voting, really?

I will probably draw up a diagram on how this will work and a database schema when I get time, below is a few links on things I have mentioned.

Registering to be put on the electoral register database online:

Article in the independent on voter fraud, specifically the postal votes:

A article on the maths side of 128bit ssl encryption:

1 comment:

  1. I think you make lots of valid points.
    This needs to be implemented in time for 2015-2016.

    And what is the point in those electoral cards when nobody asks to see them.

    Great post I hope it gets a lot of readers