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

Ability to vote on Issues #126

Open
prolificcoder opened this Issue Jul 15, 2013 · 55 comments

Comments

Projects
None yet
@prolificcoder
Copy link

prolificcoder commented Jul 15, 2013

fixes #3094

@thoop

This comment has been minimized.

Copy link
Contributor

thoop commented Jul 15, 2013

+1
@prolificcoder good idea :)

@homeyer

This comment has been minimized.

Copy link
Contributor

homeyer commented Jul 16, 2013

Ha, if only we could vote this idea up :). What do you think, keep track of it ourselves? Would mean an async request per card to our backend, or grab all cards and filter on client side.

@thoop

This comment has been minimized.

Copy link
Contributor

thoop commented Jul 16, 2013

@homeyer We should ask some people how they would like it done. Maybe they don't care about votes being visible from github? @prolificcoder, would you want them visible from github, or only on waffle.io?

Could we do it with a label? Labels come back with the github api call without needing to make more requests. We'd need to store a token that has access to change a board's issues and change labels from the server side.

"votes:1", "votes:2", etc. that way people could filter by votes in the github issues UI. Might create a lot of label cruft though.

@prolificcoder

This comment has been minimized.

Copy link
Author

prolificcoder commented Jul 16, 2013

I am ok with seeing votes just on waffle. Labels have a different purpose of categorizatoon, I don't want to loose that option. 

Sent from Mailbox for iPhone

On Tue, Jul 16, 2013 at 3:24 PM, Todd Hooper notifications@github.com
wrote:

@homeyer We should ask some people how they would like it done. Maybe they don't care about votes being visible from github? @prolificcoder, would you want them visible from github, or only on waffle.io?
Could we do it with a label? Labels come back with the github api call without needing to make more requests. We'd need to store a token that has access to change a board's issues and change labels from the server side.

"votes:1", "votes:2", etc. that way people could filter by votes in the github issues UI. Might create a lot of label cruft though.

Reply to this email directly or view it on GitHub:
#126 (comment)

@thoop

This comment has been minimized.

Copy link
Contributor

thoop commented Jul 17, 2013

Great feedback. Thanks!

@ghost ghost assigned kmanzana Sep 16, 2013

@Boggin

This comment has been minimized.

Copy link

Boggin commented Feb 16, 2014

I'd have 'votes: 1' etc. as a label otherwise I'd feel beholden to waffle.io; I'd feel I'd lost some centralisation of data.

@prolificcoder prolificcoder changed the title Can I vote on an issue? Ability to vote on Issues Apr 30, 2014

@markus101

This comment has been minimized.

Copy link

markus101 commented Apr 30, 2014

What if voting added a +1 comment to the issue and all +1 comments were excluded from the conversation within waffle.io? This would keep the voting within the GitHubissues so you're not tied to waffle.io and let people vote via waffle.io or a +1 message on GitHub. waffle.io would need to find all the issues that only contain +1 count them as votes and strip them out (just to make things clear).

YouTrack (from JetBrains) did something similar where their workflow would take any comment that contained +1, cast a vote and remove the comment.

@paulthorsteinson

This comment has been minimized.

Copy link

paulthorsteinson commented Jul 8, 2014

+1

@jean

This comment has been minimized.

Copy link

jean commented Aug 12, 2014

Noticed http://poll.gitrun.com/ .. any good ideas there?

@djay

This comment has been minimized.

Copy link

djay commented Aug 12, 2014

+1 to @markus101. In addition the vote count could be appended to the main issue text so you can view the count in github as well as waffleio

@ashumz

This comment has been minimized.

Copy link
Contributor

ashumz commented Sep 30, 2014

+1
"Two things that would be useful additions:

  • Cards on waffle.io board display total number of comments containing +1, :+1:
  • There is a way how to reorder items in backlog using the number of likes. To be honest, I am not sure what the UX of this would be, as it probably makes sense to preserve manual ordering too.

The second point may not be the best idea at the end of the day, but the first one is IMO still valuable."

@ashumz ashumz added the open source label Oct 3, 2014

@jakejgordon

This comment has been minimized.

Copy link

jakejgordon commented Oct 26, 2014

I think implementing the simplest possible thing would be good enough initially. If users can just click +1 on issues and anyone can see the total number of +1s. I would love this for my https://waffle.io/jakejgordon/nemestats project!

@lukecharde

This comment has been minimized.

Copy link

lukecharde commented Nov 17, 2014

👍

@patik

This comment has been minimized.

Copy link

patik commented Nov 17, 2014

If users can just click +1 on issues and anyone can see the total number of +1s

👍

@esteinborn

This comment has been minimized.

Copy link

