Introducing chat threads!

:thread:

Aaah… threads, the mystical, long-awaited feature, delivering the Promise of Structure unto us.

What are they, what do they do?

Threads are scoped conversations happening parallel to the main chat channel.

By replying to a message…

…you will automagically start a new thread.

Threads show up in a number of ways to help you and others dive deeper together.

A thread indicator in the channel helps you see what’s going on in there

All replies are neatly tucked away in a dedicated thread panel, showing a shiny new thread indicator instead. The participants, a reply count, and the last reply are shown, giving you a sneak peak of what’s going on, to help you decide whether you want to dive into that topic.

Chat on the side while keeping an eye on the channel

Jump into a thread and do everything you normally do, whilst also keeping an eye on what’s going on in the main chat. See the main chat thread indicator live update with the newest info.

Reply to a thread or manually track it to see unread reply indicators:

See all threads you’re participating in

The thread index provides a convenient way to see all the threads you’ve participated in. Came up with new arguments for that discussion you had last week? Now you can jump right back in! You can access it at the top-right of the channel, where you will see an indicator of the total number of unread threads.

In the thread list you will see an indicator of how many unread replies to each thread there has been since your last visit, as well as the last reply timestamp:

What can threads do for you?

Have you ever felt like you can’t follow along with the 4 different conversations happening simultaneously in a buzzing chat channel, and just wished your hardest there was a way to bring some order to the chaos?

This is exactly what threads can help with.

It’s like having mini-chat parties within the main chat party! You can jump into different threads like a trampoline park, bouncing from one topic to another. Whee! :tada:

Threads bring you:

  • :microscope: Organisation - Have break-out conversations about a dedicated topic, keeping the discussion focused and contained
  • :bullettrain_side: Contextualisation - Get up to speed immediately, without having to puzzle all the related messages together in the main stream
  • :sparkles: Decluttering - Declutter your channel Marie-Kondo style; this one sparks joy.

How to get your hands on them?

Site administrators can enable the threads either when the channel is created:

Or for existing channels via the channel settings:

Spin us a yarn of your thoughts

There are more ideas brewing behind the scenes, but these are the basics for now! Some ideas include:

  • Improved thread discovery across channels
  • Moving messages between the channels and threads
  • Tighter integration with forum topics
  • Broadcast messages to the channel
  • And much more :rocket:

:heart: Do you like it? We would love to hear it!

:brain: Do you have questions :question:, ideas :bulb:, or feedback :speech_balloon: ? Drop them below

54 Likes

This is possibly the greatest description of threaded chat I’ve ever read. :smiley: Nice one, @chapoi.

Thanks to you and the team for implementing this. We’ll give it a spin in our community this week and will share feedback. :+1:t2:

16 Likes

Idea: Ability to bulk dismiss new threads

Upon enabling threads on our main chat channel, we immediately spiked to 99+ open threads, and I found that you can only dismiss them by reading them. A bulk dismiss button like we have for notifications would be nice.

11 Likes

Another idea: Make threads disappear after a set amount of time (1 day, 3 days, 1 week) after the last reply or custom option to avoid clutter:

Why? This can easily create a mess of threads in the chat channel. So, auto removing them after last reply and a period of time would help clean the chat.

Like seriously what is this mess?


Also, this new feature reminds me of a feature that is implemented in Discord:
IMG_1994

8 Likes

Valid feedback.

I do think things will improve when people get the concept of threads, as opposed to what’s been created now, which is all replies turning into threads without people at the time of making them thinking about threads. So in those cases, replies would be the Wild West. I’m curious to hear what you will think in a week, when people mindfully use threads, if the experience of clutter will still be the same.

Let us know?

10 Likes

It seems like threads make it harder to revive or reference older discussions in many cases.
Additionally, they make Discourse chat much harder to use on mobile devices.

7 Likes

Idea: Keep existing replies as replies, and only move new ones to threads.

This could help with some existing replies becoming chaotic threads when enabled, while still providing the benefits of threads going forward.

6 Likes

We hear you, this was an oversight on my part. I think maybe when you enable threads for a channel, we just need to automatically go back and mark the old threads as read.

We actually already have a Shift+Escape shortcut to mark all channels read – maybe we can also do a similar shortcut on the threads list to mark all threads as read.

Sorry but this is not possible, the replies have been making threads in the background for months now as part of this transition and to make it easier to switch between threads enabled/threads disabled in a channel. However when we fix the issue with old threads being unread when you turn it on for a channel this should not be an issue.

This is a good idea and we have discussed something like this already; I agree that generally it’s not too useful to see threads from months ago. Keep in mind this is V1 and we will be doing more improvements over the coming months.

Also the thread list will be improved very soon to have more detail.

9 Likes

Exciting, could pair well with Matrix support in the future of chat.

6 Likes

Huh, didn’t know that!

On that note, is that keyboard shortcut accessible through any mobile UIs?

7 Likes

I just merged a fix for this. When you enable threads for a channel, we enqueue a job to go mark all the existing threads in the background as read:

