Welcome to Codidact Meta!
Codidact Meta is the meta-discussion site for the Codidact community network and the Codidact software. Whether you have bug reports or feature requests, support questions or rule discussions that touch the whole network – this is the site for you.
Suggestion for allowing to mark answers as "accepted", "outdated" or "dangerous"
Currently, it is possible to upvote and downvote answers. That's likely enough in most situations, but there are some cases where you might want to have more than one way to react to a post.
For example, imagine you are on Software Development and an answer suggests a solution that drastically impedes your system's security. Or you are on Electrical Engineering and the answer suggests something that might electrocute you. In these cases, a downvote might not be enough of a signal to warn users of such possible dangers.
Another possible situation is "accepting answers", a concept that exists on most common Q&A sites. Unlike other sites, we decided quite early that a single vote from the asker shouldn't impact answer sort order.
And yet another feature suggested and strongly advocated for by some users is the option of "signed votes", mostly seen as a way for experts or highly reputable community members to give more weight to their votes by publicly endorsing (or refuting) a specific answer.
I think I've got a solution, one that might provide a framework for commmunities to solve all these use cases. We discussed this in chat and tossed some ideas around, and I must say that I absolutely love the current proposal:
Communities will be able to define a small set of "reactions", which can be applied to posts. Default (or recommended) reactions would likely be:
- ☑ This post works for me (= accepting an answer, but not only by OP)
- ⏳ This post is outdated
- ⚠ This post is dangerous
However, communities might want to have different reactions. For example, Cooking might want to have
- 😋 This is tasty
- 🤮 This doesn't taste good
Once applied to answers, there would be a little box/badge above the answer, which contains the selected reaction and a list of users who have chosen that reaction. I used the developer tools in my browser to simulate what this might look like. Imagin, that the tooltip on the first badge says the names of the users choosing that reaction.
Users will be able to choose reactions from a modal that can be opened from a button below the voting buttons. When choosing a reaction, users will be encouraged to add comments, giving details to their vote. This is especially neccessary for marking a post as "dangerous", because other users need to know what exactly is dangerous.
Here are two mockups for how the reactions modal might be presented:
Additionally, when entering a comment into the comment box in the modal, a comment will be posted on the user's behalf, which contains the chosen reaction and comment. (Also seen in the screenshots.)
What do you think of this suggested feature? Do you have any other use cases we should consider if we chose to implement this suggestion?
How should we handle possibly-outdated reactions? No, not by reactions to reactions. An edit to a post made after re …
4y ago
I would like this functionality to extend to 'questions' as well as answers. This was influenced by the post I canno …
4y ago
I was part of that conversation, so my input is mostly reflected in this proposal already. I want to add one thing, abo …
4y ago
I kind of like the idea, especially for outdated/obsolete technology. But I'm concerned over how subjective a "dangerous …
4y ago
Proposal: Integrate the voting system into the reactions feature. Let users react with "this is a good post" or "this is …
4y ago
I like the idea because these have been known issues in other places for some time. However, is it really needed? …
1y ago
I think reaction might useful in some categories for "question". Here's a category (recipes), since no can answer on tha …
3y ago
There is another aspect that I don't see discussed; accepting answers has the side-effect of helping to optimize/minimiz …
3y ago
I will never use any negative reactions that require my name next to them for the same reason I never explain downvotes, …
4y ago
9 answers
How should we handle possibly-outdated reactions? No, not by reactions to reactions.
An edit to a post made after reactions were added could change the applicability of those reactions. Somebody might have edited to address a danger or update an out-of-date recommendation. Conversely, somebody might change an answer that worked for someone in a way that makes it not work any more. Or, sometimes what worked for somebody leaving a reaction in 2020 might be outdated and not what the person would do, let alone endorse, in 2022.
All of this is true of votes too; a post can have residual votes that those people wouldn't cast today. But votes aren't public. Reactions are, so I think we owe it to people leaving them to handle obsolescence somehow.
Here are some ideas that occurred to me. We shouldn't do all of them; these are options. None is a complete solution to the issues I've raised:
-
Where we show the names of people who left reactions, also show timestamps, or maybe just the latest timestamp if that's noisy.
-
When we show reactions, indicate that the post was edited after they were left.
-
In the post history, show the reactions that were present pre-edit.
-
Don't show pre-edit reactions immediately, but make them available behind an "older reactions" link. (Can be defeated by a trivial edit. Do we need the idea of a substantial edit? How would we tell?)
-
Make it possible to retract reactions. (We should do that anyway. We let people delete comments and retract votes, after all.) This is like the case where you come across a post you had downvoted and then it was edited but you didn't notice, so now that you've seen it again you retract your vote.
-
Notify people that posts they reacted to have been edited. (Could get noisy; might need a user setting to opt out.)
I was part of that conversation, so my input is mostly reflected in this proposal already. I want to add one thing, about community customization, which gets into philosophy.
I don't want us to end up with gazillions of emoji decorating posts. That way lies madness and Discord. A reaction should have to earn its place by answering the question "what useful information does the presence of this symbol convey to readers1 that voting alone doesn't convey?". By that measure, "works for me", "dangerous", and "outdated" are useful (especially if tied to comments, which we should probably require at least some of the time). If a post is dangerous it can be edited. If a post is outdated it can be either updated or annotated ("In Java 6, the way to solve this is..."). And knowing that people (including the OP) tried the solution and it worked is helpful.2
But -- and I realize it's just an example -- reactions like "I like this" and "I don't like this" don't convey useful information. Who cares if some users on Cooking like that stew recipe and others don't? On the other hand, a science site might have a "dubious sources" reaction for answers based on non-peer-reviewed work or junk science, which seems like useful signal that people can act on.
I want to discourage3 communities from adding reactions that are (a) subjective and/or (b) not actionable. I suggest that, when considering specific reactions, people ask: "what can readers do with this information?".
-
To readers, not just to the author. For the latter you can just leave a comment. ↩
-
On some communities more than others, I grant. ↩
-
Discourage, not prevent. Assuming we have customization, which I think we should, then communities can do whatever they like. But I think reactions will be more effective if communities follow these guidelines. ↩
I would like this functionality to extend to 'questions' as well as answers.
This was influenced by the post I cannot understand the meaning of some downvotes
In my opinion, downvoting some kinds of posts is meaningless.
For example, why should anyone downvote a bug report, like this post? If someone has the same problem, they can upvote the bug report; otherwise, they can skip it. Quite the contrary, I think bug report posts should be heavily upvoted to encourage other users to report bugs of the system.
Another example, why should anyone downvote a community proposal, like this post? If someone is interested in contributing to such a community, they can upvote the proposal; otherwise, they can skip it.
If reactions are able to be added to these sort of 'questions', we can have "Reproduced"/"Not Reproduced" for bug reports instead of the odd and frankly non-constructive upvotes/downvotes we have for them right now, and people can add their OS and browser information in the additional comments.
For community proposals, this can also replace the current awkward system of Monica creating an 'answer' for people to comment their interest/possible activity on; instead, people would react with "Interested", "Would be active on", or "Not-interested", for example.
This wasn't discussed in the linked post, but [feature-request]s also get downvoted for reasons that I can't understand.
I have had my feature requests downvoted for reasons such as: 'It is probably difficult to implement', 'There exist workarounds', or 'there are more important things to do, so I'll downvote to decrease this suggestion's priority' (???). However, I, personally do not think those are valid reasons to downvote a suggestion - I would only downvote if I think that a suggestion is harmful in some way.
Reactions would help by letting people react "Non-essential", for example, instead of flat out downvoting, the latter of which signals (to me, and I assume others) a bad suggestion, not a low-priority one.
I kind of like the idea, especially for outdated/obsolete technology. But I'm concerned over how subjective a "dangerous" mark might end up.
For example when it comes to programming, I work with safety-critical embedded systems. The concerns I might have for what makes a program dangerous are not at all the same as someone working with network security programming. Not to mention the broad masses that program non-critical software.
So if I were to apply my quality standards on the average desktop program, I will come across as very pedantic. If a truck control system firmware divides by zero, it might cause physical harm to people, damage buildings or machinery etc. If a desktop program does the same, you get a little evil message box saying "bug", annoying but not dangerous.
Meaning that in order to label something dangerous, I would need to understand the end product, something that is very often not clear by the question.
As for electronics, there's a strong trend that quacks or fresh graduates use hobbyist board computers like Arduino for commercial products. This is dangerous because that was never the intention of those boards - there are serious safety concerns both in terms of software and EMC. Are we to label everything tagged Arduino as dangerous then? Professional engineers will agree - hobbyists and students will get furious if we do.
One would need to give this some serious thought before implementing it.
Proposal: Integrate the voting system into the reactions feature. Let users react with "this is a good post" or "this is a bad post," with the prompt for an optional comment, and continue weighing post score as you have, based solely on these two reactions.
This has the benefits of:
- Potentially less confusing (for a sufficient formulation instead of "this is a good/bad post") to new users to distinguish between votes and reactions ("what's the point of downvoting when I can instead label this 'dangerous' or 'outdated'?")
- A problem Somewhere Else was that users would often downvote without giving their constructive criticism. Now, sometimes there isn't anything to add other than "this is a bad post," but sometimes it's a bit head-scratching why someone felt it was a bad post. By prompting them to comment, rather than simply leaving it as an option, users may be more inclined to share their thoughts.
- Why should point #2 be limited to downvotes? For exactly the opposite of the same reasons, it may be beneficial to prompt users to share what they found great about the post.
1 comment thread
I think reaction might useful in some categories for "question". Here's a category (recipes), since no can answer on that category, so user should have ability to react on those post. So, that future reviewer (or who might make that) should know that is tasty or not.
(Maybe, reaction system should be added the way we currently set a category. That way admin can easily select question should contain reactions or not)
(It might helpful for Judaism community's Divrei Torah category
0 comment threads
I like the idea because these have been known issues in other places for some time.
However, is it really needed?
The classic justification for this is an old, obsolete answer that has hundreds of upvotes because it was correct at the time. Now better answers have been given, but first they have to catch up to the hundreds-strong old one. Many of the people who originally upvoted the old answer will not bother to go back and review their votes. Some may have abandoned their account. You need a way to bypass this.
But if you thinking about it then, this logic is just arriving at some way of negating bona fide votes. Then you should really discuss it generally, and ask how and when should vote negation be allowed. I think it becomes evident that this approach has fundamental problems that will taint every special cases (like the outdated status).
Comments are supposed to be the elegant solution to this inertia problem.
Another one is to support biasing votes by recency. But of course it's hard to calibrate recency vs. majority.
The real problem here is the tyranny of the ancestry. Whoever voted early, gets to impose their will on the future community, indefinitely, and there is no recourse.
Here's my idea:
- Do not add any new statuses or categories of votes (like accepted, outdated).
- Retain comments - comments are not votes.
- Institute an "expiration date" on all votes. This can be arbitrary, for example, 1 year. However, it might be better to have an equation for correlating it to the activity, size and nature of the section (maybe webdev votes should go stale faster than history votes).
- Expired votes are considered "stale". They are not removed and still act exactly as normal votes, however the score display does indicate what % is fresh.
- Add filters that discount stale votes. Using these is optional.
- Show notifications to users when their vote goes stale, so they can review and refresh the vote if they want.
0 comment threads
There is another aspect that I don't see discussed; accepting answers has the side-effect of helping to optimize/minimize database access. For example―pretending SE is the industry definer―a potential answerer would typically be subjected to questions that have no accepted answers yet.
Besides, the hard sciences typically have but one objective answer that is true and absolute. And in the case they do need editing, there's that; editing...
I will never use any negative reactions that require my name next to them for the same reason I never explain downvotes, people tend to react poorly to negative feedback and tend to take that out on the downvoter.
People are always free to leave a comment explaining why the dislike or consider something wrong but I fear that requiring that everyone do so will filter out everyone except the most thick skinned users or encourage anonymous profiles.
Putting users names next to positive reactions has the problem that the receiver may feel indebted to the giver and more hesitant to downvote the giver's contributions in the future.
I am not opposed to the idea of reactions totally, but would rather they be anonymous.
1 comment thread