Comments, discussions, and requests for clarification

We’ve agreed that for MVP we want comments to be unobtrusive and threaded. We know that people leave comments for all sorts of reasons ranging from requests for clarification to long discussions. We have had lots of discussion about discussions in the past. This is a proposal for an approach, taking all of that into account.

Presenting comments

A post that has comments would show the first N top-level thread titles (more on that below). Each thread shows stats, something like “12 comments from 3 people”. Each thread has an expand/collapse controller. If there are more threads than those shown, there’s a way to see them too.

The author of the post will get a slightly different view, which I’ll describe below.

Below the list of threads, there is an option to add a comment. (What we’ll call this in the UI is still to be determined.)

Adding a comment

When you click on whatever that “add comment” link ends up saying, you get a dialogue that presents the following options:

  • I have a question for the author (request for clarification or for more information)
  • I have something to add to an existing discussion
  • I want to start a new discussion

Choosing the first expands the “questions for author” thread (creating it if needed) and gives you a comment textbox at the end.

Choosing the second gives you a list of thread titles to choose from. When you select one, it expands that one and gives you a comment textbox at the end.

Choosing the third prompts for a short name, adds it, and adds a comment textbox for what will be the first comment in the thread.

Wait, named threads?

Yeah. The idea here is that discussion threads should be about something. Consider a question on cooking about a cake that uses saffron. Threads might include “gluten-free adjustments” and “where do I find saffron?”. On a worldbuilding question about planets in binary-star systems, threads might include “viability for life” and “gravitational forces” and “star brightness”. On a software-engineering question about git, threads might include “rebase versus merge” and “commit messages”.

I’m not wedded to the idea of naming threads. It’s something I’d like to explore. If it doesn’t work, then the first comment becomes the de facto name of the thread and it behaves like pretty much every threaded-comments system you’ve ever seen – discussions might meander and you’ll have to read it to find out. The title idea is an attempt to provide better guidance for readers and a bit of a hint to commenters – if things have veered wildly from the title, maybe it’s time to start a new thread.

Replying to comments

What I’ve said so far is about the “add a new comment” path that starts from the link on the post. Within a thread, comments would also have a reply affordance, so instead of going to the bottom, finding the link, choosing the thread again, and only then adding your comment, you could instead click “reply”, get your textbox in its proper position, and go. TBD: notifications. (Just the person you’re replying to? The person who created the thread? The post author? No one?)

Exception: in the “questions for author” thread, you can only reply (only get the reply affordance) if either (a) you are the author (more on this below) or (b) you are replying to a comment made by the author.

For the author

Most discussions are discussions and might not even really involve the author (like those two people who are 17 comments into something on a tangential point). One of the reasons long comment threads on SE get pruned is that they bury the stuff that is “what comments are actually for”, meaning things the author can or should act on. The “questions for author” thread is an attempt to make that better. If you just want to talk about rebase do it over there, but if you want to ask the author what happened when trying that merge, do it as a question for the author.

When the author views a post, the “questions for author” thread starts out expanded.

When the author begins to reply to a comment in the “questions for author” thread, there is some sort of prompt to edit instead, but it doesn’t prevent leaving a comment. (Sometimes a request for clarification requires clarification, after all.) There should be some way to turn off the “edit instead” prompt. Maybe it’s only shown to inexperienced users. TBD.

The author can mark comments in the “questions for author” thread as handled, which produces some presentation change to be determined. (Eventually we probably want to get them out of the way, which then means we need a way to view them, which requires design. Without going down that path we could just add a checkmark or something.)

Do threads have threads?

One of the problems with threaded comments is that when each reply is indented and there’s lots of back-and-forth, the results can be hard to read – you get a very narrow comment way over on the right because of all the indentation, and things get hard to read. We’ve been saying “threaded comments” all along, but is that what we mean by threads? Or is it sufficient to have the top-level threads as I’ve described here, within each thread present a flat list (like SE comments or any chat system), and provide some way to highlight those subthreads on hover? (On this last, see how TopAnswers does it, and I believe there are userscripts that do this with SE chat.)

