Currently, type=approval is re-using a lot of the logic from type=multiple-votes-allowed (aka: "Choose-up-to X").
Specifically, given an approval item like:
{ id: icecream:
options: [
{ name: 'chocolate' },
{ name: 'vanilla' },
{ name: 'strawberry' },
],
}
Right now if the voter approves of the first two options, their vote will be shaped like:
{ icecream_1: "chocolate",
icecream_2: "vanilla",
icecream_3: "BLANK" }
This has 3 downsides:
- It's functionally equivalent to an approval vote, but indirectly, which should really be a series of TRUE/FALSE. So tad confusing.
- The numbering (1, 2, 3) is somewhat misleading, it could be misunderstood as implying a ranking preference order, but the voter didn't do that.
- It runs into the existing issues around char-size limits within encryption.
Better solution (like type=score):
{ icecream_chocolate: "approve",
icecream_vanilla: "approve",
icecream_strawberry: "BLANK" }
Currently,
type=approvalis re-using a lot of the logic fromtype=multiple-votes-allowed(aka: "Choose-up-to X").Specifically, given an approval item like:
Right now if the voter approves of the first two options, their vote will be shaped like:
This has 3 downsides:
Better solution (like
type=score):