Voting button appears on opening post

Continuing the discussion from Discourse Post Voting:

Since the opening post in Q&A topic is the question itself, it should not have upvoting option.

2 Likes

Isn’t this a feature to prioritize among topics?

I agree that, right now, it’s confusing and unclear why someone should vote a topic.

2 Likes

On the first post, this is superfluous and needs to be removed

2 Likes

I’ve slipped your post over to here @volanar as it’s been mentioned before. :slight_smile:

I thought there was a reply to say that it was on purpose, but I can’t seem to find it. I’ll have a dig around and see what I can find out. :+1:

5 Likes

As a workaround, you can use this CSS:

.post-stream .topic-post:first-child .post-voting-post {
    display: none;
}

6 Likes

This is very much a site pref. Voting on quality of questions is something pretty established on Stack Overflow like sites.

We kept the voting control deliberately, removing it via CSS is fine though, open to maybe adding a site setting for it as well.

5 Likes

But the question itself cannot participate in the voting among the answers. Moreover, it cannot be filtered together with the answers. It should always be at the top

1 Like

I wonder if styling the one in the OP differently would help show it has a different meaning to the ones in the replies?

1 Like

Voting on questions is something that I think is really worth discussion in the context of Discourse. I have a bit of experience with SO-like sites :wink: and I’d like to do a bit of thinking about whether votes are useful for questions on post-voting type topics here at all (for brevity, I’m just calling these “questions” from here on out).

You are correct that on platforms that are solely Q&A (e.g. Stack Overflow), there are specific things that question votes (up and down) are used for. In particular:

  • indicating question quality or that you have the same question/can understand the need for such a question
  • searching/sorting/filtering questions by score
  • indicating the question is in/out of scope for the site
  • hiding particularly low-quality content
  • enabling deletion by non-moderator users
  • rewarding/penalizing users for posting good/bad questions with reputation/karma.

As far as I’m aware, these don’t really apply to Discourse currently, whether using this plugin or not. I know the feature is relatively new but I’m curious how many of these Q&A features are things you’d want to make use of in Discourse. On the surface, it seems like a huge paradigm shift from the current trust level system and other moderation practices.

If your main goal in adding these question types is to allow communities to easily create/host their own SE-style sites where the primary purpose is more structured Q&A rather than discussions, that’s really interesting and I’d love to hear more about it… but I’ve learned a lot in my time at SO that has led me to question some of its core functionality to the point I’d outright discourage replicating many aspects of SO if I were building it from scratch.

When thinking about a hybrid system like a Discourse community running the post voting plugin would be, I don’t honestly know whether voting on questions makes sense at all. I admit that I don’t know a ton about the feature and how it’s implemented but I have poked around with it somewhat and read what posts I could here to learn about it, which has led me to this conclusion.

What value does question votes add in Discourse?

I understand the plugin has been official for less than a year and is likely still in flux. I won’t profess to be an expert in Discourse moderation, features, or scope by any stretch (feel free to correct any errors I make) but it seems that the status-quo uses different (and possibly better) solutions, which render many reasons for question scores unnecessary.

TL;DR - Read the stuff in bold.