esteinborn commented Nov 17, 2014

👍

1 similar comment
@JeffHerb

This comment has been minimized.

Copy link

JeffHerb commented Nov 17, 2014

👍

@hrj

This comment has been minimized.

Copy link

hrj commented Nov 20, 2014

Does the Github API reveal the count of Subscribers for an issue? If so, it could be used as a voting mechanism.

@ashumz

This comment has been minimized.

Copy link
Contributor

ashumz commented Mar 26, 2015

+1 from @luan-cestari: "Voting feature on issues/PRs Just up/down votes button storage as a label or as a description in the issue. With that issues could be voted if it is relevant or Pr could be merged after reaching % of team's approval or etc"

+1 from @CyberStrike

(from #1824, closed as duplicate)

@gabeio

This comment has been minimized.

Copy link

gabeio commented Apr 11, 2015

Would love to see like up vs down votes... 👍 or 👎 or /-1/ or /+1/ regex search each comment and sum them on the side or on the outside of the (card)?

@laurisvan

This comment has been minimized.

Copy link

laurisvan commented Apr 23, 2015

Would love to see the voting feature, too. A more complex (but potentially useful) extension would be to give some kind of limited quota of 'points' to distribute among the features. It's very easy to +1 all, but which is the most vital of all the +1's you've given.

@ksuderman

This comment has been minimized.

Copy link

ksuderman commented Jun 9, 2015

+1. Until GitHub supports voting on issues I would be happy if the votes were visible in waffle.io only. Any work around using labels, subscribers, etc. is going to be waffle specific in anyway.

@gsaslis

This comment has been minimized.

Copy link

gsaslis commented Aug 3, 2015

👍

1 similar comment
@jordanskole

This comment has been minimized.

Copy link

jordanskole commented Aug 6, 2015

👍

@miracle7

This comment has been minimized.

Copy link

miracle7 commented Aug 29, 2015

+1

Even this board would be improved drastically by being able to have most voted issues at the top!!! Please!!!

@benaubin

This comment has been minimized.

Copy link

benaubin commented Sep 15, 2015

+10

@pdurbin

This comment has been minimized.

Copy link

pdurbin commented Oct 19, 2015

Does the Github API reveal the count of Subscribers for an issue? If so, it could be used as a voting mechanism.

@hrj I don't believe so. That's what http://stackoverflow.com/questions/24810516/count-of-subscribers-to-a-github-issue is about. If it's possible, please let me know! I think the number of subscribers to an issue would be a good proxy for voting.

Encouraging people to +1 issues is seen as noisy by many. Check out isaacs/github#9

What I would love to see is for waffle to somehow allow every user to switch to a "If I were the boss" view in which they would have two lists: "Open Issues" and "My Ranking" (or whatever). They would drag the issues they really cared about to the "My Ranking" list and within that list they would put them in order with the issues they care about the most at the top. Each user gets his or her own "My Ranking" list and the current order is stored in Waffle. Then the owners of the GitHub repo could run reports asking questions like "Which issues have people added to their 'My Ranking' list?" and "Which issues appear most often in the top three or five within those lists?"

This would encourage users to think about which issues they care about most and put them in order, which in my opinion is even more valuable than simply voting. They can tell you what their number one issue is, what number two is, etc.

I think I'm fine with the voting/ranking data living inside Waffle but it would be awfully nice if it could be downloaded for analysis by the repo owners. I'd even be in favor of the data being public everyone could tell who is voting for what. If we're doing social coding on GitHub we might as well do social prioritization as well. :)

@therealbill

This comment has been minimized.

Copy link

therealbill commented Jan 6, 2016

Perhaps another, if slightly awkward route, would be to create a "gh-voting" branch and store a "issues.json" and "pullrequests.json" which would be updated with the counts as they change. That way there is no comment spam and the data is sourced in GH. You could even store both up- and down votes separately to allow people to see both, along with the net total.

@benaubin

This comment has been minimized.

Copy link

benaubin commented Jan 9, 2016

@therealbill I don't like the idea of adding an extra branch. Complicates things a lot compared to comments.

@therealbill

This comment has been minimized.

Copy link

therealbill commented Jan 11, 2016

@penne12 True but the tradeoffs are:

  • You don't have comment spam
  • The data is stored in the repo itself

There are ways of avoiding the first one if you don't store the data in GH; such as a "local" DB. But then you don't satisfy the second one. Now, of GH would allow us to exclude the comments which are just a +1 that would change things.

Comments have their own complications. For example, if parsing for '+1' how do you ensure, for example, this post isn't counted as a vote? If you mandate that only comments that consist of solely '+1' or '-1' you certainly make the votes comment spam - and the associated notification spam that go with it. It also means anyone who has a comment on why the vote has to make a second comment - thus doubling the comment/notification spam. Counting but deleting the comments also gets tricky and doesn't avoid the notification spam. Plus you'd have to have a way to ensure a user can't submit multiple "votes" with multiple "+1/-1" comments.

It is far from ideal but with GH not on board with providing the features needed to enable it an API for repo metadata would also do it - and more), our options are limited to:

  • Extra-repo data storage
  • Comment spam
  • Storing data in the repo such as by using a branch

