fairvotereform / RankIt

https://rankit.vote
1 stars 2 forks source link

Make multi-winner polls more obvious #117

Closed ggordn3r closed 4 years ago

ggordn3r commented 4 years ago

Multi-winner polls are not as intuitive as single-winner, so we need to constantly remind the user that they're looking at one. I propose 2 slight improvements:

1) In a new line under the Poll Title, include "(N winners)" in the same style as the body text. Update 7/27/20: Make this "(N winners, T% to win)", where N is the # of winners and T is the threshold value.

2) At the end of the "We have a winner!" paragraph in multi-winner polls, append the number of winners left like this:

We have a winner! Sen. Elizabeth Warren of Massachusetts wins with 40% of the vote. Two more winners will be chosen.

proggeramlug commented 4 years ago

Okay, the first part I've implemented.

The second part, do you have an example poll where this could be tested well? I struggle to find/create one.

ggordn3r commented 4 years ago

Hmm... there could be an issue with the threshold for the "Heads Up" message and Round Summary. While a poll has <7 votes, the Heads Up message should display and the Round Summary should show the "not enough votes" message (see #80 for details). I've voted 10 times in this multi-winner poll (https://rankit.skelpo.com/results/rDZnWYOUBh5BbaSUvF1b/summary) but am still seeing that message.

Once we can confirm the threshold is at 7 and the Round Summary is appearing, you should be able to implement the second part of this feature testing with the poll I've linked.

Update 7/29: confirmed that there is an issue with the # of votes threshold. See, for example, this poll: https://rankit.skelpo.com/results/2dRIuBr22njWRKVXGp7U/summary It has 23 votes, so expected behavior is that the round summary shows and the "Heads Up" message does not.

ggordn3r commented 4 years ago

Also, see the update in the description as of 7/27--slight addition requested by the client.

proggeramlug commented 4 years ago

The threshold is not 7, the threshold is poll.choices.length * 2 + 1 so in this case 15*2+1 = 31.

Is that by design or should we change it to 7?

ggordn3r commented 4 years ago

Is poll.winners.length*2 + 1 an option? Using the # of winners instead of the # of choices would be better.

After you make that change, also try implementing part 2 and the update to part 1 in the original issue now that we can see the output.

proggeramlug commented 4 years ago

Okay, changed it to the winner-length and implemented the second part - take a look!

ggordn3r commented 4 years ago

A couple of tweaks: 1) I don't see the message specified in part 1 above. I mocked it up exactly as it should look in the screenshot below. 2) Part 2 number is wrong in the poll I tested, see screenshot for details: https://rankit.skelpo.com/results/ZehVDnsKBEWWvRnIbH8a/1

Screenshot (26)

proggeramlug commented 4 years ago

Fixed!

ggordn3r commented 4 years ago

Found a quirky issue--"winners left" miscounts when there's a tie for 2 winners in the first round: https://rankit.skelpo.com/results/I4cnPOhEjpqc0mnmo0Pp/1

Notice that it says "2 more winners" but there are 3 total winners and 2 were elected in this round, so it should say "1 more winner"

proggeramlug commented 4 years ago

Found the problem and fixed it!