Extended discussions (not MVP)

There comes a point where long discussions become circular, heated, or extremely tangential, to the point where it would be better to stop or take it elsewhere. Communities should set their own guidelines about this; communities vary in their tolerance for discussions. The system should provide some gentle prompts, like the software for this forum does, when somebody has “a lot of” or “frequent” comments. There might even be a maximum length or depth of a thread. All these thresholds would be configurable per-community.

3 Likes

I support this proposal. However here are some things I’d change/do:

Supporting only one level of threading

You asked, whether multiple levels of threading are neccessary. I think, they aren’t. It adds technical complexity and becomes harder to read IMO.

Hence I’d suggest to have some “top-level comment” with a title (or name or whatever) and have “reply comments” on them. Users might be able to “continue a conversation in a new thread” if a discussion beccomes off-topic.

This leads to a few problems with the currently suggested approach on “requests for clarifications” though, that’s why I suggest …

Having multiple author-threads; adding a checkbox whether to ping the author

There can be two types of comment threads: “normal threads” (default) and “author threads”. You are provided with the option to give a thread author-status, when you create a new top-level thread. Authors are informed (inbox notification) about every reply in these author threads. They are somehow highlighted (e.g. a background color, or an icon and the label “author thread”) and shown below the post for the author. These threads cannot be created on wiki posts. They can be marked as “resolved”, which prevents further replies and hides them, unless explicitely wanted.

Having thread moderation/administration

We’ll need some ways for moderators and power users to moderate threads (besides flagging rude/unfriendly/spammy comments). This includes:

  • Closing/Locking a thread to prevent further replies only in this thread. There should also be the option to do this temporarily.
  • Renaming a thread.
  • Moving posts between threads/to a new thread, including the option of Merging threads.
  • Preventing someone from posting in any thread on one post (for example on heated posts, where a user has repeatedly made statements violating the community rules)

Not everything of this will need to be in MVP, though.

1 Like

I’ve wanted all those features at times on Stack Exchange, but it’s a lot to maintain, a lot for newcomers to absorb, and I think we’re going to need to think about how comment moderation will work in so elaborate a structure.

Presumably we want the ability to raise flags on individual comments, but do we want to support moderation actions on threads as well as individual comments? (Not necessarily for MVP, of course; just thinking about eventualities.)

3 Likes

If possible, I’d like to see an example of a simple post and multiple comment threads under it to get an idea of what sort of thread separation one can expect and what the appropriate etiquette would be to pick in which thread to post a comment.

From this post it sounds like these comments (unlike ones on SE) are meant to stay, and not be temporary. On this note, I think it would make sense to somehow mark a thread as “solved” or “fixed” if it’s basically a suggested edit and someone edited the post, and now this thread can be omitted, but for whatever reason should be kept for posterity (like Wiki discussion/talk page threads).

A few comments on comments:

  • Single level of threading. If you need multi-level threading, put that in a real chat system. One level is plenty, and gets us way beyond “SE equivalent”.
  • Notifications? I suggest pinging:
    • Thread Author
    • Post Author
    • If Post is an Answer, Question Author
    • Immediate previous person in the thread, if not already being pinged
      For those who say “too many pings”, I don’t think so. The pings can be limited in other ways, especially when emailed, to limit the annoyance factor, plus give members a way to adjust their level of getting pinged.
  • “Thank you”. This is a policy issue rather than a technical issue. I actually had one of these today on a several month old post

Basically, I wrote an answer. It was Accepted. Months later the OP wants to tell me “Thank you, it worked”. They admit they don’t know how to do that, and in fact, in SE there is no “right” way to do that! You can, and should, and OP already did, mark as accepted. A “thank you” comment is somehow considered “bad”, “clutter”, “useless”, etc. I don’t want to have a system that disregards common courtesy in that way.