Personally I lean toward item 3 with a way to pull the data.

@benaubin

This comment has been minimized.

Copy link

benaubin commented Jan 12, 2016

edited, as I feel bad about my earlier post.

Even if we don't put +1s on issues, there is a good chance that many users who haven't familiarized themselves with a project will still post a +1 on GitHub. I think that although it would only reduce the Comment Spam. Also, if you ask people to say why they are +1ing if they +1, you get valuable info on what parts of the idea are most important. If you are using Waffle you'd see no +1s, put if you are on Github, you'll see them, so non-waffle users can still user stand a project.

@therealbill

This comment has been minimized.

Copy link

therealbill commented Jan 12, 2016

editing to reflect @penne12's edits. (conversation saved by having integrity, +1 to @penne12 ;) )

I agree on the +1 with comments aspect. Indeed there are many times where only part of a given proposal gets the +1 and having a mechanism w/o that loses that aspect. However that is what, IMO, comments should be used for: discussion about the issue or PR.

The additional data is, to me, a critical point we seem to agree on. Doing it outside of GH is trivial. It is in placing it somewhere in GH where the rub doth lie. As I seen them listed our overall options would be:

  1. Labels
  2. Comments
  3. Voting-branch
  4. External datasource
  5. Store in the issue/PR
  6. Some other thing?

From what I can gather the label idea is really not a great option due to "label spam". Who really wants a label for each vote count? Doing it in tens decreases it but doesn't avoid it. Further it loses the ability to prevent "vote early, vote often" as well as loses the context about what specifically is being voted on. To me it also loses the valuable down vote information. I may be in the minority but knowing how many are pro/con is more useful than the net result.

Comment spam we've addressed at length already. ;) I don't see a broadly applicable general solution to capturing "which part are you up-/downvoting?" aspect - something which again can be incredibly useful. It also begs the question of whether "+1 some part of it" counts as "+1 for the whole thing". I am in the camp that those types of questions should be kept as plain comments regardless of where the data is stored.