# Feature Use on SO Use on Discourse Useful?
1 Notifications for votes Upvotes notify poster of reputation change. There isn’t a Like feature on SO. Votes do not create a notification for the asker but Likes do. While it’s likely easy to add upvote notifications to Discourse, why have both? Likes are one of the primary reasons question votes seem unnecessary here. [1]
2 Vote impact on askers (reputation) Reputation is how privileges are awarded on SO and users’ reputation is a major aspect of their status. Earning rep from well-received questions is one of the only ways users who only ask questions can gain privileges. There is nothing like reputation. Privileges are awarded through the trust level system, which emphasizes and rewards simply reading content for TL 1. Votes on Q&A style posts seem to count as Likes, which are absent from both question and answers. The direct tie between post creation, reputation, and privileges is the aspect of SO I most wish to change. Users should have multiple avenues to earn privileges that don’t require content creation. If users don’t need question votes to earn TLs, they seem unnecessary.
3 Vote impact on askers (non-rep) One aspect of the non-public, automatic SO recidivism system (that cannot be overridden by mods) relies in part on question score to block future questions from users who consistently post poorly-received questions. SO doesn’t have a way to require preview of content before it’s live on site. Moderators use tooling to manually silence, suspend or override the user’s TL rather than there being any automations. There are settings that can be used to require moderator review of new posts in some cases but aren’t based on post reception. Considering SO’s scale and prioritization of allowing anyone to ask questions, the use of automated question bans for users is understandable (though the system needs an overhaul [2]). Relying on existing TL-based post restrictions and use of flags makes question score unnecessary for user moderation.
4 Score impact on posts Low-scoring questions are hidden from the front page and more easily deleted by trusted users or automations. Some flag types can delete the question if enough of them are received. All flags of the same type are weighted equally, regardless of who cast the flag. There’s a robust extant system to automatically close, hide, and delete posts based on flags, which also draws moderator attention to flagged posts. Flags from users with good flagging history are weighted more than flags from users who do not. The existing system seems incredibly well balanced. By using past flags to weight new ones, users are incentivised to be accurate in their flagging. In contrast, using un-weighted votes to hide/delete content can be misused and doesn’t take past voting into account. Relying on votes to moderate posts is unnecessary in conjunction with the existing flagging system.
5 Question sorting/ filtering Question score, answer count, accept status are clearly indicated in all question list views. Search can use question score to filter and sort results on user request. All topics are Q&A, so no syntax is needed to find Q&A only. Search includes syntax to return questions only. Question score isn’t shown in topic lists but solved status and response count is shown. Results can be sorted by Likes (which includes votes). There’s no way to return Q&A topics only. The in:first syntax seems like it would return questions only. Adding search syntax for post type (Q&A vs discussion and question vs answer/response) seems valuable, though tangential. (This feature request post to show question score on the topic list) could be useful but Likes could stand in for question score in topic lists or you could decline the FR and keep the UI as-is.
6 Upvote meaning The question upvote hover text states “This question shows research effort; it is useful and clear”. The first half is up for debate and the second half is subjective and ambiguous. Users likely vote on questions for many reasons including, “I had the same question!”, which arguably falls under “useful” but subject experts may decide simple but common questions aren’t useful (to them) and downvote. [3] [4] Undefined. There’s no UI directions about when to vote and that’s understandable since it’s a new feature and each community may want to encourage voting for different reasons than others. The familiar Like feature is absent in this topic format. While Likes may default to hearts only, communities can configure additional reactions. Even in communities that manage to find consensus about when to vote, question vote reasons are frequently more subjective and broad than answer votes reasons, which almost always mean “this is correct” or “I agree with this”. Likes, particularly when communities add a variety of reaction options, can better explain why someone votes on a question than pure up/down votes.
7 Downvote meaning Ask 10 people when to downvote a question on SO and you’ll likely get 10 different answers, half of which will be “wrong” and many would be better addressed by editing, flagging, closing, or commenting. Underuse of these features leads to askers posting on Meta to express confusion and frustration at their question being downvoted without explanation and asking that such votes be prohibited. [5] Similarly understandably undefined. Most question issues can likely be addressed more effectively by using comments to point out actionable changes or recommendations, using the flag option on questions to DM the asker, or flagging for moderators. The default heart wouldn’t make sense with the negative connotation of downvoting. People hate getting downvotes, even when platforms go to great lengths to avoid letting users know they were downvoted. This is often more painful for question askers, who are looking for help and being vulnerable by sharing that they’re stuck and frustrated at people they interpret as unhelpful or obstructing. Question downvotes can be the easy response but don’t help askers improve. By leaning on other tools, you encourage communication rather than alienation.

Adapting library features to your community’s home

I recognize the urge to follow patterns established by existing platforms - particularly ones you helped build - but my big takeaway about communities on SE/SO is that most (new) users assume SE is more like a forum and frequently struggle with their first question’s reception, particularly when it comes to closure and voting. Asking questions on SO is stress-inducing for many people… the internet is full of references to SO that tell them their question will either be completely ignored or harshly judged by self-appointed platform and subject matter experts who have arcane and capricious expectations for what qualifies as a programming question… and a lot of people don’t want that.

What they have frequently stated they want was smaller, closer communities where they know people, can make connections and ask for help without being made to feel like an idiot. In a lot of ways, I think Discourse is that. By having a broader format that encourages open-ended and subjective topics while also supporting a more classical Q&A format, you allow communities to support each other the way they wish.

Even if SO were the best possible way to create and curate a knowledge library (it’s not), Discourse isn’t (and shouldn’t be) trying to be that kind of resource. Your homepage sells Discourse as “The online home for your community”. When I want my kids to feel at home, I encourage and nurture their questions and make room for them to join in the conversation. When I take them to a library, I frequently have to remind them to be quiet and prevent them from treating the shelves like a jungle gym.

In my mind, question voting is something that may be necessary for a library but probably isn’t for a home - and it may negatively impact how much people enjoy their home.

