nsVote

nsVote - Non Secret Vote Tool

Site software for voting using universal IDs from Identity providers (IdPs) (sites with unique ID's that implements OAuth (like for example Facebook)).

Secrecy issue

Some might say that voting has to be secret because of bullying, and say that non-secret voting is useless. But compare to petitions, which is basically non-secret voting (although without uniqueness check). Other examples are showing of hands used on meetings, or votings at general meetings of stock companies.

One should also know that representatives (such as in a parliament, senate or whatever) are not immune to bullying (or bribery) either.

Fake vote issue

When addressing the risk of fake accounts, one can compare to another democratic tool: web-polls, which have a much bigger risk of fake-votes.

One can also note that some ID providers, like Facebook, actively tries to prevent fake accounts. (According to this link 1.5 percent of Facebook-accounts are fakes). (Other sources have said between 5 and 10 percent).

As OAuth is an open standard, one could assume that more actors becomes "Id providers", not only companies but also different communities (nations, municipalities, associations...).

On the fake-vote issue one should also mention the filtering mechanism (see the demos below), which helps any reviewer of the voting result to see how the voting result varies through the population. Which in turn makes it more difficult for those who wants to sabotage the result. One can for example filter out votes of a certain town, country or school (all depending on how much extra information one extracts from the ID provider).

Demos

(Used to be implemented on Heroku but not any more since their free tier was removed)

Advantages relative to normal referendums

Voters can come back and change/delete their vote.

Page load times, caching

Loading the page, creating the histograms (see demo), requires about ten database queries.

With for example half a million voters it takes about eight seconds to load the page (do all the database queries). (If the server runs on my computer like mine (Intel core i3))

To speed up page loading, one can make snapshots of the userTab like every day.

This means that the first person who loads the page (or uses a certain set of filters) will experience a slow page load (like above). Those people that loads the page after that or uses filter combinations that anyone else have used, will get a very fast response.

See also