Once this fix is deployed on your site, if you already enabled threads for a channel, just disable it and enable it again and the issue will be fixed.

11 Likes

Imagine someone sends a message. That message attracts comments, which are stored in a thread. Now, what if I want to reply specifically to one of the comments in a thread? My reply won’t make much sense if people don’t see that I’m replying specifically to that comment. Have you thought about these scenarios? Any plans to introduce replies within threads (not that they span new threads, but just have a visual indicator that this is in response to a message above)?

6 Likes

We did consider it but decided to aim for simplicity first by not carrying both concepts simultaneously.
From what we’ve observed so far, while there are cases where it might be helpful, they are somewhat rare and people do discover that @'ing to disambiguate works pretty well in these situations.

Another idea that has come up a few times is to support quote-reply within chat. We’ve opted not to do that yet for similar reasons, but it’s something I occasionally wish existed (and I do reach for > to work around this, but my experience is that few people bother, so I think providing a greater affordance for quote reply would be necessary if it were a behavior we wished to encourage).

9 Likes

This is a great opportunity to fix what has been a massive problem for chat groups in every single platform I have been so far. Regardless if a given thread of conversation haves useful information or not, the generalization of the problem would be: how to prevent sub-groups of people within a bigger group to saturate everyone else with comments only that sub-group is interested in (assuming the common scenario of sporadic subjects or ramblings that do not deserve their own channel). One first way to do it would be to obligate every comment in a chat to define if it’s a general comment or an answer to another comment, which is what reddit does (you can not not specify what are you answering to). But in a big group, reddit quickly becomes a spaghetti, unfollowable conversation, so the middle ground would be to allow only one level threading combined with the plain “reply to” method like in whatsapp. Having a pile of threads makes the chat difficult to follow and read, so instead of hiding the conversation within each thread, the mix of “threads” plus “reply to” dynamic could lead to plain “grouping”: comments could be grouped within a chat depending to what they reply to (not bombarding every user with their notifications if they are not general). So for example:

A - “comment 1”
B - “comment 2”
C - “replies to comment 1”
A - “replies to comment 2”
B - “replies to comment 1”

this will be shown in the chat as:

A - “comment 1”
C - “replies to comment 1” (A is notified of the answer)
B - “replies to comment 1” (A is notified of the answer)
B - “comment 2”
A - “replies to comment 2” (B is notified of the answer)

There could be a visual hint of what comments correspond to a group (though no visual distinction is used for sub-groups within a same group), allowing a user to quickly skip those sporadic groups he is not interested in, and once he is somewhere on the chat, he will not be bothered again by the groups he left behind or the ones that might be below (nor visually nor by notifications).

2 Likes

Some feedback.

I’m enjoying the threads experience. The design and implementation are super clear and clean.

One thing I’m unsure of is when someone replies to one of my threads, or at least, a thread that I’ve been involved in. I kinda feel like I’m missing out on the replies unless I actively look back through them.

I see that when I start a chat that “tracking” is set by default on the thread, yet I’ve never seen a count for new replies in the sidebar when someone replies. Is that where I should expect to see it? Or should I see the count someplace else that I haven’t spotted?

Aha, I’ve just spotted it in the top right on top of the thread icon.

Screenshot 2023-07-11 at 12.08.19

Perhaps it would also be helpful to include that count indicator in the sidebar as that’s my go-to place to see if there’s new stuff, either a new post and now if there’s been a reply via/in a thread.

EDIT: I mostly use chat in full screen mode and not mini mode. Perhaps the “distance” between the thread count and sidebar has something to do with the cognitive disconnect I feel between the two.

7 Likes

Some indicator in the sidebar is coming soon :rocket: It won’t be a count, but you will know some activity is happening in this channel, even if it’s in a thread.

Please keep sending feedback we are actively building this feature and we read all of this.

13 Likes

In our forum, the chat is mostly used for less formal chit-chat with occasional jokes. And that’s actually the use case I was referring to, while @'ing works, it’s somewhat misplaced if you try to joke :smiley:

one could argue that having informal conversations is a good community bonding experience, and it wouldn’t be surprising if enterprise customers (who I presume are the major source of your observations) have somewhat less of a need to have a chit-chat in their discourse instances, but I understand I may be wrong.

Also, our users love threads

8 Likes

We use chat internally, and it’s the goofiest, friendliest place around. :smiley:

5 Likes

I see most of you like having threads in a chat. May I suggest at least to consider this grouping method I mentioned to at least recognize automatically what evidently should be a thread in the chat if it wasn’t defined like that at the beginning? Correct me if this is not your experience, but I see a lot of “that should be a thread” comments simply because it’s mostly impossible to realize when a random conversation is going to need it’s own thread or not. I think that plain grouping will always take care of that without having to worry about it.

3 Likes

Bug report: New threads and possibly answers to threads are invisible in existing chats unless forcibly refreshed. That can (and already does) lead to problems with users.

3 Likes