The branch option is the most intrusive - though labels gives it a run and may be wins out depending on how intensive they are used. However, it does avoid comment or label spam while keeping the data - all of it - in the repository. Elegant? No way. Or at least, I doubt it would be. But it would allow you to track who voted, thus preventing repeat votes (one should always be allowed to "undo" their vote by voting the opposite, however). It preserves the parts as well as the end result. I am sure an enterprising front-end guy (hint: that ain't me!) or team could whip up some JS/CSS magic to find a way to display it in a read or in the issue.

And just for sake of being inclusive of options, there has been mentioned the idea of editing the issue/PR description to keep the vote total in there. IMO this loses too much valuable data that I as a project maintained would need from a voting mechanism of it to be useful.[1] Nonetheless you could store "Net: 15; Up: 30; Down:15" for example. But this risks manipulation by issue/PR submitters. Generally we shouldn't expect people to do this but think of it as "defensive programming". ;)

Personally I am OK with an external service. Indeed I've decided to write one so project maintainers have an option. I am mulling over ways to provide some level of integration. Who knows, maybe something different than the above would work. I have some ideas, which I find interesting, but I need to work through them to find where the pitfalls are. Sometimes you can't really reason the entire system out until you get down and dirty with experience.

I find GH is in a sticky situation because there is no good general solution. That said providing repo owners with the ability to have loosely defined key/value metadata would give us a possible means to solving it. Then again I'd also like finer grained access controls on a repo. And a unicorn. ;)

  1. Consider a net of 10 votes to the positive. A gulf exists between there being 190 votes to the positive vs 180 negative and there being 12 votes for and 2 votes against. It is a bit like seeing an Amazon star rating without knowing how many ratings produced it. A single 5 star review carries less weight than a 5 star rating across 1500 ratings for example.
@benaubin

This comment has been minimized.

Copy link

benaubin commented Jan 12, 2016

@therealbill I'm sorry. I understand where you are coming from. I should have thought about it and tried to be nicer when posting. I'll definitely try to be more understanding in the future. I'll edit my original post.

@therealbill

This comment has been minimized.

Copy link

therealbill commented Jan 12, 2016

@penne12 No worries, it happens. I've adjusted my reply to match.

@benaubin

This comment has been minimized.

Copy link

benaubin commented Jan 13, 2016

@therealbill I definitely agree with storing it on GitHub somehow. We could do something akin to BountySource, and edit the bottom of the issue with a

Votes Up Down
badge +34 -9
<!--BEGIN WAFFLE VOTES-->
Votes|Up|Down
-----|--|----
![badge](https://img.shields.io/badge/votes-25-green.svg) | +34 | -9
<!--END WAFFLE VOTES-->

or something.

If the image is a waffle link that redirects to shields.io or creates an image, then collaborators couldn't change the votes. A branch may be good for storing everything, since it's still visible.

@therealbill

This comment has been minimized.

Copy link

therealbill commented Jan 13, 2016

@penne12 That is along the lines of what I was thinking about with an external service, with one difference. I was thinking about an integration which immediately posted a (single!) comment with that in it which the service could then update as votes come in. That way it would be at the top but not editing the issue/PR itself. Then it shouldn't need any special permissions, I think. I like the formatting you used there, I may have to snag that. ;)

@benaubin

This comment has been minimized.

Copy link

benaubin commented Jan 14, 2016

@therealbill Thanks! I think that would be awesome. Although it could be confusing if the bot is late to an issue, as it wouldn't be on top.

Another Idea for implementation:

  • use a comment controlled by a waffle bot
  • put human readable vote count (updated automatically)
  • store votes in a markdown table, along with github user name (only one vote)
  • use make thumps up and down buttons and their respective vote counts clickable, and put a click to vote message

Here's the url to my previous comment in the api:

https://api.github.com/repos/waffleio/waffle.io/issues/comments/171722110

@benaubin

This comment has been minimized.

Copy link

benaubin commented Jan 14, 2016

Votes:

Votes 👍 👎
badge +2 -1

Click to vote, provided by waffle.io

Voters Vote
penne12 👍
therealbill 👍
jordanskole 👎
@therealbill

This comment has been minimized.

Copy link

therealbill commented Jan 14, 2016

@penne12 I like it. :)

@benaubin

This comment has been minimized.

Copy link

benaubin commented Jan 14, 2016

@therealbill Thanks. I think it would also be cool to use the shield, as you could embed it into a blog post about your issue, etc.

@benaubin

This comment has been minimized.

Copy link

benaubin commented Jan 14, 2016

Oh! And with permissions, it could take comments that are just +1/-1, and put them into the chart. Users could make the waffle bot add the votes, even without permissions.

I think the owner should be considered +1ing their own issue unless they -1 it later.

@nbartels

This comment has been minimized.

Copy link

nbartels commented Jan 15, 2016

+1

And I really like to have to vote count in a card. Optional these are ordered by vote count.
The badge @penne12 mentioned would be really awesome.

I'd like the comments only containing +1 be filtered in the waffle.io view, so the issues have a "clean" thread.

@jordanskole

This comment has been minimized.

Copy link

jordanskole commented Jan 15, 2016

I'd like the comments only containing +1 be filtered in the waffle.io view, so the issues have a "clean" thread.

Agreed

@sandcastle

This comment has been minimized.

Copy link

sandcastle commented Jan 15, 2016

If you haven't already - I would suggest signing the below petition to have voting added to GitHub natively:

https://github.com/dear-github/dear-github

As seen on Hacker News

@igorsantos07

This comment has been minimized.

Copy link

igorsantos07 commented Feb 29, 2016

+1
much better than flooding the comments with almost useless +1/emojis :)

@ta

This comment has been minimized.

Copy link

ta commented Mar 14, 2016

GitHub has added a some voting-ish feature on issues. Could be a simple matter of reading +1's from first comment on an issue?

@ta

This comment has been minimized.

Copy link

ta commented Mar 15, 2016

@NathanSweet

This comment has been minimized.

Copy link

NathanSweet commented May 10, 2016

+1

@lejenome

This comment has been minimized.

Copy link

lejenome commented Jul 20, 2016

implementing votes with github reactions is the best idea because Github for sure wil use this feature if they plan to support voting. voting types to support are +1, -1

@danfinlay

This comment has been minimized.

Copy link

danfinlay commented Dec 15, 2016

I wouldn't care if votes were visible on Github or not, but I'd love this feature, and using the reactions does seem like a pretty natural way to do it.

I just saw this feature on Trello and got a little jealous...

@homeyer homeyer added planned and removed idea labels Jun 9, 2017

@pablofullana

This comment has been minimized.

Copy link

pablofullana commented Jul 23, 2018

Any updates on this one?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.