-
Notifications
You must be signed in to change notification settings - Fork 8
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
More granular vote delegation #216
Comments
I´m copying here @loorm´s three possible options about vote delegation: _What we have in mind are these options when delegating
Times ago we had one request from user where a group of people wanted to allow vote delegation with an option to delegate decision making in different categories to different people for certain time. As this was a member-led organization, they would have wanted to have the statistics about who gets the most vote delegations in certain time period (let´s say in one year). This information would have been an input to nominate these people as the board members of their organization because they were seen as trusted experts by their members. Let it be said that in our system vote can only be delegated to a person who is being invited to the topic or group, so people should know to whom they want to delegate their vote. There are some questions that we need to think through. Where and in which phase should user decide who, in which categories and for how long she wants to delegate her vote? In the voting window? Under the Topic´s or Group´s general information? Elsewhere...? @ilmartyrk @tiblu what are the technical possibilities here? :) |
@EgidioRomano Thanks for the input! @anettlinno Everything is possible, we need to figure out the UX and then the technical implementation and the cost and the priority. From implementation side delegation is relatively straightforward BUT things to consider:
I would THINK currently this is a quite low priority because:
BUT, all that said - I do think it's an interesting and useful feature have. Need to promote delegation more. We are also open to all pull requests (PR)! |
I realize in my mind the idea is quite simple and straightforward, but translating this into Node.js code is not simple for me - unfortunately I'm not a developer. But I'm quite familiar with JS apps, and I'll try my best trying to make pull requests (PR) about this feature. |
@EgidioRomano Thanks for thinking along! Sorry for the long response, being part time, I'm not always available. My vision - here is an example delegation chain:
Given the weird cases that MAY modify the vote results, I find it more reliable to count votes when the vote results are read, NOT try to pre-calculate. We MAY consider mixed soluton, but as long as we have decent performance recalcualting on every read, I would use that - no caching, no pre-calculation. NOTE: Using |
@tiblu thanks for your thorough explanation! I think you're right, maybe it's better to count votes when the vote results are read and/or at the end of the vote. On the other hand I believe that caching them could only improve performance, don't you think that? |
"There are only two hard things in Computer Science: cache invalidation and naming things" - Phil Karlton I agree that caching improves performance, BUT at the cost of system complexity. In my head it's always better to use caching after all other optimizations are not helping as cache invalidation will be the difficult one. |
Never thought of this before, but true. In the physical world, when you delegate your vote, it's almost always with the understanding, that the person you delegate to, will actually partake in the vote. Only if some accident or other circumstance prevents the person with the votes from participating, are the votes actually lost. In Citizen OS, because we do not let anyone know, that votes have been delegated to them, we exacerbate the issue. There are good reasons for not letting people know, that votes have been delegated to them, but it increases the risk, that the person with all the votes may end up not participating in voting... |
I've been thinking about another potential problem: since a topic can have up to 3 categories, how should we handle those cases where I have delegated user A for category X and user B for category Y but the topic includes both categories X and Y? |
Maybe it's better to follow the KISS (Keep It Simple, Stupid!) philosophy and opt to implement only permanent delegation (i.e. until withdrawn) in all topics/categories? |
Yup, probably easier for now to keep the single issue vote delegation as we have it and then add "total delegation", where someone can vote for me in all issues, until I revoke delegations. Category-based delegation (even though it makes real world sense) needs some more thought. |
What is the user story?
Users should be able to delegate their vote for a single topic, permanently (i.e. until withdrawn) in one or a few categories, or permanently (i.e. until withdrawn) in all topics.
What is the requested feature?
Vote delegation currently works on a per-vote basis. Give to the user the possibility to delegate their vote not only on a single topic, but permanently in one or some categories, or in all categories, until they decide to withdraw the delegatoin.
The text was updated successfully, but these errors were encountered: