element-hq / roadmap

Element public roadmap
78 stars 5 forks source link

Threads #8

Open nadonomy opened 3 years ago

nadonomy commented 3 years ago

Summary It's difficult to follow conversations in medium-high traffic rooms when multiple subjects are being conversed over at the same time. Message threading is a proven, expected solution to help solve this.

Intended outcome Implement message threading. Consider using message threading as a moderation tool.

DougInAMug commented 2 years ago

I've been following #2349 for a while now, and very excited to see a proof-of-concept via Labs in develop.element.io :tada: Any way for me to help with user testing?

sandstrom commented 2 years ago

The threads development is great!

However, one concern is that it doesn't seem to be possible to make a room "thread only". If one looks across the marketplace of chatt apps (open source and closed source) there are basically two thread models available:

  1. Slack-style threads; all rooms contains messages, but the message may contain sub-messages (threads)
  2. Zulip / Twist style threads; all rooms contain only threads/topics, and within each thread/topic there are messages

While this may seem like a small difference, I'd say that it's a major difference between the two. Both have merits, and it would be good if both were supported (configurable per room).

My main concern here is that Matrix seems to be planning/designing only for one of the models (1). I think that's a mistake.

Having the ability to force a room to be "thread only", i.e. all the top-level items in the room is only threads, is quite useful.

In the design discussion on threads, many people have requested it (and those comments have many upvotes):

Just wanted to chime in with this before it's too late, because I want Matrix/Vector to grow, and I think you are missing an opportunity here. 😄

If you want to dig in more, just download Twist (or checkout their website, https://twist.com) and see how they've designed threads as a first-class citizen.

heyakyra commented 2 years ago

Absolutely agree, a setting to toggle thread-first mode for rooms would be killer. Slack-style threads encourages a proliferation of diverging discussions that becomes really unwieldy. This comment by @ara4n is mysterious but potentially encouraging:

The current 'replies' feature is useful, but not as comprehensive as the style we want to go for, eventually (which is nothing like Slack or Mattermost for the record, but our own thing).

https://github.com/vector-im/element-web/issues/2349#issuecomment-420468618

eternaltyro commented 2 years ago

I have used topicbox to follow Thunderbird dev related conversations, and after having used the interface for several hours I agree that thread-first rooms are very useful in many contexts.

I really like the suggestion to "force a room to be thread-only" and endorse this feature request and I think this needs to be a high-priority UX improvement initiative.

heyakyra commented 2 years ago

Looks like the next phase of threads will be handled by vector-im/element-meta#334 + vector-im/element-meta#271 (according to https://github.com/vector-im/element-web/issues/21990#issuecomment-1113010993 )

MichaelAkvo commented 2 years ago

Is there a consideration for multi-level threads? Right now they only go one level deep, but if it's possible to go deeper (reddit/hackernews/slashdotorg style), will that be done?

erlend-sh commented 2 years ago

What I need most from threads is the ability to create a thread from existing posts, I.e. by selecting a group of posts and say ‘this is a thread now’. This is a very necessary moderator tool for doing progressive content gardening, as many people will fail to enter their content into the correct bucket when first posting.

Forcing all-threads doesn’t solve for this, as many channels benefit from being free-for-all with no imposed structure, which in turn allows threaded conversations to naturally emerge.

I believe the solution to this is in https://github.com/matrix-org/matrix-spec-proposals/pull/2326