[HN Gopher] Introducing Threads in Beta
       ___________________________________________________________________
        
       Introducing Threads in Beta
        
       Author : unicornporn
       Score  : 166 points
       Date   : 2022-04-23 07:53 UTC (15 hours ago)
        
 (HTM) web link (element.io)
 (TXT) w3m dump (element.io)
        
       | brunoqc wrote:
       | Are there still plans for Zulip-style threads?
       | https://github.com/matrix-org/matrix-spec-proposals/pull/232...
        
         | Arathorn wrote:
         | Yes. The plan is for Matrix to support both arbitrarily deep
         | threading (like https://matrix.org/blog/2020/12/18/introducing-
         | cerulean does) - as well as Slack/Discord style threading. They
         | have very different semantics; we added Slack style threading
         | to Element first for familiarity and bridging with Slack, but I
         | can't wait for fully branchy threads to be in production too
         | for bridging to Zulip (or HN ;P)
        
           | ashton314 wrote:
           | +1 for a HN bridge
        
           | [deleted]
        
       | alanfranz wrote:
       | I think threading in chat apps is a terrible idea. It's a way to
       | merge email and chat, but chat apps like Slack aren't really
       | suited for such replacement imho.
       | 
       | Why threading if there's not much noise? And if the noise is too
       | much, maybe a public chat is not the best idea.
       | 
       | on Slack, navigating a channel between "main" messages and thread
       | messages is a nightmare, and since "main" messages are not just a
       | subject, you spend a lot of time just reading the message.
       | 
       | We need something to improve email experience (where you need
       | forwards, setting up mailing lists is slow, can't delete/edit,
       | etc) without resorting to a chat app for everything. A better
       | forum-like/nntp, not a better irc.
        
         | viccuad wrote:
         | The underlying issue to me is the different velocity of
         | different conversations between the same people in a room.
         | Conversation 1 can be fast, with short messages and informal,
         | Conversation 2 can be slow, with long technical messages or
         | attached files. And all in between.
         | 
         | Sometimes one type of convo transforms into another. And the
         | tool should reframe it so: either by providing a schism for a
         | new thread, changing the topic of the thread, or so.
         | 
         | This is something that tools with N-level threads, where each
         | message creates a new thread (technical email discussions with
         | top posting) do very well. I wish that each message would
         | create a new thread. And that the UX allowed to me pivot from
         | short and informal to long and thought out messages easily.
         | 
         | From an informal conversation of the daily, to starting a
         | thread from a message, where we discuss a technical
         | implementation in a long comment. And then back to someone
         | opening an informal thread starting from a phrase of that long
         | comment (ala document reviews).
        
           | imtringued wrote:
           | Wow, these chat apps are just badly reinventing ticket
           | queues/forums but with a focus on real time communication.
        
             | alanfranz wrote:
             | That's my point.
        
           | alanfranz wrote:
           | I find slack terrible for long technical conversations. The
           | ui is too slow, the windows are too small, they're hard to
           | search.
        
         | matklad wrote:
         | I would say it depends on the implementation. Slack is pretty
         | horrible, but Zulip is the best thing ever.
        
           | feanaro wrote:
           | They're not even the same thing. The only real similarity is
           | that they share a name.
           | 
           | Slack threads are a tangent to a point, an aside to something
           | said in the main timeline. Zulip threads are like forum
           | threads, a discussion of some particular topic.
        
         | kadoban wrote:
         | I don't really see the issue with it. In Slack, we have a
         | channel for our team. In that channel we have conversations,
         | often more than one at a time, spread out over minutes to days.
         | Why shouldn't each conversation have its own separate thread?
         | 
         | The only real problem(s) I have with threads in Slack are:
         | 
         | 1. some people suck at remembering to reply in thread. This
         | isn't too serious though, once there's more than 2 messages in
         | the thread most people catch on
         | 
         | 2. Slack kind of sucks at notifying you about threads. You
         | mostly have to know to look in the "Threads" thing on the side
         | and not rely on notifications.
         | 
         | Neither of those are that serious or even that intrinsic to
         | threads in chat apps in general.
        
           | m3adow wrote:
           | I totally agree here. At the beginning I disliked Slack
           | threads. But apart from the notification issue, I think the
           | advantages of having a more focussed discussion where
           | everything can be found in one place outweighs the
           | disadvantages.
        
             | dexterdog wrote:
             | Finding is the problem. Searching for stuff in slack is
             | maddening.
        
             | mikepurvis wrote:
             | Yup, I'm enough of a fan that I wish there was a UI option
             | to steer people away from making new top level posts, like
             | a kind of "tick this box to confirm your post is a new
             | subject and not a reply to an existing subject." And maybe
             | better tools for channel moderators to move accidental top
             | level posts into being replies instead.
        
           | blauditore wrote:
           | Also, Slack's thread UI is terrible. If you click on a thread
           | inside the main chat, you get this side bar, but only one
           | thread at a time, and no way to get the same from anywhere
           | else (e.g. from the threads notification/overview page).
        
           | alanfranz wrote:
           | Why would you use a chat app for conversations spreading over
           | days?
        
             | replygirl wrote:
             | why would you knowingly fragment information when you have
             | the option not to?
        
             | kadoban wrote:
             | Why not?
        
         | godelski wrote:
         | Threading makes channels far less noisy for me. Especially the
         | larger the channel is. When is just a few people I don't need
         | threads. But >3 they are great and help organize. The greatest
         | thing about them is also that you don't have to use them!
         | 
         | Slack itself has a large amount of issues beyond this.
         | Notifications (ringing my phone hours after I answered a
         | message or not notifying me at all). Not dropping you into
         | threads for notifications and many other things.
        
         | stavros wrote:
         | Don't conflate a bad implementation with a bad idea. Slack's
         | threads suck, Zulip's threads are amazing and I wouldn't have
         | it any other way.
        
         | smcleod wrote:
         | Threads are an absolute must to keep the noise down and
         | conversation relevant - at least in working environments when
         | using apps like Slack.
         | 
         | Not everyone has strict communication protocols or enjoys
         | communicating succinctly, it's easier just to have one rule -
         | start your convos as a thread.
        
       | dmitriid wrote:
       | None of these "innovative chats" that already use a browser to
       | display them can even come up with the idea of _tabs_.
       | 
       | Nope, they all insist on keeping everything inside a single
       | window. So even if you have thread "for better communication with
       | no noise", it still gets lost in all other threads, and they come
       | up with workarounds like a dedicated page for threads etc.
       | 
       | Just give me tabs, damnit.
        
         | jeroenhd wrote:
         | I don't think your desire for tabbed windows is shared among
         | the general public, to be honest; we've seen a trend away from
         | early 2000s separate windows to full screen "experiences" and
         | the general public doesn't seem to mind. This could be because
         | all native applications have been simplified down to laggy web
         | UIs designed for toddlers, but even in the typical nerd spaces
         | the old stack of hierarchies has disappeared.
         | 
         | For what it's worth, Thunderbird is getting Matrix support and
         | with its age come some of the old-fashioned design choices that
         | might just end up giving you your tabs.
         | 
         | If all else fails, I'm afraid you're going to need to get
         | enough people together to make your own chat UI. Maybe fork
         | some open source messenger and show the world the advantages
         | you're describing, because I don't think many people get the
         | benefits.
         | 
         | That said, Element is very much not an innovative chat client.
         | The federation protocol is what's innovative, the clients range
         | from what look like modified IRC chats to Discord clones. The
         | only areas where Matrix clients are innovative is where they're
         | not being used to chat, as Matrix isn't exclusively a chat
         | protocol.
        
         | kadoban wrote:
         | Nothing does stop you from having multiple browser tabs open
         | for Element. It is kind of wasteful and awkward though. I agree
         | that this would be useful, though getting to ux nice might be
         | challenging.
        
           | dmitriid wrote:
           | > It is kind of wasteful and awkward though.
           | 
           | It's not. If you have several conversations going on at the
           | same time, what's awkward is having to switch between them in
           | the same window.
        
         | [deleted]
        
         | barnabee wrote:
         | Absolutely. I miss having multiple windows, each with one or
         | more tabs, all respectful of my screen real estate!
         | 
         | With most IRC clients or multi protocol chat programs you could
         | have a couple of important channels always visible on a second
         | monitor, key people you DM a lot in a tabbed window somewhere
         | prominent, active chats open next to your work, and everything
         | else in the main app window, minimised.
         | 
         | Now we have a website (wrapped in an app, if we're lucky) with
         | next to no layout control. It's nothing short of a disastrous
         | step backwards.
         | 
         | I'm convinced the recent resurgence of the terminal is partly
         | due to the complete abandonment of GUI applications for most
         | forms of professional computing.
         | 
         | We desperately need a new framework for applications:
         | 
         | - offline first
         | 
         | - local first
         | 
         | - data first
         | 
         | - standardised types and APIs
         | 
         | - as composable as the terminal
         | 
         | - standard controls across all apps
         | 
         | - standard window and document model
         | 
         | - web views considered harmful
         | 
         | - UX and "customer journey" designers considered worse
         | 
         | We were nearly there, then "web 2.0" happened
        
           | Karrot_Kream wrote:
           | Yeah as kadoban says, Matrix has no such restriction only
           | Element does. You can do exactly what you're talking about
           | above with other clients.
        
           | [deleted]
        
           | kadoban wrote:
           | > Now we have a website (wrapped in an app, if we're lucky)
           | with next to no layout control. It's nothing short of a
           | disastrous step backwards.
           | 
           | This is true of Element, but you can have a Matrix client
           | with any form you like. There already exist several. So it's
           | not the most compelling criticism here IMO, because those who
           | are using Element have chosen it over other options.
        
             | barnabee wrote:
             | This is a fair point.
             | 
             | I still feel that my criticism applies to where the money
             | and development effort seem to be focused, even for Matrix,
             | but I am a big fan of Matrix overall and agree that it does
             | at least have a variety of better clients.
             | 
             | It'd be great to see every Slack replaced with a Matrix
             | server for sure.
        
         | 12baad4db82 wrote:
         | I'm not sure I completely follow, aren't tabs still within the
         | same window? How would tabs solve the 'keeping everything
         | inside a single window' problem?
         | 
         | Is the conversation list on the left side of the window not
         | analogous to tabs? A conversation can be pinned there which
         | would be providing the same experience as keeping a
         | conversation open in a tab.
        
           | dmitriid wrote:
           | You can open threads and windows in separate tabs, and switch
           | between them without losing where they are and having to
           | search for them
        
         | kgeist wrote:
         | We use Rocket Chat and it's even worse than that. The entire
         | channel is marked as "there're new messages" but you have no
         | idea which one of the threads has new messages so you have to
         | look through all of them. Good luck if it's some old thread
         | from weeks ago. Or maybe there's some option in the UI to
         | quickly find it but I'm not aware of such.
        
       | lijogdfljk wrote:
       | How's managed (not self-hosted) Element/Matrix for E2E these
       | days? I want to give it a shot but i regularly use Signal for
       | secure communication (financial stuff/etc), so the E2E impl has
       | to be on-par with Signal. Thoughts?
        
       | godelski wrote:
       | How do you all find element channels. I'm interested in trying
       | matrix but I also haven't really found channels I'm that
       | interested in.
        
         | jeroenhd wrote:
         | Each home server has a room directory. You can rooms in your
         | client (top left in Element, I believe) or you can try browsing
         | this list: https://view.matrix.org/
        
           | stevenicr wrote:
           | I really want to make a matrix servers not listed there
           | list.. but I suppose it would have to be broken up into
           | different pages and hosted in different parts of the world
           | for different issues.
           | 
           | I have an open to the public (adult public) matrix server
           | that will never make it on that list - and federation is
           | turned off so it wouldn't show up in the rooms lists or
           | whatever of any of those also.
        
       | alexalx666 wrote:
       | Threads is the worst feature of Slack, it required 5x mental
       | space to keep track of all hidden conversations, as mentioned
       | before Tabs would've been a much better solution
        
       | olah_1 wrote:
       | There needs to be a way for rooms to communicate to clients which
       | features they support.
       | 
       | I need to be able to make a room without threads (DMs, small
       | group chats, etc). And clients should be able to see which
       | features are enabled in each room and support them appropriately.
       | 
       | That is what a universal protocol would allow for.
        
       | ksala_ wrote:
       | Threads are probably a good idea, but as many people have pointed
       | out I still have to find an app that have a good implementation
       | of them. Most of my experience is with Slack so maybe Twist/Zulip
       | are better at this.
       | 
       | * I hate threads in direct messages. Please, Slack, just give
       | people a nice way to quote messages instead - which in my
       | experience is mostly what people want. Right now it's a mix of
       | copying a message and adding ">", sending a message as a thread
       | with the "also post in the channel" flag or sharing the message
       | and adding your reply there. I've had persons randomly pick one
       | of my messages and then start a thread on top of that in direct
       | messages, loosing context, but I'm not going to blame slack for
       | that (but still, give me a way to disable threads there!)
       | 
       | * They work great in big channels (hundreds or thousands of
       | people - think channels like #rust-interest or similar), but then
       | inevitably someone will reply outside of the thread, triggering
       | other people to comment "reply in the thread" (modern "don't
       | reply to this email!" in a reply all) or react with that damned
       | thread emoji. A channel should have some way to "enforce"
       | conversation by thread - offer tooling to move messages in
       | threads and split threads, and make it slightly harder to
       | accidentally post outside of a thread (maybe a different button,
       | a confirmation message, or enforcing some style in the message.
       | I'm sure nothing will 100% work after seeing people use @here and
       | @channel and completely ignoring all the warnings, but still).
       | 
       | * They are... meh in medium channels (team sized ones, thing 5 to
       | 20 people), mostly because it's a pick and mix of people that
       | want to use them and people that ignore them. This would at least
       | improve if we had tooling to merge and slice threads, so that
       | someone could at least try to enforce a style. But also from my
       | experience it doesn't really matter too much, because not a lot
       | of conversations will be happening there at the same time.
       | 
       | * Thread discoverability sucks, you get notifications but then
       | they're tucked in a single "thread" pane. That should be
       | collapsable and show your recent threads, with individual
       | notifications.
       | 
       | * Using threads sucks too, you can either open one and lose
       | context on everything else, or open one in a small sidebar, where
       | posting more than 3 lines of code will fill it up and it's
       | completely unreadable anyway. Having tabs or opening the thread
       | in-line would be so much better.
       | 
       | /rant
        
         | culi wrote:
         | Zulip has been my personal favorite for the way threads are
         | handled. But that's because it centers them and ends up
         | avoiding everything people hate about the thread/channel hybrid
         | systems
        
       | viccuad wrote:
       | 1-level threads is not enough. You fork a thread for a new topic,
       | and users can keep derailing the topic with tangents inside of
       | that thread.
       | 
       | The traditional chat client expects the convention of users going
       | back to the main room to create a completely separate thread.
       | 
       | There's other ways. Example, technical email discussions
       | (convention: bottom posting, with good mail client with
       | threading). Or reddit/HN. On email, each message automatically
       | creates a new thread, and you can ignore threads that aren't
       | interesting to you. But sadly, the convention is not enforced
       | centrally through the client as everyone has their own. You need
       | a tight culture for it to work.
       | 
       | I wish I had the convention enforced centrally (everyone using
       | chat clients that behave roughly the same), yet have every
       | message create a thread (so tangent to topics can live on their
       | own, or be ignored). Or at minimum, 1-threads with titles (ala
       | Streams (rooms) and Topics(threads) of Zulip), so people stick to
       | the topic.
        
         | XorNot wrote:
         | Maybe rapid ejection for new threads? i.e. single level
         | threading, with a UI that makes it easy to range select a bunch
         | of messages and eject them into their own thread topic?
         | 
         | Of course at some point this becomes a management problem: if
         | no one's taking the lead and given the authority to enforce
         | this, then no one will. Arguably a lot of companies are big
         | enough that technically someone should be employed as a "forum
         | moderator" for online discussion spaces anyway.
        
       | Yaina wrote:
       | This is really cool. I love threads, especially in larger
       | channels!
       | 
       | If there are no threads everyone just has to patiently wait in
       | line, when there is one conversation going on.
        
       | ravenstine wrote:
       | What are people using Element for? I know that Element is a chat
       | app... I actually have it installed. But it's not for work or
       | anything. I thought it could be a cool replacement for Discord.
       | 
       | Nobody seems to be talking about anything on Element. There are
       | plenty of Element rooms (or whatever they're called), but no
       | matter how many of them I check out, they're all dead silent.
       | There can be hundreds or thousands of joined users and I hear
       | crickets. As a platform for socialization, I've found it pretty
       | much useless. Am I doin' it wrong?
        
         | DoItToMe81 wrote:
         | Most people I know who host a Matrix homeserver run it in
         | closed federations or completely unfederated, out of concerns
         | for people joining larger rooms and flooding the poor budget
         | server.
        
         | kvark wrote:
         | Most of the discussions on Rust graphics stack around wgpu
         | (WebGPU implementation) happen on the Matrix protocol. There
         | you can find our official rooms for communication both intra
         | within developers and extra with community. It's been working
         | very well for us, and I'm quite excited to finally have
         | threads.
        
         | panick21_ wrote:
         | Not sure what you are talking about. Those Open-Source projects
         | that use Matrix as a official chat are as active as any other
         | open-source project rooms.
        
         | tjader wrote:
         | I run my own homeserver and bridges for IRC, WhatsApp,
         | Telegram, Google Chat and Discord, so that I can access all my
         | chats in a single place instead of several separate
         | apps/browser tabs.
        
       | sandstrom wrote:
       | What I'd prefer is the Twist-style threads (Zulip may also have
       | them), where every room/channel must contain only topics/threads,
       | and those topics have a title/description, and any messages in
       | them are 1-level (no nested threading).
       | 
       | It looks like this:                   #office [room/channel]
       | * Lunch [thread/topic]              - Anyone wants to grab lunch
       | today? [message]              - Sure, I'll join! [message]
       | - Me too! [message]            * Printer doesn't work
       | [thread/topic]              - Anyone else having trouble with the
       | printer? [message]              - I fixed it an hour ago
       | actually, try again [message]              - Thanks, it works!
       | [message]              - (thread closed)         #marketing
       | [room/channel]            * Website Update 2022 [thread/topic]
       | - (posting images) [message]              - Here is the new
       | draft, let me know what you think! [message]              - Looks
       | good, but there are some spelling mistakes... [message]
       | - Nice work! [message]            - Adwords Campaign
       | [thread/topic]              - Here is a new adwords campaign
       | structure. Let me know what you think! [message]              -
       | How about splitting by geografy and demographics? [message]
       | - ... [message]              - ... [message]              -
       | Alright, new campaign is live, thanks everyone! [message]
       | - (thread closed)
       | 
       | We recently switched from Slack to Twist because they have this
       | structure. Although Twist is worse in probably every dimension
       | except for this, this structure is still so much better that
       | we're overall happy with the move.
       | 
       | I wish Element/Matrix would support this. I suggested this during
       | their RFC process, but unfortunately didn't capture enough
       | attention. Perhaps it'll be added later.
        
         | Arathorn wrote:
         | The hope is to add it later. The first cut is plain Slack-style
         | threads, but we have MSCs for zulip/twist style threads like
         | https://github.com/matrix-org/matrix-spec-proposals/pull/283...
         | which will get built out as soon as we can.
         | 
         | Fun fact: the design for Element's current threading is from a
         | former Twist designer; make of that what you will :)
        
           | culi wrote:
           | Does Element have discord-style replies? This is the biggest
           | feature missing in slack for me. Being able to quickly reply
           | to a particular message that might be 2-3 messages behind
           | goes a really long way in being able to maintain multiple
           | flows of a conversation
        
             | Arathorn wrote:
             | Yes, it does, and has done for about 3-4 years.
        
           | feanaro wrote:
           | I'm not sure an entirely separate mechanism is needed to
           | achieve Zulip-style threading, though? Seems like the current
           | thread design could easily be adapted to support named
           | threads.
           | 
           | Does Zulip support nested threads?
        
         | MrJohz wrote:
         | This is pretty much the classic forum system, isn't it? A bunch
         | of sections (sometimes nested), inside which you can post
         | threads, and reply linearly to those threads.
        
           | nkozyra wrote:
           | Nesting was around pretty early on, but yeah.
           | 
           | I think what all of these platforms are discovering is that
           | we figured out some pretty intuitive patterns early on and
           | are on a constant loop of wanting to do something different
           | before eventually realizing this and reverting.
           | 
           | There's a hybrid wherein you keep references to a branch in a
           | thread but you still display a flat discussion. If you choose
           | to follow the branch you can but otherwise all discussion
           | sits on one level. I like this way more than default nesting,
           | which can be impossible to follow.
        
             | heyoni wrote:
             | Which slack does already.
        
               | culi wrote:
               | This is one of slack's weak-points imo. Discord allows
               | you to reply to a particular message when making a post.
               | In Slack you make a "thread" but then click "also post in
               | channel". This can cause a lot of confusion if all you're
               | trying to do is use it as a reply because most people
               | will start replying to the thread, not realizing you were
               | trying to keep the conversation as part of the regular
               | channel flow
        
         | media-trivial wrote:
         | Google Chat (part of Google Workspace) has this. At work we use
         | Slack though :/ (would like to try Chat instead).
        
           | benhurmarcel wrote:
           | My company uses Google Chat, which indeed has rooms with
           | mandatory threads. You wouldn't believe the number of people
           | who just post their new topics in whatever last existing
           | thread is visible. We've been using it for years now and
           | asking people to create their own thread still happens
           | several times a day. Most people just don't get it.
           | 
           | I guess this is why Google Chat is now pushing thread-less
           | rooms, and is rolling out on-the-fly threads like Slack.
        
         | loloquwowndueo wrote:
         | Why is Twist "worse in probably every dimension"? (Asking
         | honestly, I'd like to know where you find it inferior to slack,
         | which I have used in the past, while I haven't looked at Twist
         | in depth)
        
         | derefr wrote:
         | Does Twist support a "braided" view of threads, i.e. where you
         | can see all messages in all threads in a channel ordered
         | chronologically, with some clear visual indicator of which
         | thread each message is from? (Sort of as if people are talking
         | directly in the channel, but where every message has a threaded
         | "provenance"; and where you can collapse/mute threads you don't
         | care about, causing those messages to no longer show up in the
         | braided view for you.)
         | 
         | This is _kind of_ what you get from Slack 's threads -- _if_
         | everyone always uses the  "also share to channel" option in the
         | thread, _and_ if everyone also make sure to otherwise never
         | post directly to the channel. Which is impossible to enforce,
         | of course.
         | 
         | I feel like, _without_ such a braided view, it 'd be very hard
         | to follow several threads at once, if you were e.g. helping
         | multiple people in a "support" channel, with each conversation
         | being a thread. Once you navigated into a thread, you wouldn't
         | be able to see activity in sibling threads until you navigated
         | out. You'd know that _something_ happened, but you wouldn 't be
         | able to glance at the content to tell if it's more urgent than
         | your current conversation. (You could rely on app toast
         | notifications, but you might miss these if you glance away for
         | a moment.)
        
         | replygirl wrote:
         | you can enforce this in slack with a toggle
        
           | NeckBeardPrince wrote:
           | That's not available on all plans.
        
             | replygirl wrote:
             | ok, here's a free app that replicates it
             | https://slack.com/apps/A022BL4HJLD-onlythreads
        
           | jdright wrote:
           | Care to explain how or point to some documentation please?
        
             | [deleted]
        
       ___________________________________________________________________
       (page generated 2022-04-23 23:01 UTC)