78

As a frequent user of Stack Overflow, I see a lot of conversations that happen in comments. Whole questions are answered in the comments. Often, the comments have useful information, but ultimately, the comments generate a lot of noise. Too much noise for even the most dedicated of users to keep up with.

No doubt, comments are useful at one point or another, but as time goes on, comments reach obsolescence. To date, we have not found a good way to handle this.

There are a few suppositions I'm making here (based on observation and lots of time moderating comments):

  • after a certain number of comments (say 10), it's hard to follow what's going on. Comments will often contain conversations between users interspersed with clarifications from the OP or the answerer interspersed with 'Thanks

  • Comments aren't moderated regularly by the people who post them. This is evident by the sheer number of comments that include clarification that is never edited into the question or the answer; or the number of times I've seen a user answer a question in a comment (I tried running SEDE queries for these to give you numbers, but it crashed Firefox each time).

  • There are orders of magnitude difference between the users that flag comments for moderation, and the users that police their own comments.

  • Lots of comments make the answers harder to follow, when the user has to scan through not only the answer, but its comments (and try to parse out the conversations from the relevant clarifications). This increases the friction for helping users find good answers.

  • Lots of comments make the questions harder to follow, for the same reasons. If the OP doesn't edit their question, but instead posts comments with code or with clarifications, a user has to parse all those comments to determine if the problem is the same as theirs.

This is only a problem for Stack Overflow, given we have over 111,127 posts that have more than 10 comments on them, and the next highest is Meta, with 5,936 posts with greater than 10 comments. Superuser jumps in at a paltry (by comparison) 2215.

How do we solve this? Remember, we only have a dozen or so moderators on Stack Overflow. If we now only have a few hundred users that flag comments, there's no way we could expect 12 moderators to do better than a few hundred users.

Is this even a problem? Should we even care about the number of comments? We know that comments are a necessary evil, but are we harming ourselves by allowing the number of comments to proliferate at an exponential rate, and never having an efficient means to prune them?

Why should comments be a necessary evil? Is there a way we can better handle them so that they don't continue to grow hundreds of times faster than our ability to clean up the noise?

EDIT:

As one of answerers points out, for non-moderators, you'll only notice this problem if you frequent questions where there are a lot of comments. Since that's only .8%, of the total number of questions, it's unlikely you'll see it as often as a moderator would (since we get a higher amount of flags on questions that are popular or have problems, which tend to attract more comments).

Reasons why I think this is an issue:

  • As a moderator, I see a lot of flags from the system on long comment trains (20 or more comments in 3 days on a single post). Invariably, these comments contain clarifications that should be edited into their respective posts. Sometimes, these comments are even live debugging sessions.

  • I can say that I spend enough time on this issue a day that it's getting to the point where I want to just shy away from the '20 or more comments in three days' flag, and not even pay attention to them. I believe that's the wrong answer. I know why it happens, it happens because there's generally so much noise mixed in with the gems (that nobody bothered to curate into the place it should be) that it's exhausting to try to sanely moderate comments.

  • We tell people constantly that Stack Overflow is not a forum, it's a Q&A site. As a Q&A site, the focus is on asking Good questions and getting Good answers. If the answers aren't edited to include all information from the clarifications issued in the comments, then they aren't Good answers, are they? Likewise, if the question doesn't include all the relevant information, then it's not as helpful as it could be.

If Stack Overflow is not a forum, then shouldn't we treat comments like something that should be cleaned up regularly, to maintain the quality of the content on the site?

What I'm looking for are answers to help us solve this problem, or cogent arguments as to why these points are irrelevant, or not a problem.

Possible answers include: Better badges for cleaning up comments, warning Posters to edit their post instead of posting code / clarifications in comments, better handling of conversations between users (pushing those to chat), etc.

56
  • 5
    My biggest problem with comments is that they can stop the automated deletion of questions... not that they might be noisy... May 15, 2013 at 13:13
  • 23
    suggestion: edit the title to "Eeek! There is an explosion of comments on Stack Overflow!" :P
    – Doorknob
    May 15, 2013 at 13:13
  • 6
    If you're downvoting this post, hopefully it's because you don't agree there's a problem, and not because of the way the post is written. If you're downvoting, could you help us out by at least commenting on what your specific issues are so that they can be addressed? May 15, 2013 at 13:23
  • 46
    I just downvoted -- I really don't see what the problem is. Is it an issue of database storage? An issue of questions being cluttered? Are the comments actively hurting anything? You're not forced to read the comments, and if the user doesn't update the question with their comments, well... that's their problem. Besides, why have Commentator and Pundit badges if comments are a problem? May 15, 2013 at 13:27
  • 10
    @LBT I raise the issues in my post. Those are the issues. If you don't agree they're issues, that's ok -- but unless you didn't read my post, you should see very clearly what I laid out as the issues. "You're not forced to read the comments" -- except when clarifications, caveats, and answers are put in there. Which, as I've personally seen, happens more and more often. May 15, 2013 at 13:32
  • 8
    @GeorgeStocker - yeah, I read the post, I just don't agree with the issues made. May 15, 2013 at 13:33
  • 6
    By percentages of posts Meta is much worse. SO is 50K/14,322K = 0.3% while meta.so is 5,936/138538 = 4%. May 15, 2013 at 13:37
  • 7
    It's 111,127 which makes it ~.7%. May 15, 2013 at 13:49
  • 5
    @DanielDaranas Here are just the most egregious examples of them being overused. Also, all comments could be necessary at one point in time, but we're also talking years down the road. If you and I are having a conversation that's localized to you and I, but it's in the comments, how does it help later users? If anything, it detracts from the reason they visited the post in the first place (meta-irony for these comments doing that very thing). You should post your comment as an answer. May 15, 2013 at 14:46
  • 9
    @LBT "Are the comments actively hurting anything?" Two people are having a conversation I couldn't care less about in comments on one of my answers right now. I'm getting spammed with inbox notifications, and it's getting very annoying.
    – yannis
    May 15, 2013 at 14:50
  • 21
    This is the fallacy of big numbers. SO has 14 million posts, that makes it a 0.11M / 14M = 0.8% problem. That's not a problem. May 15, 2013 at 14:54
  • 12
    Is this an actual, real burden on Stack Overflow's moderators right now that they are complaining about? You get the impression because of the use of "us" but it's not 100% clear?
    – Pekka
    May 15, 2013 at 15:17
  • 4
    @Niels as Pekka points out, this is a problem for moderators. I should have made that clearer in my post. I also believe it's a problem for users who are looking for an answer to their question and they also have to follow a large stream of comments. We optimize everywhere else for getting quality content in front of users, but we fail miserably when it comes to that goal when we think about comments. May 15, 2013 at 16:46
  • 10
    You may be tempted to click "show # more comments" under this question. Trust me: go right ahead. May 15, 2013 at 17:09
  • 5
    You say this is a problem only on SO, but I disagree. There might be more posts with lots of comments on them on SO, but it's a culture policy thing that affects even low-traffic sites. I see people include their real question in the comments and get answers in the comments, and future visitors have no idea what's going on. When suggesting to these users that they put the relevant info in Q/As, some of them retort "where's the policy on that?" If we don't address it now everywhere, one day these sites might have SO's traffic and you'll have a bigger mess to deal with.
    – Troyen
    May 15, 2013 at 17:38

26 Answers 26

73

I would like to see a review queue for flagged comments. 10K users could (perhaps with a majority 2 out of 3 or 3 out of 5) agree that a comment is obsolete, chatty, or offtopic: flags that don't require moderator action beyond removing the comment. (Rude or offensive flags might prompt a moderator to contact a user, so those flags should be left for moderator attention, and "other" could be anything so it too should be left for moderators.)

The queue should show the question and all its comments, highlighting the flagged ones, to make it easy to "agree to delete" many comments at a time, yet also easy to copy and paste the comments if you wanted to edit them into the question. Something like you see all the comments at once (whether flagged or not, perhaps the flagged ones have a button to vote-to-delete) and then you go down the list skipping the ones you want to keep and clicking delete on the ones that should go, and then click I'm done.

I understand that comment deletion cannot be undone. But that is true whether a moderator does it or a group of 10Ks does. And comments are designed to be ephemeral. If there really is a problem, let's get it tackled.

I suspect this queue would spend most of its time empty, like all the queues except Close Votes. Badges for flagging a thousand comments (and loss of flagging privileges if the reviewers disagree with you) should ensure it continues to get new items added for review.

