A Godot Engine app to help streamers organize Majority Judgment polls in their streams.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
3.0 KiB

  1. [![Join the Discord chat at https://discord.gg/rAAQG9S](https://img.shields.io/discord/705322981102190593.svg)](https://discord.gg/rAAQG9S) \
  2. [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
  3. # Majority Judgment Polling (for Streamers)
  4. Organize a majority judgment poll in a few seconds _(as low as 0.5s, by hitting `Enter` twice)_, and let your community vote on it through one of the _providers_, like your Twitch Chat, using commands such as `A2 B1 C4`.
  5. [![A short demo of the application](https://img.youtube.com/vi/6JnTlUcu1nA/0.jpg)](https://www.youtube.com/watch?v=6JnTlUcu1nA)
  6. ## Just for streamers?
  7. No.
  8. The app can be exported for Android, and you can set up polls on your smartphone.
  9. Any participant can vote by sending you SMSes with commands of the form: `A3 B5 C0`.
  10. The app has to stay alive to keep receiving SMSes, for now (see Issue #8), so best keep it in focus for the duration of the poll.
  11. ## Overview
  12. This is a distributable project made with Godot Game Engine, and there is no server-side to this application.
  13. All the data is held by the streamer, on their computer, whether they're using a binary executable or the web application on _itch.io_.
  14. By design, the ballots are open, which may be unsuitable for politics, but it will allow us to enable delegation features, and we find that exciting!
  15. Perhaps there is a way to make the ballots more secret (using whispers, a Twitch js overlay or some other trick).
  16. ## Disclaimer
  17. The project is in a **PRIVATE ALPHA** stage.
  18. It works, but it needs further testing on different machines before it can be considered stable.
  19. > Please consider becoming a tester, we need _YOU_!
  20. We're looking for streamers willing to test it out and help us improve the software by making it crash in a number of interesting ways.
  21. Open an issue in our tracker, or join us on [Discord](https://discord.gg/rAAQG9S).
  22. ## Chat Commands
  23. Vote Chat Commands are in the form:
  24. ```
  25. <CandidateLetter><GradeValue>
  26. ```
  27. Letters start with `A` (duh), and each candidate gets attributed a different letter when they are added to the poll.
  28. Grades start at `0`, and their meaning is as follows:
  29. 0. TO REJECT
  30. 1. POOR
  31. 2. PASSABLE
  32. 3. GOOD
  33. 4. VERY GOOD
  34. 5. EXCELLENT
  35. This is an example of meaning for 6 grades.
  36. We will support different gradings in the future.
  37. > Valid Examples:
  38. > - A2 B0 C5
  39. > - A2B0C5
  40. > - a4B1 c5
  41. #### Grade capping
  42. Grades are capped to the maximum grade, so `A1337` is understood as `A5`.
  43. ## Add a new provider
  44. 1. Extend `MajorityJudgmentAbstractProvider`.
  45. 2. Register it in `App.gd`.
  46. 3. Add its toggle to the `SettingsForm` scene.
  47. ## Missing Features
  48. - Delegation (#10 [work in progress](https://git.mieuxvoter.fr/MieuxVoter/majority-judgment-for-streamers/wiki/Delegations))
  49. - More providers (Youtube live, Peertube live, IRC, CSV file, etc.)
  50. - Save/Load polls (#2)
  51. - Resilience to scale (Poll tallier may be vastly improved)
  52. - Option to enable/disable logs
  53. - Allow candidates to be added by the Chat (#11)
  54. -
  55. ## LICENSE
  56. _This is libre software._
  57. MIT