This site uses cookies. By continuing to browse the site, you agree to our use of cookies. Find out more about cookies.
Skip to main content
Metadecidim's official logo
  • English Triar la llengua Elegir el idioma Choose language
    • Català
    • Castellano
Sign Up Sign In
  • Home
  • Processes
  • Assemblies
  • Initiatives
  • Consultations
  • Conferences
  • Help

Propose new functionalities for Decidim software

#DecidimRoadmap Designing Decidim together

Phase 1 of 1
Open 2019-01-01 - 2030-12-31
Process phases Submit a proposal
  • The process
  • Debates
  • Propose new features
  • News
chevron-left Back to list

Condorcet voting

Avatar: Csaba Madarász Csaba Madarász
23/01/2019 10:06  

Unfortunately the debate functionality uses plural voting only. The plan is to develop a module which uses the nominees gathered with the debate module, and conduct condorcet voting on them. The sortitions module have some similar functionalities, so modifying it is a possible way to go.

https://en.wikipedia.org/wiki/Condorcet_method

  • Filter results for category: Sortition Sortition

List of Endorsements

Avatar: Xabier Xabier verified-badge
Avatar: txema txema verified-badge
Avatar: Daniel Daniel verified-badge
Avatar: roxu roxu
Avatar: Alessandro Rodi Alessandro Rodi
and 2 more people (see more) (see less)
Endorsements count5
Condorcet voting Comments 19

Reference: MDC-PROP-2019-01-14190
Version number 2 (of 2) see other versions
Check fingerprint

Fingerprint

The piece of text below is a shortened, hashed representation of this content. It's useful to ensure the content hasn't been tampered with, as a single modification would result in a totally different value.

Value: 603581b09e18e1c48fa8627b2e142341679c52f5ea2fa079932af3ff14b8eea5

Source: {"body":{"en":"Unfortunately the debate functionality uses plural voting only. The plan is to develop a module which uses the nominees gathered with the debate module, and conduct condorcet voting on them. The sortitions module have some similar functionalities, so modifying it is a possible way to go.\r\n\r\nhttps://en.wikipedia.org/wiki/Condorcet_method"},"title":{"en":"Condorcet voting "}}

This fingerprint is calculated using a SHA256 hashing algorithm. In order to replicate it yourself, you can use an MD5 calculator online and copy-paste the source data.

Share:

link-intact Share link

Share link:

Please paste this code in your page:

<script src="https://meta.decidim.org/processes/roadmap/f/122/proposals/14190/embed.js"></script>
<noscript><iframe src="https://meta.decidim.org/processes/roadmap/f/122/proposals/14190/embed.html" frameborder="0" scrolling="vertical"></iframe></noscript>

Report inappropriate content

Is this content inappropriate?

Reason

19 comments

Order by:
  • Older
    • Best rated
    • Recent
    • Older
    • Most discussed
Conversation with Xabier
Avatar: Xabier Xabier verified-badge
10/02/2019 23:01
  • Get link Get link
In favor  

This is a very nice proposal for improving Decidim. Condorcet method is very good. @mcsaba do you know how to implement? I mean at the level of interface and desing (UX).

Avatar: Csaba Madarász Csaba Madarász
11/02/2019 07:54
  • Get link Get link

Thanks! We also think, that using Condorcet the whole voting results can reflect better the common best. We have a team, but not very strong currently on the ux level. However, we can try to raise some interest around it.

Avatar: Xabier Xabier verified-badge
11/02/2019 19:29
  • Get link Get link

This is really great. I think we should ask @carol and @andres if they are ok with this (which I am pretty sure they will) and see how we can help from here or github. There are quite many aspects to be discussed first. For example:

Do we want this to be a feature of process, assemblies or consultations? or all? Depending on the answer the behaviour might be different.


If I am correct the Condorcet works best with a limited number of candidates, is this correct? how many?


We already have an interface to vote in Consultations, so maybe we can re-use it at the UX-desing level. Would that be sufficient?

Avatar: Magosányi Árpád Magosányi Árpád
11/02/2019 21:20
  • Get link Get link

I figure that this would be a process component depending on the proposals module, in a similar way like the sortitions module does. People would gather the proposals, and the winning proposals would be used by the condorcet module. This way the whole Debian Resolution Process could be supported.


Yes, it is UX-wise cumbersome to vote for a lot of candidates in a preferential method. The limit depends on personal taste, I would say that it is somewhere around 5-10. This is one reason to dependon the proposals module: the proposal threshold can help to filter out irrelevant alternatives. This can be augmented with a logic which includes only the N alternatives with the highest number of proposals.
And you can use a type of cumulative UI for Condorcet, along these lines:

Likes | Candidate name | Dislike
O O O| Candidate name1|O
O O O| Candidate name2|O
O O O| Candidate name3|O
O O O| Candidate name4|O
You can place at most 6 likes and one dislike.
This can be tallied w/ Condorcet

Avatar: Magosányi Árpád Magosányi Árpád
11/02/2019 21:23
  • Get link Get link
It is not easy to reuse a pluralistic vote implementation for a preferential system. Both the model and the UI are wildly different.
Avatar: Magosányi Árpád Magosányi Árpád
11/02/2019 21:08
  • Get link Get link

In terms of user interface we are thinking about something similar to that of civs: https://civs.cs.cornell.edu/
The problem right now is lack of knowledge of rails and decidim internals. I could not figure out how to run the unit tests just for the sortitions module (if any. if none, then to create one).

Avatar: Xabier Xabier verified-badge
13/02/2019 10:17
  • Get link Get link

Well it all looks quite sophisticated and complex. We should define and MVP and really think how to implement it at the level of architecture, and work the interface in parallel. The problem is that we don't have the resources to develop this feature and you don't have the knowledge! I am not sure what we can do ... Unless you have the economic resources to pay some of the developers that can do the job or you have the time to learn... On the side of the Decidim team this is a desirable feature but not a priority right now, unfortunately.

Avatar: Magosányi Árpád Magosányi Árpád
13/02/2019 11:23
  • Get link Get link

I am regarded as an experienced programmer. I have made my first kernel patch some 18 years ago, and fluently speak at least five programming languages. I am just new to rails and internals of Decidim.
I believe that onboarding help may be actually your interest, and improving on that field helps your velocity a lot in the long run.
If I could get to the point where I can clone the sortitions module in another name, run its test, and create one or two unit tests for it (as I see you do only high level integration tests), then I could handle most things for myself, and only had an occasional question from time to time.
When I mentioned CIVS, I was talking about its voting UI specifically. It is not that complex. The MVP would just provide a voting UI based on the proposals gathered in the proposals module, gather the votes, and when the vote is closed it would compute and show the result.

Avatar: Xabier Xabier verified-badge
18/02/2019 13:27
  • Get link Get link

@magwas that's great. I just feel frustrated because I cannot help you technically. I am not a developer. The MVP you suggest seems great to me. Not sure how to handle both a more detailed definition of the module and the technical support you might need. I guess both @andres and the developer community at gitter might be able to help: https://gitter.im/decidim/decidim

Certainly being an experienced developer is of much more value than anything else. I am sure once being an experienced developer you can learn Rails and the Decidim internals pretty fast.

Avatar: Andrés Andrés verified-badge
13/02/2019 10:42
  • Get link Get link

Hi! At the moment we don't have any financing for these kind of features. We're closing the roadmap for 2019/2020 and the idea is to stabilize/fix bugs/improve on UX based on what we have right now. We're hoping to publish the roadmap on the next few weeks.

On the other hand, Decidim has a modular design, and we're always welcoming new modules that could extend the present features and introduce new ones.

Conversation with Csaba Madarász
Avatar: Csaba Madarász Csaba Madarász
13/02/2019 10:56
  • Get link Get link