14
  • 1
    My first thought was a review queue as well, then I thought "Are comments being flagged enough that this would even begin to solve the problem?" I honestly don't know the answer to that; this seems like a good first step, but there may also need to be other things to encourage people to actually flag comments. May 15, 2013 at 13:19
  • 16
    I like the fact that the review queue would be 10K-only; that should hopefully cut down on the badge-grinders and list-toppers. May 15, 2013 at 13:21
  • I'm generally in favor of this idea, (I proposed it on a similar question a couple days ago). However, it involves spending time on old comments, which is just silly. Shog showed me the light on this.
    – wax eagle
    May 15, 2013 at 14:36
  • 10
    I worry that this would lead to behavior like we saw when offensive and spam flags were exposed to 10k users. At the time, random posts would be flagged as spam and people would pile on just because it got flagged to begin with. Personally, I still would like to see rude/offensive comment flags be handled by moderators, because we often will want to have conversations with users about really abusive behavior. May 15, 2013 at 15:05
  • 1
    @BradLarson that's a good point. For an obsolete comment there's no further moderator action required, so perhaps only certain comment flags should be exposed to the 10Ks. May 15, 2013 at 15:20
  • 3
    @BradLarson: We can fix that. We can put in a queue to review the reviewers, and automated audits for the reviewers and the review reviewers. On second thought...
    – user102937
    May 15, 2013 at 18:45
  • I think 10k is too low for this good idea, at a minimum they should be trusted users (20k), though maybe even higher. Comment deleting will become a really big deal if it starts happening more. May 16, 2013 at 23:51
  • Adding a badge for flagging X comments will lead to a slew of bad flags from grinders. Removing comment flagging privileges would stem the problem, but is a bit of shutting the barn door after the cow has gotten out. Perhaps having only helpful flags on comments count towards the badge would alleviate this problem. May 17, 2013 at 17:07
  • @EsotericScreenName absolutely they need to be helpful flags. Also restricting the badge to those who've met some other pre-req should reduce grinding. May 17, 2013 at 17:12
  • @LanceRoberts: Why should comments be any different than regular questions? May 20, 2013 at 14:20
  • @PearsonArtPhoto, well, one difference between questions and what is proposed here, is that questions don't have a deletion review queue bringing it to everyone's attention, so only the really pro-active 10ks that check out the Tools->Delete queue usually cast votes. May 20, 2013 at 14:42
  • 1
    How about comment-replies on deleted comments? When you delete a comment, those obsolete comment-replies would make the whole comment-discussion very confusing. You'd better be a moderator who can delete multiple comments in one go after having scanned the whole comment-discussion.
    – user138231
    May 20, 2013 at 15:50
  • @Chichiray exactly, it makes sense to have a function that lets someone (mods, 10Ks, whoever) look at 10 or 20 comments and act on them in their context. Deleting your own obsolete comment and moving on does nothing about all the others. May 20, 2013 at 15:52
  • How about 1000 helpful flags and >90% helpful or something like that? May 21, 2013 at 21:09
37

Users need to be motivated in some way to remove their comments. I suspect a lot of people like to see their comments stick around for posterity, or even get some kicks out of them being upvoted (even though it gains them zero rep, and the only benefit of upvotes there is to get the Pundit badge - which doesn't get taken away, of course, if comments later get deleted). I think Bluefeet makes a great point, though - even if I am motivated to remove my obsolete comments just out of sheer altruism, it is an inordinate amount of work to track down my comments that might be obsolete. First, I have to find them, then I have to go visit the post and see if they are, in fact, obsolete.

I think it's a big mistake to assume that all comments can be unilaterally and automatically deleted after some amount of time. I can come up with many examples where a comment shouldn't be deleted just because it's old. Let's say UserX answers a question and says "You should do y and z, and use the foo for the buzz." I see the post, and upvote it because I agree with y and z, but since I know that foo has a bug that can cause problem P, I comment. The owner of the post doesn't agree, or hasn't come across the bug, or knows a workaround, or simply ignores my comment. We can't force the author to incorporate my observation into the post, and I am certainly not going to force my will by getting into an edit war with them. But unless I'm completely wrong, future readers are done a disservice if my comment simply expires and disappears.

So my proposal is a mixture of things that have been suggested on this and your previous, not-as-well-received suggestion.

It is clear that we need an easier way to purge comments without the aid of a moderator, and in fact some motivation to do so. So I think it would be useful to have a system whereby if I have commented on a post, and the owner has incorporated the suggestions I have made, he/she can mark my comment as addressed, and it can be deleted with one click when I agree. This absolves me from having to manually keep track of all my comments and monitor the posts for improvements, relying instead on the owner actively doing something as a result. To provide motivation, perhaps the owner or both receives +1 when the cleanup is complete (maximum of one time per post / user pair combination, and subject to caps similar to editing / voting / rep). It sounds complicated but it's really not - just have both users agree that the comment is no longer necessary. If they don't agree, then the comments stay (and perhaps they should).

There are complications, e.g. in many cases it has taken me more than one comment to get my point across (I will clean that thread up in the short term, but for now I'm going to leave it as an example). In those cases the commenter will have the onus to clean up all of their portion of the thread and not just the one-click action initiated by the owner.

A secondary suggestion is to leverage the existing comment flagging system. By reducing the number of "obsolete" flags needed to automatically delete posts, we can limit the moderator intervention needed in cleaning up comments. This is just missing the motivation part - perhaps a badge for [y] comments purged or, like I mentioned above, small amounts of rep similar to voting for flagging comments that end up being deleted.

And as I clean up the comment thread on this very post, I am reminded of another significant barrier to cleaning up comments: the ridiculous 5-second throttling threshold for votes that delete comments. Five seconds isn't a long time until you try to delete, say, 12 comments. (The limit should remain for upvotes and flags, though.) If moderators want to make it easier for us to clean up comments so they don't have to, here is one easy thing you can fight for: remove the 5-second throttling limit only for self-delete votes. On its own, unlikely to have a substantial effect, but if you add motivation and remove this barrier, I can almost smell the comment removal from here.

7
  • Can you make it easier to find your proposal in your post? Suffering from wall-of-text syndrome.
    – djechlin
    May 15, 2013 at 17:58
  • @djechlin yes, I tend to write a lot of background because I am expecting people to read. :-) I have highlighted the highlights for you.
    – Aaron Bertrand Staff
    May 15, 2013 at 18:02
  • 1
    I feel bad taking credit for the automatic "More than 20 comments" flag on this answer. May 15, 2013 at 18:46
  • 6
    +1 for the Your Comment has Been Addressed notification and the removal of the 5 second throttle. May 20, 2013 at 14:36
  • The only issue I see with this "cleanup +1" is that there is no way of determining if the comment is meaningful so a user could just go and post one meaningless comment on a whole bunch of questions, then go back through their comments and delete. 50 questions with one meaningless comment removed = +50 rep. May 31, 2015 at 23:08
  • @humble.rumble Maybe the comment has to exist for a certain period of time, without having been flagged, before it can earn a user 1 rep. That way if it's nonsense it will be flagged or moderated away long before that. And I mean really, there are so many more productive ways to game the system...
    – Aaron Bertrand Staff
    Jun 1, 2015 at 0:13
  • Here's an idea comments have to be by answering users for the user to get the +1. That way if an answer is deleted because its not an answer the user wouldn't get a +1 either. Jun 1, 2015 at 0:55
32

The fact I don't think this is a major issue aside...

A large problem is that comments just don't get cleaned up. I don't think users (me included) appreciate how disposable comments are. The system also works against us in getting obsolete comments removed.

  1. Notify users when posts they comment on get edited. Clarification and correction comments then get an extra opportunity to be removed.

  2. Make the flagging more prominent. This is a rock and a hard place because we want comments to be less prominent, but meh. I've flagged 2000+ posts but 33 comments. Go figure.

    Some permutation of the below, where the "flag" action is always visible, might encourage more use of it;

    enter image description here

  3. Expand Review History to give comment flags the same exposure that posts get. Comment flagging history get tucked away in the sidebar. If people don't see action being taken on their comment flags, they're less likely to use it.

Radical idea; prevent the question OP from posting comments to their question. Comments on questions are asking for refinement or clarifications; this requires action by the OP in the form of updating their post, rather then answering back (or posting the answer in the comments). This won't work for answers, as comment streams about inaccuracies etc. are more common.

11
  • 2
    Of course, these's the classic "Why are people downvoting my question?" comments.
    – JDB
    May 15, 2013 at 13:54
  • 3
    @Cyborgx37: Even the more reason to prevent the OP from posting comments ;).
    – Matt
    May 15, 2013 at 13:54
  • 1
    +1 for item #3. Just a count is hardly enough to motivate.
    – Gaffi
    May 15, 2013 at 14:13
  • 5
    +1 for item 1. When you comment to ask a questioner to add more info, you don't get to find out they've done it unless they also comment.
    – Dan Hulme
    May 15, 2013 at 14:24
  • 1
    +1 for 2 and 3. I don't think 1 is feasible. I'm not always commenting to ask for clarification and this would cause a lot of inbox spam.
    – ɥʇǝS
    May 15, 2013 at 20:34
  • 7
    I actually really like that "radical idea" of preventing OP from commenting on their own question. A bit too radical too actually be viable, I think, but I wonder if there is some way to have a less radical variation of this concept (i.e. something that encourages OP edits over comments, rather than forcing it).
    – Ben Lee
    May 17, 2013 at 18:05
  • How many “why the downvote” would we get if downvotes were required to give a reason?
    – WGroleau
    Mar 23, 2014 at 2:31
  • If the tree structure (replies and their replies) someone else suggested were adopted, then instead of notifying two hundred commenters all at once that the question had been edited, you’d notify the five commenters on the original question. Then two of them change or delete their comments, and you send ten more notifications instead of 195.
    – WGroleau
    Mar 23, 2014 at 2:51
  • 1
    @WGroleau: I'm not sure the "200 commenters" is a realistic scenario... most posts have <5 comments (excluding meta).
    – Matt
    Mar 23, 2014 at 12:25
  • “Two hundred”is merely an arbitrary example of the “explosion” in the question. If under five is typical, then this question shouldn’t be here.
    – WGroleau
    Mar 24, 2014 at 4:09
  • +1 for your radical idea that I came up with independently and elaborated on at meta.stackexchange.com/a/236524/215590
    – PolyGeo
    Oct 24, 2014 at 22:26
