Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Instructions were unclear #1

Open
mouseas opened this issue Nov 6, 2015 · 8 comments
Open

Instructions were unclear #1

mouseas opened this issue Nov 6, 2015 · 8 comments

Comments

@mouseas
Copy link

mouseas commented Nov 6, 2015

The program wants each ballot to rank the candidates 1-n, with each position left-to-right corresponding to a candidate top-to-bottom, but this is not clear. When I first used the program, I thought it wanted most-desired to least-desired, left to right, with the number corresponding to the candidate, rather than the position. In this way a partial ballot would simply leave off candidates from the end of their list.

Without a GUI, the instructions need to be very clear.

PeterTheOne added a commit that referenced this issue Nov 7, 2015
@PeterTheOne
Copy link
Owner

Thanks for your feedback, there hasn't been a lot of user testing. I totally agree that it may be confusing. Do you have concrete suggestions how the instructions should be altered? I made some changes already.

@Ads20000
Copy link

Ads20000 commented Oct 2, 2017

Do you have concrete suggestions how the instructions should be altered?

Not sure, I'll try and get round to doing some proper thinking on it :)

@cmcnulty
Copy link

cmcnulty commented Jan 5, 2018

I found it so confusing and difficult to use that I had to fork it - my fork allows you to enter the list indexed by order of preference - e.g. if the icecream list is: Chocolate, Vanilla, Strawberry, and your favorites are Vanilla, Strawberry, Chocolate - you enter "2,3,1" rather than what this system would call for, which is: "3,1,2". The big advantage of my fork, though, is that it allows entry of just "3" if your favorite is just Strawberry, and it will assign zeros to anything following it - which would be equivalent to an entry of "0,0,1".

@PeterTheOne
Copy link
Owner

@cmcnulty I try to explain the logic behind the current way of doing it. This IRV site was created to help count paper ballots and thus optimizes for transcribing paper ballots. A paper ballot has a list of Chocolate, Vanilla, Strawberry with "check boxes" next to them. Reordering on paper doesn't work, so you write the order of candidates in the boxes. When transcribing you should not think about the ballot anymore but just transcribe what you see, therefore you just transcribe the numbers from top to bottom on the ballot.

Your input format is certainly more intuitive to understand, I think it could be even better when you replace numbers with the actual candidate names! But unfortunately it doesn't line up with what I wrote before. If you like, we could merge something like that as an alternative input method.

@cmcnulty
Copy link

cmcnulty commented Jan 8, 2018

I completely understand now - it's all about how the ballots are distributed and how the votes are collected - I optimized for the case where, for instance, a numbered list is sent out via e-mail, with instructions to send back a list of numbers in the order of preference.

Your code is optimized for a situation with a printed ballot with instructions to add a number next to each line on the ballot indicating order of preference.

In the end the code to translate between the two methods is pretty trivial - I think the best direction for this project, to be honest, would be to split the vote handling code into it's own nodeJS module, and handle the ballot parsing in a separate UI only project.

@hfossli-agens
Copy link

Candidates

Obama
Hollande
Merkel

Ballots

3, 1, 2
3, 1, 2
1, 2, 3
1, 2, 3
2, 3, 1
2, 3, 1

Actual result

Round #1:

3 candidates and 6 ballots.

Number of first votes per candidate:
Obama: 2
Hollande: 2
Merkel: 2

3 candidates have the highest number of votes with 2 votes (33.33%)
3 candidates have the lowest number of votes with 2 votes (33.33%)

Tiebreaker: Hollande was randomly selected as the loser of the round.

Round #2:

2 candidates and 6 ballots.

Number of first votes per candidate:
Obama: 2
Merkel: 4

Merkel has the highest number of votes with 4 votes (66.67%)
Obama has the lowest number of votes with 2 votes (33.33%)

Merkel won!

Expected result
I didn't expect Obama and Merkel to have any difference in round 2. They seem to have same number of no 1 votes and same number of no 2 votes.

If this issue can be dismissed by my lack of knowledge - feel free. To me this seems wrong.

@PeterTheOne
Copy link
Owner

@hfossli-agens As Hollande lost round 1 now for every ballot with Hollande as "first votes" the "second votes" will become the new "first votes". In this case Merkel gets two extract "first votes". Did you expect it to remain a tie? It is the concept of IRV to still consider the preferences of ballots that didn't get their first wish.

@hfossli-agens
Copy link

hfossli-agens commented Nov 27, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants