vote issues/merge requests without comment
Create an upvote and downvote buttons for each issue / merge request.
Having to write a new comment when you only want to upvote / downvote without saying anything only clutters the comments.
Voting buttons (anonymous or not) would also make the issue tracker concept more accessible to non-technical users. They are IMHO more likely to know and understand the buttons at the vote counter, than the fact that they would have to comment "+1" or something to cast their vote.
Maybe show the votes in the comment area but make them less obtrusive. Similar to when issues are reassigned. That is shown in the comment area but doesn't take up as much room as regular comments but still show up in the comment timeline
Paulo Roberto de Oliveira Castro commented
Just create a +/- button already. Clicking on votebar takes you to the details (who, when, (dis)like).
@ApoY2k: because it adds less useful comments to the list of comments, making it difficult to find the more useful ones.
I also wish automatic link comments would be concentrated as in: http://feedback.gitlab.com/forums/176466-general/suggestions/5912409-list-all-linked-issues-merge-requests-on-sidebar
Why not just have the "thumb up/down" button create a comment in the name of the user clicking it? GitLab already does this with mentions from other issues, etc.
Just have the button create such a "[username] (dis)likes this" automatic comment - no issues with anonymity
Analogous on Isaacs GitHub: https://github.com/isaacs/github/issues/9
Ah, GitHub also does it like that for watchers under the "participants" area on the sidebar. Face icons are just appended an flow into multiple lines if needed.
That is an interesting UI approach. What happens when there are too many icons to fit on the space?
Why not treat the admin review status / approvals via tags?
Christopher Case commented
Also, I feel that if you're going to have a feature like this, it might make sense to also make a break between "I, as a user, want this feature fixed/written/merged" and "I, as a project member, have reviewed this."
Really, it would only need to be, say, a difference in how their icon is shown (if you follow my previous mock-up). Maybe add a background color to indicate this is a developer who's voted. On the database side, though, it should be tracked separately, so that in the future, we can build off this feature(ex: have the option to have a separate 'approved' list for merge requests.)
Christopher Case commented
BitBucket handles this by putting user icons in a 'Approved' list. You could do the same thing, like this:
I have added a suggestion for sorting issues by (upvotes - downvotes) which would become possible is this is done via the DB: http://feedback.gitlab.com/forums/176466-general/suggestions/5379910-sort-issues-merge-requests-by-vote-score-upvote
Daniel Cestari commented
Hi, just to clarify a bit, StackOverflow's votes are not anonymous, you have to log in to vote
This is part of the "Replace Uservoice" series: http://feedback.gitlab.com/forums/176466-general/suggestions/4307228-using-gitlab-issue-tracker-like-uservoice-s-featur
A new data model would also help with time tracking http://feedback.gitlab.com/forums/176466-general/suggestions/4161532-add-time-tracking-for-issues-similar-to-feng-offic
I feel that the cleaner solution is to separate votes from comments and add a new model.
For example, this would make it easier to do future calculations on the votes, such as (upvotes - downvotes) counts directly inside the database (there would be an integer column with +1 for upvotes and -1 for downvotes in the vote model).
It would also return less unnecessary hidden HTML comment data to users.
Ali Tavakoli commented
An alternative solution might be to keep all the back-end models as is, and manage this entirely in the UI.
To be specific:
1. Include buttons to upvote/downvote, which, when clicked, would add a comment by the logged in user containing only :+1: or :-1:, exactly as if the user had made that comment themselves, with the same permissions/etc.
2. Hide any comment that only has a +1/-1/vote-emoji as its content (don't hide comments that contain a vote among the rest of their content, though)
3. Include a button/checkbox to show those hidden voting comments, so you could see who voted if you're interested
4. (for bonus points) Allow people to take back their vote or change it, which amounts to deleting your previous +1/-1 comment or replacing it with the opposite vote.
I agree entirely that this option is most useful to open source SaaS / large groups, which is the case that matters to me. In a SaaS service however, I think this feature would be really worth the extra code + review time (I'd implement), beating even Github which does not have it.
If this were to be implemented, I would not disable notifications for :+1: comments, even because I think no one would write :+1: comments if they had a button.
Comments what started with `:+1:` would simply trigger the exact same action as clicking on a +1 button.
We would just have to decide if someone had to be notified when their comment gets a +-1, which I think they should. It should not be by email by default because it is not important enough, but rather on the UI, for instance on the dashboard.
I am still new here and still trying to measure what the community wants.
If merge requests for features that are very useful to open source SaaS / large projects are not what Gitlab is looking for, I must either fork or find another project to contribute to.
I believe there is only place for either Github or Gitlab. How long until Github offers free small storage for small private groups?
Ciro, thanks for explaining. So far I don't like either option. Making votes anonymous has the potential for abuse. Introducing other tables and views seems to add too much complexity. For small teams a comment per vote seems acceptable. It is only for larger projects (like the feedback site we're talking on now) that the notifications get annoying. Disabling notifications when there is only a :+1: in there seems inconsistent. I have a hard time seeing a workable solution here.
@GitLab team: (sorry for the delay of the reponse, just found out how to turn email notifications for comments...)
We have two choices as I see it:
1) make votes anonymous like Stackoverflow and Presidential elections do. I don't like it though.
2) if we are to show who voted when, the only solution I can see is somehow make a table accessible containing Name, Date, Upvote/Downvote.
For the UI, the link to this table should be very close to the upvote / downvote indicator bar, possibly the bar could be a link.
We could add a navigation bar within each issue with one tab showing only the votes table, and the other the current issue + comments page.
If you have a button instead of a comment, how can you see who voted for what when?