26

I'd like to see a new action on comments of the form "this comment should be an answer", and another for "this comment should be an edit". Instead of telling moderators like a flag does, it would poke the commenter (and remind them that they should delete the comment afterwards). Maybe to deal with users who stopped coming, a certain number of pokes on a comment would add it to a review queue. The reviewer would be able to delete the comment after making the suggested edit or post.

Currently, if I see a comment that should be an answer or edit, the only appropriate action I can take is to leave another comment suggesting the author writes it up. And if he does, I don't get notified about it, so now my comment is useless noise.

2
  • 5
    +1 for "this comment should be an answer"
    – Christophe
    May 15, 2013 at 17:11
  • 3
    Absolutely. "This comment should be an edit" covers a lot of noise, and addresses the problem that reading the comments is necessary.
    – AndrewC
    Jun 1, 2013 at 15:38
20

There's been plenty of discussion and dozens of suggestions on how to make comments tidier / more limited / self-cleaning / auto-expiring. The option of hiding non-upvoted comments after 30 days has even been brought into play by Jeff himself if I remember correctly, and I think that's the way it's showed to non-logged-in users already.

No point collecting ideas again that won't be acted on anyway, and discussing the merits and problems of long comment threads - we've done that plenty of times and the result appears to have been "it's not big enough a problem that any change is needed". The problem has not changed fundamentally on our, the users' end - we've always had endless dicsussions in comments. It's just the number of questions with long comment threads that has grown, along with the overall number of questions, and that might have become a problem on the moderators' end.

If that's the case and you guys are drowning in comment garbage, then make yourself heard and complain. As it stands, this looks like one moderator's take on the issue. That is of course incredibly valuable insight in itself, but do the other mods feel the same way? If they do, they should all chime in and say, "this needs to change."

Why not emphasize that more clearly, and leave figuring out what needs to happen to the team. Otherwise the complaint will be watered down by just another round of well-meant ideas from us Meta users, and discussion that will lead nowhere.

2
  • 2
    Also a pure "this is getting too much for us" complaint from the mods is going to be much harder to vote down than a list of suggestions for change with many details that one might be opposed to for one reason or another
    – Pekka
    May 15, 2013 at 15:37
  • 6
    These are really good points. I assumed (wrongly) that just because I see it day in and day out, that non-moderators see it as often as I do. That was a bad assumption on my part. May 15, 2013 at 15:38
16

Answers should prevail

Rephrasing Optimizing For Pearls, Not Sand, I feel that the world is awash in comments, but not answers...

https://i.stack.imgur.com/9MqCS.png

...the world is awash in comments, but not answers. And further is an exact quote:

Answers are the real unit of work in any Q&A system.

I believe prevalence of answers is a fundamental principle of Stack Exchange, its cultural keystone.

The problem is, the way how comments are presented now, jeopardizes above principles, it's that simple.

Long comments threads make it harder to get to and read answers. Not just that but which is probably more dangerous, long comments threads make answers look less important. Assuming that comments tend to stick to popular, highly viewed posts, this may have substantial perception impact.

  • Perception wise, a question with 100 comments and 2K views makes the same impact as 100 questions having 1 comment and 20 views. One way or another, there's the same 2000 views, with average ~50 comments shown per view.

You may write 5, 10, 20 posts at SE blog stressing the importance of answers and ephemeral nature of comments, but until things are the way they are now, these will be easily outscored by hundreds of heavily commented posts with thousands views.

You can try to auto-prune / flag / review comments deemed useless until the hell freezes over, but every single "useful" comment you decide to keep visible will serve as invitation to post 10 more comments.

  • Let's face it, comments fit the "discussion forum" culture, and that culture is widely popular, fun, appealing and frankly speaking, much easier to follow than answer oriented one. Give it a chance to leak through and it will leak through, and it will compete and corrupt the answer oriented culture. It happens right now and to be honest, I find it is happening to me, all I write here is just how I feel.

I think that if we want to consistently stick with "answers prevail" principles, the right way would be to always show comments condensed (well, almost always to be precise).

comments: 42 | comments upvotes: 122 | last posted: yesterday | expand

Two exceptional cases to expand comments are when user:

  1. well, clicks "expand", making an unambiguous indication of desire to view these
  2. clicks some comment URL, which unambiguously indicates the need to show this specific comment

For the sake of completeness, expanded view must always have "collapse" link to toggle view back to "canonical". Otherwise, inability to easy collapse back will punish users preferring to stick with answer-prevail attitude - the very audience who would support and enjoy the culture we are assumed to follow.

Showing comments condensed, no matter useful or not, will help us keep the answer oriented culture.

It's probably even more important to keep useful comments condensed. Useless comments are merely usability annoyance, these at least don't undermine importance of answers. Useful comments are more dangerous in that regard, as these tend to compete and even sometimes replace answers.

Pruning comments

Well, as long as comments are typically shown condensed, I don't think this will be much important.

https://i.stack.imgur.com/1rG31.png

Word of caution

"Total collapse" will most likely be a huge culture shock for those used to see comments expanded (this certainly will be the case for me).

Be prepared to deal with it. I'd go as far as suppose that without measures to tame mentioned shock, such a change is at high risk of rolling back. I would expect brute-force implementation to cause much turmoil, even more than massive and immediately visible deletes and review abuse caused in the recent past.

One possible way to tame the shock could be to collapse comments only a day or two after the post creation (or after whatever is average period of active commenting on created posts). This will give users sedative feeling of being able to use comments in a familiar way, like nothing has changed.

  • Another option I considered was to expand comments for a day or two each time post is edited or new comment is posted. That would be even more sedative, but unfortunately it would also open a gate for abuse: people would make senseless edits / comments with sole purpose to trigger expand.

It is also worth noting that immediately condensing all the comments would likely be impractical, because this approach has been already tried in the past and turned out rather troublesome, see Comments: Top n Shown.

17
  • I like the general idea, but a couple points: 1. I'm not sure it's necessary to show the total comment vote on collapsed view. Most of the time I don't care about the exact score of a comment, usually just the relative score. 2. You could also get rid of the "last posted" section if each new comment wasn't collapsed (up to X uncollapsed total) for 24 hours or something. That would also draw attention to new comment activity on older posts. With both of those, you could reuse the current "Expand all comments" and posts with lots of answers already collapse most comments.
    – Troyen
    May 18, 2013 at 0:25
  • @Troyen I personally would happily live without these (I hope). The reason why I added these is to avoid cumbersome discussions on "oh but how we could figure, maybe there are important comments inside" and "oh but it is really important to at least know if new comment has been recently posted". As I mentioned, "total collapse" will most likely be a huge culture shock - fearing it'll rollback the whole thing, I'd want to compromise on any "secondary" aspect in order to tame that shock
    – gnat
    May 18, 2013 at 0:28
  • ..."if each new comment wasn't collapsed" for a while, drawing attention to new comment activity is exactly what I would want to avoid. I would want to de-emphasize comments as much as possible: 2-3 days and all of them go inside no matter what, that'll re-emphasize answers. Though, sinse it looks "secondary" to me, I think this could be compromised if there's sufficient desire :)
    – gnat
    May 18, 2013 at 0:38
  • 7
    The problem with the example you site is that it's for Meta Stack Overflow, not regular sites. On SO, we only show 5 comments unless you ask to show more. And then, only the five most upvoted ones. We don't show long comment threads unless the user asks to see them. If comments were so unimportant that we don't want people to see them, then we wouldn't have them. May 18, 2013 at 16:32
  • @NicolBolas 5 comments per post may be too much already, if these are shown in a lot of posts and views. It's not hard to figure SEDE query to find out how much comments on average are shown to user per view.
    – gnat
    May 18, 2013 at 19:40
  • @gnat: It doesn't matter "how much comments on average are shown to user per view." What matters is whether those comments are doing the job that comments are intended to do or not. And you can't detect that from a database query. May 19, 2013 at 3:41
  • @NicolBolas well in that case I would say, collapsed comments would be doing the intended job just fine. As far as I can tell their job is described as follows: "Comments exist so that users can talk about questions and answers without posting new answers that do not actually answer their parent questions... Comments are disposable: unlike posts, there's no revision history, and they can be deleted without warning by their authors, by moderators, and in response to flags..."
    – gnat
    May 19, 2013 at 13:25
  • 2
    @gnat: And that job is not served if nobody sees them. And if nobody sees them, they may as well not exist. And if they may as well not exist, why do they exist? You might as well say to replace comments with a dedicated chatroom for every question/answer. It's important that comments are visible so that people can see what they actually say, because what they can can be important. May 19, 2013 at 13:42
  • 1
    @NicolBolas do you think that comments are intended to be important?
    – gnat
    May 19, 2013 at 14:40
  • 2
    @gnat: If comments are not important, why do they exist? If it isn't important to the quality of the site to be able to communicate with the person asking a question or posting an answer, why do we allow it at all? If it isn't important to the quality of the site to be able to communicate to other people who read the question or the answer, why do we allow it at all? So either comments are important and therefore should be visible, or comments are not important and therefore should not exist. May 19, 2013 at 15:11
  • @NicolBolas well the faq post I referred, explains why, "exist so that users can talk about questions and answers without posting new answers that do not actually answer their parent questions" - note btw faq rather undermines their importance: "Comments are disposable"
    – gnat
    May 19, 2013 at 16:04
  • 1
    @gnat: Ziplock bags are disposable too. That doesn't mean that they aren't important and useful, merely transitory. May 19, 2013 at 17:23
  • 1
    +1 I like this but perhaps it should have a time limit: comments are displayed as they are now for 7 days, but after that are collapsed by default? May 19, 2013 at 17:27
  • 1
    Yes! That'll teach me to read the whole post next time! I'm not sure what time period would be best, 2 days, 7 days, or even more. I also think you might be worrying needlessly about anyone 'gaming' if you expand on any edit/comment: we'd still be cutting down on noise on the vast swathes of other posts and they'd be expending a lot of effort for no gain. May 19, 2013 at 19:55
  • 1
    @0A0D SO currently shows top 5 and still, the question indicates concerns: "a problem for Stack Overflow". That's why I suggested a radical solution; without seeing these concerns I would think 5 is low enough (as is 3) - but, you see, it's not. Actually with 600 chars per comment, 3 verbose comments can trump concise answer about the same as 5 do now (as a self-referencing example, this very comment is about 500 chars long)
    – gnat
    May 23, 2013 at 15:14
15

Rather than or in addition to a queue, flagged comments should appear highlighted (e.g. in red or yellow) to users with privileges to act on them. Unlike a queue this raises awareness of the fact that we ought to be cleaning up comments all the time, i.e. it advertises the feature.

Probably want to allow an opt-out so your 3k or 10k or whatever users don't have their responsibility forced on them.

6
  • 2
    That's interesting, and it's kinda like how flagged chat messages work (there's a little blue thingy next to them, although I'm not sure if that's shown to regular users or only to chat moderators).
    – yannis
    May 15, 2013 at 13:31
  • @Yannis AFAIK it's shown to all users that can see flags in chat. 10k network-wide? You're seing the blue bar.
    – tombull89
    May 15, 2013 at 13:34
  • 2
    It is a good idea, but might be abused to provide an alternative to downvoting bad comments, which is probably not a good thing. (Comment downvotes would be great, though!)
    – Ry-
    May 15, 2013 at 14:31
  • @rynah how? I'm saying already flagged comments (this system exists) will just be visibly actionable to moderator-like (high-rep) users. The flagging system won't change under this proposition. You'll still need to flag judiciously and if your flags are declined a lot you'll lose privileges, just like now.
    – djechlin
    May 15, 2013 at 15:06
  • @djechlin: The deletion of kind-of-wrong-but-still-valid answers is actually a problem I've seen before, and given that comment deletion is irreversible and you can't downvote them, I feel like it's going to be abused by people who disagree heavily with a comment and delete it in context since it's not part of a review queue, which is less... "personal".
    – Ry-
    May 15, 2013 at 16:20
  • @rynah okay, I agree that's a risk with this proposal - and all proposals, actually; how to balance encouraging deletions of comments that should be deleted from ones that are merely disagreed with? I see how this could be riskier than the queue though given the impersonality factor.
    – djechlin
    May 15, 2013 at 18:28
15

The easy, and I think right solution here:

Hide comments all nonupvoted comments on posts older than 30 days. And only show the top few upvoted ones

This isn't a new solution proposal, and it's been bandied about for a bit. But it would use a feature already in place (for questions with 30+ answers) and I think it's a good and acceptable compromise.

Basically, if a comment has a lot of upvotes (ie people think it's interesting) and the post is old it still shows, but if it's not interesting then all the comments are hidden and you have a nice clean look to questions and answers that aren't currently active.

The comments won't go away, and will still be visible using the "show comments" link. See an example of how it works here.

8
  • @EnergyNumbers yes. go look at a 30+ answer question on SO to see how it works. stackoverflow.com/questions/901115/… Here's one.
    – wax eagle
    May 15, 2013 at 14:54
  • Note that this still doesn't encourage people to move very valuable information from comments into posts, as they will still know that others can read the comments. The goal here is primarily to incentivize people to take valuable information from comments and edit them into questions/answers.
    – Servy
    May 15, 2013 at 14:57
  • 1
    @Servy well, the incentive is that if you don't integrate it into the answer the visibility is significantly lessened (it doesn't show up). Obviously that's not the ideal, but we don't want to delete them outright and we don't want to spend time dealing with it, so this is the correct compromise.
    – wax eagle
    May 15, 2013 at 15:01
  • 1
    @waxeagle I don't see that as sufficient evidence for most people to take the time to edit their posts.
    – Servy
    May 15, 2013 at 15:02
  • 1
    @Servy again, this is a compromise solution. It's the lazy solution using existing features and policies. Thus it's far more likely to get implemented.
    – wax eagle
    May 15, 2013 at 15:09
  • 2
    Sure it could be implemented, but if it doesn't solve the underlying problem it doesn't really help...
    – Servy
    May 15, 2013 at 15:16
  • 2
    It should be comments older than 30 days. I've seen a lot of helpful comments on old posts saying something like "this method is now deprecated. Check out this answer (link) instead."
    – JDB
    May 16, 2013 at 13:31
  • I think they should be soft-deleted. Giving a limited lifespan to comments will entice people to move their contributions to the post.
    – Sklivvz
    Jan 8, 2015 at 17:02
14

Per George's request, I'm going to try and expand on my downvote.

First and foremost, I don't see what the problem with comments is.

Lots of comments make the questions harder to follow, for the same reasons. If the OP doesn't edit their question, but instead posts comments with code or with clarifications, a user has to parse all those comments to determine if the problem is the same as theirs.

Well then, to me, it's probably a bad question, or started off as a bad question. But you can look through the comments and see how the question morphed into hopefully a good question. Are lingering comments really that big of an issue on the question, though?

There are orders of magnitude difference between the users that flag comments for moderation, and the users that police their own comments.

I've tried flagging comments for moderation attention, and I personally have 106 comments flagged, 46 deemed helpful. To me that seems like a dismally low rate. If comments are a probelm, don't reject the moderation flag.

Lots of comments make the questions harder to follow, for the same reasons. If the OP doesn't edit their question, but instead posts comments with code or with clarifications, a user has to parse all those comments to determine if the problem is the same as theirs.

Ideally, in the early life of the question, there will be multiple people looking at the question. I would hope that if the OP puts their code in as a comment, someone else will instruct them to edit their question. Then, if the OP still doesn't do it, anyone still invested in the question can edit the comments into the question themselves.

Lots of comments make the answers harder to follow, when the user has to scan through not only the answer, but its comments (and try to parse out the conversations from the relevant clarifications). This increases the friction for helping users find good answers.

This one I will grant you, and I admittedly don't have a good response to this. Again, hopefully someone invested in the question will help clean up the answer, but in this case, I can't see how any sort of review queue would be helpful; at most, you would be just deleting comments, further muddying the answer.

Finally, if comments are that big of a problem on SO, I think the Commentator (and possibly the Pundit) badges should be considered for removal. Don't reward people for leaving comments if comments are a problem, especially in the case of Pundit where you have to accumulate a number of high-voted comments.

If it's truly that big of an issue, maybe give another badge for people deleting a certain number of their own comments (that have been around for a certain period of time, so they're not just commenting and then deleting), instead of trying to implement a review process. I rather people delete comments of their own accord then having others decide if the comment is worth it or not.