Hi! So in this case, do you have an already implemented way of promoting possible developments beside the roadmap? I have an assumption, that decidim could be itself a good platform to manage this - even to raise the issue in members through a process, and to find partners for certain, out of the roadmap possible features and functions. Maybe I am wrong, but looking for your input.

Avatar: Carol Romero Carol Romero verified-badge
13/02/2019 11:38
  • Get link Get link

Hi @mcsaba!
Yes, in fact this process is the space to propose, discuss and agree on new developments (also to find possible partners). What makes them become part of the roadmap is basically that they have funding (and the review by the Product team).

Avatar: Xabier Xabier verified-badge
18/02/2019 13:21
  • Get link Get link

Exactly. Different institutions and developers make here suggestion so as to how to improve Decidim. These are latter moved to Github for production.

Avatar: Oliver Valls Oliver Valls
20/02/2019 11:00
  • Get link Get link

Hi all,
We may be able to find some financement to improve the vote counting in consultations.
Our idea is to find a group of organizations that partner together to finance the developments in a common effort.

Maybe we can do a deeper analysis of what are the different existing vote counting algoriths, see where they can be applied and look for a transversal solution along all components with this need.

I think that the only affected components are Consultations/Questions and Proposals. I'm discarding comments but I'm not sure. Any other?

Avatar: Virgile Deville Virgile Deville
20/02/2019 11:18
  • Get link Get link

At Open Source Politics we also face these kind of demands : preferential voting, majority judgement voting. @lucas_hamani is currently exploring these possibilities maybe he can share more

Avatar: Csaba Madarász Csaba Madarász
13/03/2019 11:38
  • Get link Get link

I would love to hear anything about it @lucas_hamani

Avatar: Lucas Hamani Lucas Hamani
15/03/2019 17:25
  • Get link Get link

@mcsaba
We haven't done much yet since our clients requests are about very different use cases from one another.

So far we focused on introducing preferential voting within the budget component through a module of ours which is "Vote per project". We haven't had the chance to send this module to the master. I hope we'll correct that really really soon.

Our "Vote per project" enables the admin to shift the participant focus on the projects rather than the budget allocated to them when voting for a participatory budget. It works the following way :

Participants are asked to vote for a number projects of his choosing regardless of the budget allocated to them. The number of projects to be selected is set by the admin in the budget component back office.
Once the vote is closed, the winning projects are all the projects the most voted for within the total budget limit.

Avatar: Lucas Hamani Lucas Hamani
15/03/2019 17:25
  • Get link Get link

The other advantage of this vote method being it that it is much simpler to enact offline simultaneously. It is much easier for a participant to choose any number of projects among many rather than do some maths to make sure the projects he chose are within the budget limit.

Unfortunately I can't direct you to a live example since none of our clients doing a participatory budget are in the voting phase.

To introduce preferential voting through this module, we thought about adding a weight to each projects selected by a participant according to the order he selected them. The first project selected being the most wanted by the participant, the fifth one being the least wanted by the participant among his choices.

Avatar: Alessandro Rodi Alessandro Rodi
11/05/2020 14:15
  • Get link Get link

I maintain an open source library which implements the shulze voting algorithm: https://github.com/coorasse/schulze-vote. This might be useful since also decidim is in ruby. The library is already used in Agreeder (https://agreeder.com/) and Airesis (https://airesis.eu/)

Add your comment

Sign in with your account or sign up to add your comment.

Loading comments ...

  • Terms and conditions of use
  • About the community
  • Download Open Data files
  • Metadecidim at Twitter Twitter
  • Metadecidim at Instagram Instagram
  • Metadecidim at YouTube YouTube
  • Metadecidim at GitHub GitHub
Creative Commons License Website made with free software.
Decidim Logo

Confirm

OK Cancel

Please sign in

decidim Sign in with Decidim
Or

Sign up

Forgot your password?