3 Likes

Yea, it sucks that you can’t give or receive thanks in comment form on SE. But I have no ideas on how to make it good in a way that doesn’t start annoying the readers at some point :s

My general impression is that this is too complicated, at least for MVP. A complicated comment mechanism is actually bad because it gives the impression that lots of comments is acceptable and even encouraged. At the very least, there must be ways to disable these multiple levels of comments per site. One of the problems with SE is that comments were over-used and added a lot of clutter. If some sites want that, OK, but we must have site options that limit comments to very basic purposes. That’s all that’s needed for MVP. Then the options to turn off all the fancy stuff don’t need to be there at the start.

I got a bit confused reading the description, but it seems that the type of comment you write would be automatic from where you clicked to start the comment. If you click on the “add comment” link on the main post, then it’s a comment to the author. If you click on “reply” at the end of any other comment, then it’s automatically a reply to that comment.

Starting a whole separate “topic” in comments that aren’t directly about the post seems like a recipe for lots of drivel and clutter. But, if that really needs to be implemented, then it would be an option when clicking on “add comment” at the end of the post.

This legitimizes something that shouldn’t be happening in the first place. If we want this feature some time in the future (I really don’t see the need for this to be MVP), then it absolutely must have an off switch per site. This sounds more like a chat “category” (not sure I’m using that term correctly), than stuff you want mixed in with regular posts.

This is a good idea, and gets around one of the main problems with SE comments. This needs to be worded carefully to make it clear that leaving another comment is the exception, and should only be done under the right conditions.

3 Likes

This is a lot of complexity for MVP, and I assume it was “agreed” that “we” wanted threaded comments in Discord, not here.

I don’t think threaded comments are needed, especially not for MVP, though if you do make them, no more than 2 levels (like on Facebook).

Named comment threads sounds like a misuse. If you need that much space for commenting it would be better to start a linked discussion in the discussion category. It would be nice for such comments to be shown in a helpful place, perhaps like on Area 51 rather than the sidebar.

1 Like

Absolutely. One of the hassles for mods on SE is that we can deal with comments one at a time or all of them as a batch; the first can be tedious and the second too coarse. With threaded comments, it makes sense to be able to lock or delete a thread. I don’t know how much comment maintenance we want to force on mods; if mods can move comments or threads people will expect them to, and that’s getting pretty far from the core function. But it would occasionally be useful to be able to move them, too, so this will require (post-MVP) thought.

Some communities are more attached to their comments than others, so I’m trying to accommodate without dictating. The idea of “archived” comments – available if you want to see the history but not in the way otherwise – is something I’ve wanted on SE at times. Sometimes comments get archived in chat (and the room might or might not then get deleted), but that’s suboptimal too.

This is what I would like, too. Multi-level threading gets messy and hard to follow.

Agreed. In my scheme, that comment would go in the “for the author” thread and the author would get pinged. There might be other ways too. People have talked about “reactions” for this sort of thing. What we don’t want to do is have comments that are effectively DMs to the author – shown to the author but hidden from everyone else. That creates an avenue for abuse.

Could be, yes. I do think it took more work to explain it here than it would take to convey to users seeing it live on the site, but it does require users to pay more attention to how comments are “sorting” and that might be unrealistic. Perhaps we just need the idea of “for the author” and “other”.

How do we prevent 27 top-level comments, 23 of which should have been replies to other comments (i.e. in threads) instead?

I was talking there about clicking on the generic “add comment” (or whatever) link that appears at the end of the visible comments. I also propose a direct “reply” control on each comment, and using it would automatically put your comment in the right place.

It was also part of the discussion of functional requirements, so there are forum posts somewhere. I don’t recall exactly where, sorry.

A linked discussion or something like the Wikipedia talk page could work. I don’t know what you’re referring to on Area 51 (been too long); could you elaborate or link to an example?