9
  • 1
    I'm upvoting your post. I don't agree with some of your points (obviously), but it's well written. All I can say is that if you were able to spend even a day looking at the moderator queue, you'd see the issues I bring up. May 15, 2013 at 13:56
  • 2
    @GeorgeStocker -- if there's a way you could work that out, I would genuinely be interested. Also, thanks for encouraging me to expand on my comment. May 15, 2013 at 13:58
  • 7
    Not to be meta-meta-meta, but @GeorgeStocker and LBT should now delete their comments from the question, right? Or are you both demonstrating the problem by leaving them there? :-D May 15, 2013 at 14:02
  • 3
    @KateGregory Meta is a great example of this problem in action; but as another user has pointed out, keeping the comments on meta is helpful in determining the decision making process. Also, we're a lot more relaxed on meta because we have to be. If you were to spend a day trying to moderate meta the way you'd moderate a normal site, You'd go crazy. I make it a point not to moderate meta because the few times I tried, I cursed at the monitor and didn't come back to meta for a week. May 15, 2013 at 14:04
  • With respect to your comment flag accept rate, I imagine most of them aren't rejected; they've just resulted in those posts being auto-deleted without mod intervention (mostly from enough flags). Such cases result in the flag being neither marked as helpful nor declined. In particular I imagine a lot of them are comments containing some keyword that lets them be nuked in one flag such as "why you have 0 accept rate?"
    – Servy
    May 15, 2013 at 14:04
  • 4
    The c++ tag is a good example that flies in the face of your counterpoints. There's incredibly detailed nuanced information that is left in the comments but nothing gets edited into the post (and the community generally get very irate if they are deleted). Also, the posts that the comments are attached to generally don't have issues with them.
    – casperOne
    May 15, 2013 at 14:39
  • 2
    @casperOne -- they're also the only tag (as far as I'm aware) that gets to have their own list of books and recommendations as well. The C++ community here is a strange and tempermental creature, that uses the site in ways that was probably not intended, and are the exception that proves the rule to me. May 15, 2013 at 14:43
  • 4
    @LBT FWIW, I don't agree with that exception, or exceptions for any group of users. Exceptions are given to content and should be given extremely sparingly. The comment noise from the most prolific users in the c++ is not exceptional in any way.
    – casperOne
    May 15, 2013 at 14:44
  • 4
    I wish I could upvote this more than once. I completely agree that I don't see what the problem is. Long comment chains are hidden by default, and if I am interested in the post's contents, I know I can expand them for more detail. I would not want users that are not participating in the post to be voting to delete these comments. I also like the idea of incentives for users to cleanup their own comments, as I'm sure I've left many comments that are now obsolete, and it's simply not worth my time to track them down and remove them.
    – Rachel
    May 15, 2013 at 18:13
9

Part of the problem is that people are used to the way forums work elsewhere on the web, and expect comments on stack exchange to work the same way. Rather than fighting that, let's make it work for us.

Radical proposal - track comment ancestry

One radical solution would be to track how and why comments are created and use that to suggest future behaviour.

