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

user can visualize approval distribution by circles #173

Open
mensch72 opened this issue Jul 14, 2022 · 3 comments
Open

user can visualize approval distribution by circles #173

mensch72 opened this issue Jul 14, 2022 · 3 comments
Labels
angular Probably needs Angular-related skills css Probably needs CSS-related skills feature A new feature or enhancement ready to implement Sufficiently detailed to start working on --> place in "Issues" svg Probably needs SVG-related skills typescript Probably needs Typescript-related skills

Comments

@mensch72
Copy link
Collaborator

mensch72 commented Jul 14, 2022

when clicking a special button next to "...% agreement" in the top of the poll page, the user is shown a popup with a venn diagram showing the percentage of participants that approve each possible combination of options, restricted to those options that receive a positive share.

the layout algorithm should be this: https://github.com/benfred/venn.js described here: https://www.benfrederickson.com/better-venn-diagrams/ (including the "normalization" part)

the circles should be semitransparent and have a darkness and z-coordinate which are both decreasing from most approved to least approved (same order as on poll page), so that it becomes clear that intersections "belong" to the topmost option. circles are colored in the same way as the sliders on the poll page.

in addition, each non-abstaining voter (or if these are more than 100, each percentage of the electorate) is depicted by a small stylized figure placed in the correct region of the diagram.

overall, it could look somewhat like this:
image

@mensch72 mensch72 added feature A new feature or enhancement ready to implement Sufficiently detailed to start working on --> place in "Issues" typescript Probably needs Typescript-related skills angular Probably needs Angular-related skills svg Probably needs SVG-related skills css Probably needs CSS-related skills labels Jul 14, 2022
@mensch72 mensch72 added this to the Second Release milestone Jul 14, 2022
@adrian-lison
Copy link

This looks like a really valuable feature to me.

Will have to see what threshold number of depicted voters is still fine to display, maybe it is already at less than 100... But I think the most important part anyway is to mark the user's position.
Where do we add the hint that these are only the options with positive share?

PS.: Cool algorithm! It would of course be nice if the most approved option would be in the center as far as possible, but I guess that cannot be guaranteed.

@mensch72
Copy link
Collaborator Author

small improvement: user's own avatar should not suggest a white person. maybe we can use a more neutral coloring.

@mensch72
Copy link
Collaborator Author

mensch72 commented Aug 2, 2022

first version is implemented and tested. own avatar still missing. placement of labels sometimes suboptimal (if circles stick out only very slightly). next steps:

  • add own avatar
  • replace hard-coded text by i18n
  • distinguish between N< or >=100 in legend
  • distort bottom circles a bit into ellipses if sticking out only slightly, to improve visibility
  • add specific suggestions for compromising at the end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
angular Probably needs Angular-related skills css Probably needs CSS-related skills feature A new feature or enhancement ready to implement Sufficiently detailed to start working on --> place in "Issues" svg Probably needs SVG-related skills typescript Probably needs Typescript-related skills
Projects
None yet
Development

No branches or pull requests

2 participants