Armchair PMing time

This section is significantly less important than the giant table above, so if you haven’t read that, go read it instead. The table explains how I’m getting to this summary but will also reveal any issues due to bad info on my part - as a reminder, I’m not a Discourse expert - I keep checking to make sure I don’t write “Discord” instead. :wink:

  • Remove question voting - If people really want something more like SO’s pure Q&A, it could be an setting but I’d default it to off.
  • Reinstate Likes on questions - give people a friendly way to react/support questions. Consider offering some default reactions that suit questions, both positive and negative.
    • I understand wanting the consistency of either Likes or votes on the same topic but I think it’s worth mixing them and Discourse users are used to likes already… in fact…
  • Investigate the value of Likes on answers in addition to votes and comments. Reactions can feel more friendly than votes and some people may want to indicate more than the binary up/down without writing a comment. If votes and likes are already being used to sort search results, maybe there’s a way to use both when determining answer order - similar to flag scores in the review queue.
  • Keep voting on answers - answer votes serve the primary purpose of ranking solutions to a single question and both up- and downvotes are vital, even if they may cause some stress.

  1. I understand wanting to avoid mixing Likes and votes on the same topic. ↩︎

  2. Anecdotally, some users may overuse downvotes on questions with the goal of getting askers q-banned sooner, which can also make it harder to get unbanned. In such systems, it’s imperative to consider unintended consequences and find ways to minimize them. ↩︎

  3. I could give a Ted talk on question voting on SO, but I’ll say that many SO users seem to have forgotten the “library of information” concept and the “shows research effort” hover text has exacerbated that. A great library has all of the information. It’s silly to refuse adding something to your library simply because it’s in the library two towns over. ↩︎

  4. Also, don’t even get me started on “Voting is different on meta” - though, since my solution is merging Discourse and Q&A, maybe it’d at least be on topic. ↩︎

  5. Regardless of what people say on SO, downvotes feel personal, even if they’re not intended to be taken that way. ↩︎

2 Likes

I love this analogy. I should note that my home is sometimes treated as a library (when the kids are doing their homework) and the library can sometimes be more of a play area (when they host community events). But the default matters. Discourse, for better or worse, has the default of being a more relaxed discussion forum. It’s collaborative rather than adversarial. Q&A will be the exception for most Discourse communities.

I have mixed feelings. I do think downvotes can be a kinder way to express disagreement than the alternatives. Having fielded many complaints about downvotes, the biggest concern people have is that anonymous downvotes feel unfair in the context of a connected reputation system. People want to know why they were downvoted. On the surface they want to know in order to fix the problem. In reality, I suspect most want to argue with the downvoter and there’s nothing for them to hang the argument on. That’s usually a good thing since those arguments are rarely productive.

Downvotes, especially on questions, is a tougher fit on Discourse given the collaborative nature of most forums. I’m not sure question voting would be something people would want if it were developed without the Stack Overflow example. In an idealized world, votes would reflect the quality of the question:

  • Does it clearly explain the problem?
  • Does it provide enough context for others to explore the issue?
  • Does it cut to the chase and avoid unnecessary backstory?
  • Does it fall into the community’s area of expertise?

The harsh reality is that question votes tend to reflect the feelings of the community toward the question. If you are asking about the NullPointerException error on Stack Overflow, you are going to have a bad time no matter how well you ask. It’s been asked about a million times before and people aren’t interested in answering another version of the question.

Maybe that’s a feature of question voting and not a bug. If so, it’s a feature that makes sense when there are so many questions the community can’t keep up. It’s not a feature that helps newly formed communities or communities that are usually collaborative forums that occasionally dip into Q&A. In other words, I’m not sure question voting helps a very large number of Discourse communities. So I think it should be a setting that defaults to “disabled”.

I recently suggested Post Voting to a client who was collecting questions for video AMA. The old system was to take the top X questions submitted according to likes. The person asking questions didn’t have an easy way to sort replies to the request for questions. Post Voting works great for this because the replies are sorted automatically. The included question vote, however, is pointless and confusing. Many people are visiting the community in order to submit their questions for the AMA. Likes would be a useful signal. Downvotes? Probably a misclick or experimentation with the new feature. I’m going to remove it via CSS this afternoon.[1]


  1. There are a few other adjustments I need to make so that it works with their theme so it’s as good a time as any to fix this annoyance too. ↩︎

1 Like

If I wanted to provide voting on the question itself would it make sense to use the Topic Voting Plugin? Or am I misunderstanding?