nsVote - Non Secret Vote Tool
Site software for voting using universal IDs from an Identity provider
(IdP) like Facebook or anyone implementing the OAuth standard
and at the same time maintains a register of unique ID's.
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 annual general meetings of stock companies.
One should also know that representatives (such as in a parliament, senate or whatever) are not immune to bullies (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). This "fake-account-level" might be enough for certain votings.
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).
Another way of dealing with fake votes (fake identities)...
... is to make the communities (nations, municipalities, associations...) themselves becoming ID providers, by implementing the OAuth
A such implementation would also make it easy for any third party to setup a voting/referendum for that community.
- Voters can come back and change/delete their vote.
- Multiple choises (a voter can choose more than one option)
If the system becomes slow, one can use snapshot tables which are copied on predetermined time intervals (like once a day). The snapshot tables means that database queries
become cached, which in turn improves the performance significantly especially when lots of filters are applied.