Closed ajvsol closed 2 years ago
The plan is to do REALLY good threading in Riot. There's a lot of work on this currently on the Matrix spec, backend, and we're starting work on the frontend next week. matrix-org/matrix-spec#411 is the design bug for this (although there's nothing there yet). I'll keep this one around too. Thanks for the overview of what other folks are up to here!
flowdock also implements threaded conversations in a nice and very usable way
Twist from creators of Todoist uses the very interesting concept of threaded channels:
In these channels every message must be in a thread, and it makes conversations much more organised than a continuous stream of messages.
It's the modern version of forum, except you get the benefits of organisation and don't miss out on integrations, mentions, presence, bots etc.
this is not p1.
I believe this should be a p1 issue, almost all other chat platforms have some sort of implementation of threaded messages. Would be happy to assist in the development of this!
I see this as more of a nice-to-have. Slack didn't even have it for a while. I'd say vector-im/element-meta#347 is more important as there's currently no way to reset the message pointer, which most other systems have had for a while.
I definitely see this as a p1, not a nice to have. Constant noise is a major complaint for utilizing chat platforms in business settings, and threading cuts down on that noise by grouping conversations and allowing a user to essentially ignore it. This was a major improvement in Slack, and most people who have used threaded messaging do not want to go backwards.
I'm evaluating Riot.im for use at my work and with a couple of NPOs that I'm involved with, but sadly the answer is a firm NO until 1st class threading (like Flowdock, unlike Slack) is implemented. 1st class threading means each message can be it's own thread, and each reply has all chat features available. Slack screwed this up, you can't add attachments to thread replies etc.
Hi, I just want to say that I am also evaulating Riot for an organization... this feature is critical in making the move to this cool software. I'll certainly be watching for updates. Cheers
Also, adding my experience, that when trying to convince groups to use Riot instead of Slack, threading was sited as the reason to stay with slack. And I can't disagree, noisy topics can be a real pain. But I'd really like to move to an open source option with end to end encryption like Riot
For our organization is also a very important feature. Without it is almost unusable for us.
I've heard a lot of good about threading in Zulip, but it might be hard to implement in Matrix due to the focus on rooms instead of topics
Yes, Zulip is interesting solution for threads in chat, but the problem that topic is obligatory field - this is not hard to implement, but this will got problems for people with free chatting (offtopic chats). Maybe good solution will be do this feature at per-room basis, to require all messages with topic only on specific rooms. But as for me - Slack implementation of threads is more useful for base functional, because we can convert already posted message to thread, missing feature is only group/move several already posted messages to the thread.
I'm surprised that no one has pointed to Microsoft Team's implementation of threaded conversations. It's nothing to write home about, but it's good to have to keep different conversations separate.
Just wanted to point out another competitor that has that implemented.
So far mattermost has this down .
Has there been any movement on this?
someone is working on replies, is it @t3chguy ?
Exciting, almost there! Thanks!
Andrew
On 27 Apr 2018, at 7:09 pm, Michael Telatynski notifications@github.com wrote:
Yup, matrix-org/matrix-react-sdk#1741
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
In my opionion the last missing Riot feature preventing slack users to migrate to Matrix/Riot.
Looking forward, thx to all devs working on this!
Could also use this feature
In my opinion, Twist has the best UX in this domain.
Just one data point: I use weechat with wee-slack to Slack and wee-slack's support works like this: you enter /thread abc
where abc
is a generated thread id that is visible next to existing thread beginnings in the screen. The command makes that thread to appear as a "sub channel" in the channel list (ie. right below the parent channel, in a lower level of hierarchy) and works similarly to all the other channels.
You can close (remove from the list) and re-open them again according to your interests.
This "view thread as a sub channel" in my view is great feature that Slack as well could have, as it enables following even old threads and seeing activity in the interesting ones more easily. I believe many threads in Slack die not because the subject matter has been handled and interest diminished, but rather because it's practically impossible to attend multiple threads with it.
Perhaps the thread feature of Riot could have a similar functionality, in addition to how they are currently being designed. It would probably be a button like "attach to channel list" but with a much more succinct label or icon :-).
Why have two panes? It might be possible to just do reddit / flowchat style:
That's not threading fwiw, thats nested replies. The order of the two green ones is completely circumstantial
edit: (they're ordered based on time and not directly related to each other)
(and doesn't work very well when reversed like for chat)
and as you can even see on that example its unclear what came first between the tiers of replies, you have to read the timestamp. Whereas in threads things happen in a determined order, here its harder to follow
Not really understanding this one. How is threading different from nesting? You're replying to specific messages. The order of nested replies could be bottom=recent, just like the matrix chat window currently is.
How does a 3 or more deep "threaded" reply look?
Threads are not direct replies to their previous, they're like a sub-room based on an initial forking point
In what context? Since when? Threading in email since before I was born is quite like the threading in reddit: http://www.davep.org/mutt/screenshots/index.png
right and it doesn't work very well when you flip the table and look from a leaf as you would in a messenger
So if I'm understanding you right @t3chguy , you're under the impression that "threading" means a max depth of 2, while nesting means unlimited max depth? Email is considered threaded, and it has unlimited max depth.
not explicitly no, Email is considered threaded yes but implementing that style of threading in real-time chat such as riot, slack etc is considered by many not good UX
I mean, I've already coded an example of this working with websockets, here's an example.. Live-updating, threaded messaging. But I'd love for matrix to have this too.
implementing threads in matrix by each event including every event that preceded it would be poor, better design would be a forkable swim-lane style approach imo
FWIW Email is an asynchronous method of communication, while chat is widely regarded to be a synchronous method.
The requirements and workflow of chat are therefore different from email, which this type of "sidebar" threading lends itself to.
Which is not to say that allowing multiple "forks" would be a bad idea. I would love to see a mockup of that.
@dessalines nice example, but typically in a real-time chat application people want to see the latest thing said at the top/bottom of the viewport to see whats being discussed right now, not have to find the trunk of the thread to be able to see what the latest thing was said in it
In the two-pane, max-depth = 2 model though, the most recent messages also are not at the bottom... In fact, you don't even see them until you click the thread, so it makes them far worse than the reddit / email style threading.
The latest messages would be at the bottom of the left pane?
I'm not saying reddit style is bad. It has much higher data density and vastly different priorities.
Any update on when we can expect this functionality to start rolling out?
I think its been implemented... the replies, and comment chains expanding on click are working now.
It's mostly there but there's a few improvements I'd like to see:
1) One-click thread view
This is the current method of opening a thread: It would be useful to have a one-click button that can open all replies in a thread instead of repeatedly click "in reply to".
2) An overview page of all current threads
e.g. Slack's "All Threads" page
3) Room setting: threads-only or threads-optional
Twist and Zulip are good examples of chat apps which force all messages to be in threads. For most large chat rooms this would result in a thread for #general and maybe an #offtopic, plus many more transient ones for side conversations that come up.
The threads-only approach keeps topics much more organised, because if conversation heads in a specific direction the participants is prompted to move their conversation e.g. from the #general thread to their own one.
In a threads-optional paradigm e.g. Slack or Mattermost, I find conversation to be far less organised and moving chats into threads happens less frequently because there's not the same reminder that conversation should stick to being on-topic.
As Riot is looking to be flexible tool for everyone to use, having the option to have a threads-only room would suit users such as myself who prefer it.
Is this implemented as of now?
I also can't find how to use the feature - is there some doc in which version it is available and how to use it @dessalines ?
@p-thurner click the side dots, then reply
Apart from @neomodern's excellent suggestions, it would also be great if the threads could be named (which he touched upon but not mentioned explicitly).
Reply does not exists on Android, btw.
@gerroon it does, it is just hard to find. Tap on the message you want to reply to and you'll see that the placeholder text in the message field changed to "Send a reply"
Extending the Quote functionality to allow for threaded messaging.
This could be a simple 'Quote 2.0'-style like WhatsApp where the quoted text is hyperlinked and when clicked makes you scroll up to their message:
Or the more sophisticated Threaded Messages panel like Mattermost:
Perhaps allowing for both could be done by having the Threaded Messages panel open when you left-click on the 'reply' part of the Quote 2.0 message:
Or by having 'Message Thread' popup as an option in the context menu to allow opening the Threaded Messages panel: