When I initially wrote that I was slightly hung-over and hadn’t thought it through
On reflection, I do think it would be a bit complex to implement a 100% secret ‘no admin can figure out your vote through db queries’ changeable-vote poll.
But, as suggested, I think this is the wrong focus for two reasons.
-
I’m not sure that the fact that there is a record of voter’s actual votes somewhere invalidates the secrecy of the ballot. There are many instances in real-world elections when it is possible for an election administrator to undermine the election. Ballot boxes can be stuffed, votes can be changed after the fact, cameras can be installed in voting booths, voters can be intimidated… Such things can and do happen in real world elections. What makes a valid election is not the impossibility of these things occurring, but them not occurring in fact. Making a completely incorruptible system would be ideal, but it’s not necessary to make the process valid. A simple solution is for the administrators to simply refrain from querying the db. Like election administrators in real life elections refrain from changing votes.
-
I do think that the default for any Poll (election or otherwise) should be one vote per user per poll. This goes to the reason why almost all polls (election or otherwise) in real life are conducted within a short window of time: as far as possible, all votes are cast within the same factual context. If the changes in factual context are not taken into account a poll (any poll) is pretty meaningless, as it’s not constituted with similarly situated choices.
I would note in passing that automatic time limiting for polls is one possible feature that could help in this respect, however it’s not really material to the current discussion as whoever posts the poll can just say when the poll will close and close it then.
One material aspect of this is knowledge of other people’s votes. It would be better, from a poll-mechanics perspective, to not allow people to see the results of a poll prior to voting. Showing results to a voter after they have voted and then allowing them to change their vote is also not desirable from a poll-mechanics perspective. This issue has been discussed on meta before.
The trickier situation is when you have a poll with results that are hidden until voting is closed. In this situation you might initially think that not allowing people to change their votes violates the principle of ‘same factual context’ more than allowing it does, as polls (particularly internet polls) are necessarily conducted over some period of time, so if there is a material change in the factual context over that period it is better to give the people who voted early an opportunity to change their minds. In fact, there are a handful of U.S. states that allow early voters to change their vote prior to an election day.
However I would argue that, when considering what the desired default should be, we need to take into account a few other factors:
-
Changing ones vote in a poll (any poll) is not a standard action. Most voters in a poll will only vote once, regardless of whether they can change their vote. Those who do change their votes (for whatever reason) will skew toward those who are more heavily invested in the subject matter or the outcome.
-
Allowing votes to be re-cast multiple times lessens the import of casting a vote. Part of the function of allowing a voter to only cast their vote once is to force them to thoroughly consider their reasons for deciding. In the same vein, I think it is better to structurally preference a priori reasoning over a posteriori reasoning. The latter is more likely to be influenced by more immediate factors.
-
In most situations in which there have been material changes in the factual context during the voting window, it would make more sense to create a new poll rather than try and ‘assimilate’ the new facts into the context of the old one. Polling firms don’t conduct one massive poll over the course of an election campaign and try to assimilate the old preferences into the context of the new ones. They conduct multiple polls at particular times.
-
Will I work on submitting PRs for hidden results and single vote polls to the polls plugin? Maybe I’ll see what my schedule is like next week…