2 Likes

So SE shows linked Q&As in the sidebar (but not linked from Meta). But on Area 51 it shows them where the comments would be on a Q&A page. I’m suggesting something like this for discussions, so they’re easier to see than in the sidebar, but also it won’t turn into a mess of comments. Comments could also be shown below the question, perhaps if there was no option for threading, for things that are really meant to be transient (ex, you have a typo).

Screenshot from Area 51

I’m all for threaded collapse/expand comments even in MVP, it’s one of the things SE is desperately missing. These will be particularly valuable for whatever “meta” ends up being. And as we eventually migrate from these forums to various on-site metas, threaded comments will be an asset when discussing the site design itself. Clearer discussions may give a better end product. Just look at the present forums, discussion is kind of all over the place :slight_smile: Or was, until someone wisely designed named categories.

I would also imagine that threaded comments make moderating a whole lot easier. When two people derail in some off-topic discussion, you can just nuke their whole conversation with one click instead of going through comment by comment.

As for naming comment threads… I’m not sure. It will lead to clearer discussion, but it may also lead to comments taking too much room and becoming content: “Go to this question about saffron cake and see the great discussion about where to find saffron there”. And then we likely end up with the need to turn comment threads into stand-alone questions… not sure we want to go there.

2 Likes

On the nesting level, I think there should be a distinction between what nesting is shown on the page (here it might be true that one level of nesting is enough) and what is recorded by the software (where I think for each comment, the parent comment should be stored, not only the starting comment of the comment thread).

I think with precise storing of the comment tree we get several advantages:

  • We can auto-delete replies to a comment when the comment is deleted, or at least notify responders about that comment disappearing.

    For example, consider the following scenario: Someone adds a comment “this is an error in your post, please fix it.” Then the author comes along, fixes it, and replies to the comment: “Thank you, fixed it.” Now the original commenter comes along, sees the issue fixed, and deletes the comment. Now there’s a “Thank you, fixed it” without context hanging around, and since you don’t get notified about others deleting the comments, this may hang around a long time unnoticed.

    A similar situation can happen when the answer comment is “no, that’s not wrong because (explanation)” and the original commenter sees that the original comment was in error and therefore deletes it.

    With precise comment threading, even if only internal, the comment could be auto-deleted when the parent comment gets deleted, or alternatively there would be a notification to the author that the parent comment was deleted, allowing them the chance to delete the reply as well. In both cases, the risk of “dangling comments” would be greatly reduced.

  • I still like the idea that if an edit resolves a comment, then the comment and all replies are moved from the post to the change in the edit history. Now this would probably not be MVP, but if the exact hierarchy is not implemented internally, implementing this would need a major change.

BTW, I would prefer truly nested comments in the UI; the visual problem of overly large nesting only appears on overly long discussions in the comments; indeed, such nesting could be a big incentive to avoid such overly long comment discussions in the first place.

Now given the implementation complexity, such arbitrary nesting at the UI level probably should not be MVP. But I would not want the initial design to exclude them from ever being implemented.

3 Likes

That’s one use case I definitely have in mind, yes. It should be possible to moderate a thread and not just individual comments.

Definitely. I’m sorry for not being clear. I was describing only the UI. In fact, I imagine a future improvement where you could hover over a comment and everything in that reply chain would light up somehow, which is helpful when a thread forks but we aren’t showing the full indentation out to 17 levels. In order to do that, we need to always record a comment’s parent even if we don’t visually distinguish it.

Or maybe mark it (and thus all replies) “resolved” and hide without deleting, so that if somebody abuses it, people can audit. (This depends on how much we actually care about deleted comments…) I agree that the “let’s delete this comment exchange” dance on SE is tedious (or disruptive, when someone instead just deletes half of the conversation).

That’s fair. We shouldn’t do anything now that precludes changing this presentation aspect later.

5 Likes