Rather than just having an add comment link at the end of the list of comments, also provide reply links to each individual comment. This would add a new comment after all others, just as we do now (we don't want to mess around with threading issues), but would store an in reply to reference (and possibly link/tool-tip to it).

The first thing which this would do would be to allow you to tell the difference between a comment on the question (or answer) and a comment on another comment. The next thing it would do is provide a tree of links which the system could walk when the post or any comment within it is edited or deleted.

This allows you to do things like notify all people who commented on a post when it is edited (as others here have suggested), but it would also allow you to exclude people who had commented on a comment rather than on the original post - reducing pressure on peoples Inbox.

It also allows you to notify people when a comment they have replied to is deleted, prompting them to delete their reply (replies to deleted comments always look wrong, so this is a strong incentive to delete them, if you know about them).

This would result in people being prompted to tidy up their comments both ways and the effect would ripple through the tree of comments.

Example

A pattern I see often, especially with new users, is this:

  1. Question posted by Alice.
  2. Comment posted by Bob asking for clarification.
  3. Comment posted by Alice providing the clarification.
  4. Comment posted by Bob suggesting the clarification be added to the question.
  5. Question edited by Alice.
  6. Comment posted by Alice saying it's been done. (optional)

Sometimes this process ends up with just 5 at the end of the exchange. Frequently though it sticks around as 23456 or if you are lucky 356 instead (where 6 prompted Bob to tidy up his comments).

If 6 never gets posted, it's even more likely to stick around as 2345 forever, as Bob never gets informed that his comments may now be out of date.

  • By prompting Bob when Alice edits the question (5), the final comment (6) may never even get written.
  • By prompting Alice when Bob deletes 2 and/or 4, it is much more likely that 3 & 6 will get deleted.
4
  • 7
    +1 For raising this issue. Currently we have no way of reliably cleaning up the back-and-forth comments that inevitably happen. If I delete my comments, chances are the other guy won't notice and it leaves a half-conversation that is worse than if I had done nothing. My only options are to either flag and burden the mods with cleaning it up, or leave it as it is.
    – hammar
    May 16, 2013 at 14:29
  • I agree with both the tree structure (replies instead of a single disconnected stream) and the collapsing by default. And make the expand/collapse available at each branch. Maybe even cause an expand to auto-collapse the previous node at the same nesting level.
    – WGroleau
    Mar 23, 2014 at 2:38
  • Also, when a comment is deleted, delete all its replies recursively. Send the deleted reply to the commenter “your comment saying (quote) has been deleted because what you were replying to was deleted. The general context is (link to the question).”
    – WGroleau
    Mar 23, 2014 at 2:43
  • I did consider suggesting that @WGroleau but I thought it might be just a little too BOFH. *8')
    – Mark Booth
    Mar 23, 2014 at 17:53
6

There are a certain class of comments that, while important, don't need to be seen by everyone. Generally, when you start to make those comments, you know that they don't need to be seen. That it's a conversation.

So let us take comments to chat directly already! This has been asked for many times, and it would easily remove a lot of the chatter. We can usually tell when a comment is turning into a talky thread, long before the automated system does. So just let us do that.

Give us the ability to just create a chat room for a question/answer. Just as if the "take it to chat" message popped up.

6

While we certainly don't reach your levels of volume, Physics.SE has a high percentage of discussion-in-the-comments cases. So I see where you're coming from on this.

Firstly, my personal philosophy on comments is the following: If it has little to no potential of improving the question, delete. This applies to chatty/useless comments, comments on posts where the author has declined fixing it according to the comment (this doesn't apply to "this post is wrong" comments, they are good guidance for future downvoters), and comments on old posts where the OP never came back. In the case of chatty comments, I sometimes give enough time for the OP to read them before deleting.


Alright. If mods are being inundiated by chatty comment flags, then one solution would be to treat all comment flags as similar to spam/offensive flags, without the attached rep penalty. So, 6 comment flags delete the comment. Then, show these comments in the 10k queue.

Incentivising comment flagging (making a successful comment flag count as 1/5th of a helpful flag for the badges) may also help get the comments cleaned up.


Now, discussions are a harder beast to tackle. To deal with these, I suggest a few things:

  • Firstly, mods need a tool that lets them migrate selected comments to chat with little hassle. There have been cases when I've just been too lazy to do it(one has to quote all the comments in chat and then delete them) and I've asked the participants of the discussion to create a new chatroom if they wish to continue (with plans of coming back to clean up the comments once they finish). My guess is that the SO mods won't have the time to do this at all (as opposed to my laziness). If we want to battle these effectively, we need the tools for it.
  • Secondly, we should show the "move to chat" option quite early in a discussion, preferably after it has reached the threshold where there are at least two comments from at least two users each. This button will delete all the comments of the participants, and leave behind "a discussion was [moved to chat] link". If a comment is unequivocally a reply to a user who is participating in the discussion, it goes to chat as well.
  • It may be a good idea to scare people into moving to chat -- the move to chat link is summarily ignored by many. Something like "there's a chance this discussion will be deleted if it gets too long" may be enough. Even better, don't allow a discussion of more than X (X=10?) comments between two people. Disable the comment box and mention that it will be reenabled "if the side discussion is [moved to chat]"

  • Community flags could be tweaked to flag comment discussions of 10 comments instead of 20 (which could be easily dealt with if there were good tools for migrating discussions to chat).


For answering in the comments, a flag and a corresponding "convert to answer" mod option ought to be sufficient.


IMO, long discussions aren't that big a problem due to the collapsing. However, they do detract from more useful comments at times. And they add to clutter. It needs fixing, but wasting too much time doing so may not be the best idea.

3
  • Comment collapsing is Stack Overflow's version of #regions in code. It's a smell. May 16, 2013 at 10:30
  • @GeorgeStocker: Never heard of it till now (IANAC#Developer). That. Is. Cool. May 16, 2013 at 12:30
  • Obligatory Old Stack Overflow question link: Do you say No! to C# regions? May 16, 2013 at 12:32
5

Currently, although it's officially frowned upon, the most useful way to add information in response to a comment is to add another comment. Take the example where I ask a question, and someone writes a comment, "Which platform?" If I update my question to add, "... on Ubuntu," the user who asked for that clarification won't find out about it. That means he won't answer the question, so I lose out, and that he won't see that his comment is now obsolete and delete it, so it stays for longer. OTOH, if I write that information in a comment, and @mention the commenter, he'll get notified, and will come back to make an answer and may delete his obsolete comment.

I propose that if I've commented on a question or answer, and that question or answer is edited in any way (whether by the OP or someone else, but not by me), I should get notified in the top-left notifications list. This will have several beneficial effects:

  • When I'm responding to a comment, I know that if I edit my question/answer the commenter will be prompted to respond, so I'm encouraged to do that rather than leaving a further comment.
  • When I'm posting a comment, I know that it will lead to notifications later - that is, it has a small inconvenience cost - so I'm only likely to make the comment if I'm actually interested in the question/answer being updated.
  • When I'm returning to a question or answer I've commented on, if I'm happy with its current state, I'm more likely to delete my (now obsolete) comment so I don't get notified about it either more.

There are, OTOH, some reasons you might not want to do this:

  • There's a risk that people won't comment to ask clarification any more, because the cost of being notified is too great.
  • If the change applies retroactively, then people who've been very active and not cleaned up their comments will suddenly start getting a lot of notifications. There's a risk they may simply start ignoring the notifications, or worse yet, removing all old comments indiscriminately. Grandfathering old comments would abate this risk.
  • There's a risk of people leaving comments just so they can be notified about changes to a post. This would lead to more unnecessary comments, making the problem worse! You can already star a question to get notified of updates to it, but (AFAIK) there's no way to do this for answers. Adding something like a star for answers would reduce the risk.

Overall, I think it'd be a positive change, and fits well with the SE mentality of making the system encourage the desired behaviour in its users.

4
  • The workaround (since notifying commenters and voters of edits has been declined many times) is to comment saying that you've updated the question. This notifies the commenter and leaves the question in better shape. Then flag their comment as obsolete and after a short time, delete yours. Jun 1, 2013 at 13:26
  • 2
    That requires remembering you've done it and spending more time on it later. There's no incentive for users to do that. While this is the only workaround, the useless comments will keep coming.
    – Dan Hulme
    Jun 1, 2013 at 16:26
  • @KateGregory Flag both comments as obsolete!
    – AndrewC
    Jun 1, 2013 at 18:12
  • @KateGregory Sorry, it was a poor attempt at a joke.
    – AndrewC
    Jun 1, 2013 at 19:21
4

I completely agree with @Kate's suggestion for a review for flags. I think that would be helpful in getting the comments under control.

Another suggestion which has been discussed before would be to allow the ability to search through comments, even our own comments. I would love to have the ability to go through my old comments and clean them out...but I have about 4700 comments and the current interface to review them is not particularly friendly.

Even if this was limited to searching your own comments, it would at least give each user a way to clean up their old outdated noise from the site. Ideally, we could expand the searching on all comments to work hand and hand with a comment review queue.

3
  • I am not sure how that would help. Let's say I am able to discover that I left a comment saying "But what about when the tablet is in portrait orientation?". In order to know if it's obsolete or not, I need to go look at the post and see if it was edited to react to my comment. Notifying commenters of edits might be a better way to get people to clean up their own old stuff, but I believe that's been declined many times. May 15, 2013 at 14:54
  • 1
    @KateGregory Perhaps a way of seeing your own comments that have been flagged as obsolete, so that you have the option of self-cleanup without requiring a mod to look at them?
    – Servy
    May 15, 2013 at 14:55
  • @KateGregory My point is that it will give us the ability to find our comments or others if the search was expanded. I know that I used to comment what have you tried?, now I want to delete them...but there is not an easy way to find those comments to delete them. Yes, you would have to review the posts but I would think you would want to see the the conversation...at least I would. I think having the ability to search comments would work great with a review queue. I search, find an outdated comment conversation, flag or delete.
    – Taryn
    May 15, 2013 at 14:58
4

I agree with most of what the top-voted several answers have said with regard to reviewing and self-moderation of comments, but I'd also like to suggest a UI change to help keep Stack Overflow clean, as outlined in basic form in this Stack Snippet I threw together this afternoon. More details follow below.

Note: You'll want to view the Stack Snippet in Full page mode.

html { margin: 0; }
body {
    width: 768px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    font-family: "Arial";
    margin-top: 16px;
}

h1 {
    font-size: 22px;
    margin-top: 0; /* I need this line because IE11 is not collapsing margins properly */
}

p {
    border-bottom: 1px solid #E0E0E0;
    margin: 0;
    text-align: right;
}

label {
    border: 1px solid #E0E0E0;
    border-bottom: 0;
    padding: 5px 5px 2px 5px;
    background: white;
    position: relative;
    z-index: 2;
    cursor: pointer;
    font-size: 0.9em;
}

input[type="checkbox"] {
    position: fixed;
    top: -20px;
}

.container {
    width: 768px;
    height: 509px;
    position: relative;
}
.container div {
    position: absolute;
    width: 768px;
    height: 509px;
}
.container .first {
    top:0px;
    left:0px;
    background-image: url("https://i.stack.imgur.com/EElZs.jpg");
    transition: all 0.7s ease-out;
}
.container .second {
    opacity: 0;
    top: 0px;
    left: 800px;
    background-image: url("https://i.stack.imgur.com/7Xgu3.jpg");
    transition: all 0.7s ease-out;
}
.cover {
    position: absolute;
    top: 0;
    left: -100px;
    z-index: 1;
}
.cover.one {
    width: 67px;
    height: 27px;
}
.cover.two {
    width: 79px;
    height: 27px;
}
input[type="checkbox"]:not(:checked) + p label.primary {
    border-top: 2px solid orange;
}
input[type="checkbox"]:checked + p label.secondary {
    border-top: 2px solid orange;
}
input[type="checkbox"]:not(:checked) ~ .one {
    top: 34px;
    left: 615px;
    z-index: 5;
}
input[type="checkbox"]:checked ~ .two {
    top: 34px;
    left: 688px;
    z-index: 5;
}
input[type="checkbox"]:checked ~ .container .first {
    transform: translateX(-800px);
    opacity: 0;
}
input[type="checkbox"]:checked ~ .container .second {
    transform: translateX(-800px);
    opacity: 1;
}
<h1>Why doesn't position: sticky work in Chrome?</h1>
<input type="checkbox" id="question" />
<p>
    <label for="question" class="primary">Question</label>
    <label for="question" class="secondary">Discussion</label>
</p>
<div class="container">
    <div class="first"></div>
    <div class="second"></div>
</div>
<div class="cover one"></div>
<div class="cover two"></div>

The trend is clear: humans like to talk about things. As time has gone on, the Stack Exchange team has gone to great lengths to increase the number of users on Stack Overflow (and other SE sites), often at the expense of perceived site/network quality (it's harder to train a herd than one person, after all). In response to this, one common trend I've seen is periodic, severe cracking down, often out of frustration, to try and keep the site clean and to keep quality high. This has been pretty much a losing battle, and it will only get worse, so long as the network continues to grow in users and activity.

I know comments are ancillary to the main function of the network: asking good questions and receiving good answers. However, like the trend above, comments are only going to get worse/more plentiful (short of the Stack Exchange team simply disabling comments).

Instead of continuing this losing battle and ultimately giving in to pressure later on (which I think is the inevitable course), we should embrace this fact of human nature and shift all comments to Wikipedia-style "discussion" boxes (a "page behind the page") each question and each answer. That way, comments and their detritus are hidden from the clean, Google-able Q&A view that we all know and love/hate, yet they have a happy, permanent home in which to live, and people interested in commenting can continue to do so without mucking up the Ive-esque interface that Stack Exchange dreams of.

JSFiddle Example, for good measure.

3

Would it make sense to have some comment flags jump the queue and get auto-processed?

I mean, if three five different people flag a comment as "obsolete" or "not constructive / off topic", why should it wait for human intervention? Just remove it.

2
  • This could work and it already happens with some comment flags (rude/offensive if I'm not mistaken). We also have 1-flag-comment-kills for certain comments (those with "accept rate" in them for example).
    – yannis
    May 15, 2013 at 15:08
  • 3
    The problem is getting three or five different people to bother flagging.
    – Aaron Bertrand Staff
    May 15, 2013 at 16:43
3

Give 2k users the ability to vote to delete comments. 5 votes = comment is deleted.

The comment privilege description says

Comments are temporary "Post-It" notes left on a question or answer.

A review queue seems like overkill to me. Comments don't need a judge and jury, just an executioner. Do people really want to review comments like

  • Post your html please
  • I second that, we need your full HTML with all elements involved to solve this...
  • Added some code fragments. It's made of lots of files but hopefully I've included enough. @usernameredactedtoprotecttheinnocent - I've included the first few lines of the SVG file from which you'll see that there is no namespace set. Is that the problem?

(The above an arbitrary selection of comments from a post on the SO front page at the time I wrote this.)

3
  • This essentially already exists. You can flag comments; if a comment is flagged enough times it can be auto deleted. The problem is that people only flag spam/offensive comments regularly; obsolete comments aren't flagged much, and virtually never enough to be deleted without moderator intervention.
    – Servy
    May 15, 2013 at 15:31
  • I agree with this but think a higher rep level would be appropriate, given that the deletion is neither reviewable nor reversable by other users.
    – jscs
    May 15, 2013 at 16:57
  • the review queue is not to provide "judge and jury" but rather to get eyes on the problem. What are the chances enough high-rep users will see the obsolete or otherwise deletable comment? Putting it in a queue makes it easy for those who care to take a quick look and agree it is obsolete. May 18, 2013 at 20:38
3

From the comments:

You can flag comments; if a comment is flagged enough times it can be auto deleted. The problem is that people only flag spam/offensive comments regularly; obsolete comments aren't flagged much, and virtually never enough to be deleted without moderator intervention.

How about giving 1 rep per obsolete flag that results in a deleted comment (up to, say, 2 per day)?

4
  • 2
    +1 but I think a cap of 2 rep per day is pretty stingy. Maybe it should be higher for your own comments, and the cap proportionate to the number of comments you have out in the system. Then I could dedicate an hour or a day to cleaning up my own comments (still subject to some cap) rather than only having enough motivation to clean up 2 per day (I'll never catch up in that case).
    – Aaron Bertrand Staff
    May 15, 2013 at 16:41
  • I was thinking no rep at all for flagging your own comments, unless you could stop folk commenting and deleting just for the rep? May 15, 2013 at 17:08
  • Well maybe the comment has to exist for a certain time period, or survive an edit to the post it belongs to, and the chance for rep goes away when another person flags it. I don't know, I haven't really thought it all through, but I think any solution that involves rep has the opportunity for elaborate gaming.
    – Aaron Bertrand Staff
    May 15, 2013 at 17:11
  • true enough :-) May 15, 2013 at 17:19
3

In my experience, posts generate lots of comments for the following reasons:

  • The question is missing some key information (example: regex question that doesn't specify the language)
  • it's an x-y question (example: I want to change the background color using jQuery while this could/should be done with css)
  • the question is subjective
  • the question contains an error (sometimes just a typo)
  • the question involves a controversial topic (example: jQuery)

Some of these issues (like subjective posts) are already taken care of. One way to address some of the other issues could be to add a flag button (softer than the current one that requires moderator attention) for "the question needs editing", followed by a list of reasons. The flags would automatically be reset after the OP edits the question.

This thread is a good example of question that can generate a lot of comments, because of the biased way you present the stats:

This is only a problem for Stack Overflow, given we have over 111,127 posts that have more than 10 comments on them, and the next highest is Meta, with 5,936 posts with greater than 10 comments. Superuser jumps in at a paltry (by comparison) 2215.

If I had that flag button available, I could recommend that you revisit your post and present the stats as percentages.

2
  • The flags would automatically be reset after the OP edits the question Just because the author edits the post doesn't mean the clarifying question was actually answered. It's quite common for the edit to either not address all of the questions, or to not adequately answer it even if it attempts to.
    – Servy
    May 15, 2013 at 19:44
  • @Servy that's right. I don't think the objective is to implement a 100% fail safe system (for example votes aren't a perfect metrics either), but rather have something that is not too complicated to put in place and will filter out 50% or 80% of the noise.
    – Christophe
    May 15, 2013 at 20:16
2

UI decisions should be made based on simplifying tasks that you want to encourage, so I suggest simplifying the process of incorporating a comment into a post. I suggest we add an option to flag to automatically include that comment in the post. Once either the original poster or someone with edit privileges selects that flag option, or a moderator approves a flag by a lower rep user, the comment is added at the bottom of the post below a HR or similar, perhaps with the note that it is a comment.

2
  • I'm confused; to cut down on the number of comments, you want to simplify the process of adding a comment? I don't really follow this proposal. May 20, 2013 at 14:07
  • 1
    Simplify the process of taking a comment and adding it to the original post. The problem isn't the number of comments per se, it's the amount of useful information that ends up stuck in comments instead of getting added to the post. Clarified :)
    – Joe
    May 20, 2013 at 14:11
1

I think it might be helpful to consider the different reasons for comments and to think about whether there might be "a better way" for some of those categories. From what I've seen, comments fall into some of the categories list below (I'm sure there are more).

Requests for the OP (example code?/what language?/which version?)

  • Perhaps these could be folded into a different comment system. Something only viewable by the OP and editors? Or at least, not part of the normal comment stream. This might remove a lot of the more revision-sensitive comments from public view.

Addendums for answers (look out for this exception/performance issue/newer version available)

  • These are, in my opinion, the best kind of comment. They are often posted by experts who recognize the value of the answer but are aware of some unexpected pitfalls. These have helped me many times, but are all too rare (and often burried at the bottom with few upvotes).

Quality comments (closed because/-1 because/+1 because)

  • There might be some value in these being visible to other users (so they don't make the same mistake), but I think these are the most common to end up in chit-chat. Perhaps we can have a "vote history" where users have the option (not required) of posting a reason for their vote.

  • Replies to quality comments could be automatically sent to the chat room. (Much like the suggestion that appears when too many comments are posted)

Resource links (not really an answer/link-only/similar (not duplicate) question/other duplicate/etc)

  • I think these are the second best kind of comment. They don't deserve to be answers, but they do provide immense usefulness to the site. With some sort of voting mechanism in place, old comments could eventually be replaced by newer comments with more up-to-date info.

Replies (a reply and all following replies to the above comments)

  • I think in most cases these kinds of comments could be moved to chat. We could add a "reply" button which automatically redirects to the chat room (and invites the commenter to join).

  • Get rid of the @user replies? They are handy, but encourage conversation between two users which often does not benefit the rest of the community. Most of these conversations could take place in the chat room.

Some general thoughts:

  • Comments could be categorized by the commenter, similar to close votes. This would help new users understand what kinds of comments are welcome. Honey-pot categories could be created which prevent the user from posting and point them toward the correct forum (such as the chat room). (Different categories of comments could be treated differently. For example, a request for the OP could be automatically removed or hidden when the question is edited.)

  • Users could vote (up and down) on the quality of the comment with the same ordering system as answers. Making comments non-linear may encourage users to move away from chit-chat. The votes don't necessarily need to affect rep - but it'll help good comments to float toward the top.

4
  • 1
    Categorizing comments just seems like an unnecessary extra step, and doesn't really solve the problem; you're not encouraging the correct behaviour (editing the question when providing clarification, for example), just limiting the visual effects of lots of comments. I'd also hate for edits to remove comments asking for clarification, just because a post has been edited that doesn't mean any of the clarification requested has been added. May 15, 2013 at 13:56
  • Categorizing comments would at least encourage the commenter to think about their reasons for commenting. As for deleting comments, I agree that an edit will not necessarily address all the "Request" type comments, but if there's still an issue the originall commentor can comment again.
    – JDB
    May 15, 2013 at 14:01
  • Why should I have to comment again to (re)request clarification, and why would I want to? It's easier to just downvote and/or vote to close and move to another question at that point; I already do this if I've been waiting for clarification from somebody for a while and it's not forthcoming. May 15, 2013 at 14:07
  • That's true. It's just a brainstorm - there were other suggestions too (such as putting requests in a different queue only visible to relevants users, such as OP, so that they don't clutter up the comments for everyone else)
    – JDB
    May 15, 2013 at 14:11
0

Reading all of the answers here, and putting ideas together into a somewhat cohesive suggestion.

First of all, let me start by what I think comments are good for:

  1. Requesting clarification on a specific point. If the answer doesn't make sense, then it makes sense to have a place to talk about it.
  2. A place to post things that shouldn't be an answer, but might be useful still. "suggestion: edit the title to "Eeek! There is an explosion of comments on Stack Overflow!" :P – Doorknob May 15 at 13:13"
  3. Further discussing an idea that might not quite be formed. https://scifi.stackexchange.com/a/2441/98
  4. Helping a member understand things that are important/ not important.
  5. Thanking the poster

The things considered bad:

  1. Often a specific point gets addressed via an edit, but the issue never gets resolved.
  2. Sometimes the comments turn in to an extended discussion.
  3. Certainly anything spam/hate oriented.

So, what can we do to help with the good, and remove the bad? And now, the proposed ideas.

  1. A comment review queue would be helpful as well. The general idea of 10K seems to be a good starting point.
  2. Ability to self-delete comments quicker than 5 seconds.
  3. Ability to reply to a comment. If the original comment is deleted, the entire thread will be deleted.
  4. Limit the number of comments shown to a fixed number, unless more requested. Only show the top view until more requested.
  5. When a comment with the word "Thank" is included (Thanks, Thank you, etc), then post a message saying "Accept/upvote this answer".

Given these changes, there are some cultural changes that will be required.

  1. If replying to a quality of a question, the OP will have to delete the comment, closing an entire thread.
  2. A user can easily delete their own comments, allowing them to police them.
  3. The flagged comments will be spread across the user base, allowing the moderators to have a smidgen of a life.
-2

24th answer: Isn't this somewhat anecdotic? Should we not rely on the community?


Main point: comments are not the core of SO but they are useful.

Proposal: Can't we just give 2/5/10k users additional rights and allow them to delete useless comments?

Example

This comment says that a link does not work (and proposes a different one) but the original link actually does work.

  • Should we wait for five 2/5/10k users to get rid of that comment?
  • Should we wake up a moderator to do it? (hint: no, go back to sleep)
  • Should we just say that it is the 2/5/10k user's word against the commenter's and be done with it?

I would argue that (3) is good enough in 99% of those situations. A diligent user will probably even amend the post to add the second link.

If you have the feeling that it opens the door to abuses for the other 1%, SO can send the original commenter a notification explaining the removal with a link to contest it with the moderators.

Bottom line

Give 2/5/10k (probably 10) users "admin rights" on comments, enabling them to delete them when they add no value.

Corollary

It could be made more effective by communicating with the targeted users (2/5/10) that they have this additional right but that it comes with additional responsibilities, followed by examples of situations where they should / should not use that right.

Safeguard

If you are a bit paranoid about this, you could give moderators access to deleted comments so that they can ascertain that deletions are acceptable and possibly suspend users from deleting if need be.

Just my 2 cts.

-5

Do what we do with downvotes on answers:

Reduce the commenter's reputation by one point for each comment. Refund this point when the comment is deleted.

Note that this does not deter asking questions for clarification, or for pointing out bad answers - at least, no more the extent to which downvotes suffer the same problem, and we all manage to get by with downvotes costing a rep point.

What it does deter, is leaving comments that never, ever get cleaned up. And that's exactly what we should be deterring.

If the poster never incorporates the comments into the answer, then the comment sticks around, and the rep point stays deducted. Which is analagous to what happens with downvotes now: if the answer is deleted, the rep point for downvoters is refunded. If the answer is not deleted, the rep point stays deducted. So again, the objection fails, because the rep-deduction on downvotes doesn't stop that system working; so there's no reason why it should stop comments working effectively, either.

5
  • 1
    Wait, what? You're saying to leave a comment, you must expend a reputation point? So someone with 50 rep comments, and then loses the ability to comment again until they earn more rep? May 15, 2013 at 14:09
  • 4
    So you want to discourage people from asking clarifying questions? This will prevent so many question askers from even knowing what information is missing. Likewise it will discourage people from explaining why a very dangerous answer is wrong, or why a given answer won't work. Even more silent downvotes.
    – Servy
    May 15, 2013 at 14:13
  • 8
    Under your regime, if I downvote a completely wrong answer, and leave a comment to say why (just like I'm doing now), it will cost me the same amount of rep it costs the answerer. That doesn't seem like a good idea.
    – Dan Hulme
    May 15, 2013 at 14:25
  • 3
    What it does deter, is leaving comments that never, ever get cleaned up. And that's exactly what we should be deterring. No, because there are completely appropriate comments to make that legitimately won't be cleaned up. If I'm pointing out a problem in a post that an answerer is willing to fix I can delete my comment, but it's actually rather common for an answerer to refuse to change the post based on a critique in a comment. Take for example both of my comments here. I fully expect that you will never incorporate them into the post, thus they shouldn't ever be deleted.
    – Servy
    May 15, 2013 at 14:33
  • 2
    -0 I'd slightly adjust your suggestion so that you get the rep back if someone else upvotes the comment. Still wouldn't give you a +1 if you made that change though :-(
    – Mark Hurd
    May 17, 2013 at 5:33
-6

I would suggest implementing a voting system similar to the voting system for answers and posts (upvoting or downvoting). The default view for the end user should include the (x) best rated posts for the answer. Skew the score by the reputation of the voters to prevent abuse by bots.

5
  • 2
    This is almost exactly what happens currently... though without the reputation skewing as everyone must have 50 rep to comment, once you hit that you're equal to everyone else, which is as it should be. May 15, 2013 at 13:26
  • This already kind of exists; you can vote up a comment, and if there are a lot of comments the higher voted ones appear in the collapsed view. There's no way to downvote a comment, though, so upvotes on comments that are incorrect or irrelevant can still push it above others. May 15, 2013 at 13:27
  • @benisuǝqbackwards I think Stickman is proposing adding downvotes for comments
    – 410 gone
    May 15, 2013 at 13:27
  • @EnergyNumbers maybe but if so it's really not clear in the post. May 16, 2013 at 13:50
  • Yes. I was suggesting down-votes in addition to up-votes.
    – Stickman
    May 17, 2013 at 11:41
-11

Comments can be constructive when they ask for clarifications of a question or answer. Such clarifications should then be edited into the question or answer. Ideally, that would happen, and then the comment should be flagged as outdated, and can be deleted. That's not happening at the moment, and we're left with a lot of clutter.

So, I propose a sweeper bot that deletes all comments more than a month old. A month is more than enough time to enable a poster to update their post in light of the content of the comments. If it hasn't happened after a month, it's probably never going to happen. Any other content should either be edited into the answer, or provided as an alternate answer.

Meta.SO does have an embedded culture of commenting. So comments are more highly valued here; but that's not necessarily representative of the whole Stack Exchange, nor of Stack Overflow.

There would be a very very small amount of collateral damage. And there would be a huge amount of decluttering, making questions and good answers stand out much more.

4
  • 4
    your first statement is inaccurate. Answers and comments on meta.stackexchange.com/questions/180082/… demonstrate many good uses of comments that are NOT to ask for clarification. I won't repeat them here. May 15, 2013 at 13:18
  • 1
    For what it's worth, I agree with you. But until someone spends a week as a moderator, it's hard to show them the sheer number of problems there are with the "screw it, keep comments around." approach. I kind of wish everyone could be a moderator for a day, just so they'd get an inkling of what we're dealing with. May 15, 2013 at 13:22
  • 4
    Have you read Kate's comment and the comment on that post? It's not that the users here are conservative or commentophiles (obviously not a real word) it's only that some people believe (and can provide examples) where a standard purge would cause harm. This is why George is asking this question, to try to get suggestions that everyone can agree on. May 15, 2013 at 13:29
  • 1
    Undeleting because this is a distinctly different answer from your other answer. If you can though, try to remove any semblances of a rant from the answer. May 15, 2013 at 15:25

Not the answer you're looking for? Browse other questions tagged .