16 ms·
Gitter now speaks Matrix
- tomelliott 6y agoThis is really exciting! Congrats Arathorn and the rest of the Matrix team
- Arathorn 6y agoaww, thanks tom! :D
- the_duke 6y agoThat was impressively quick. Looking forward to Github/Gitlab repository rooms and activity integration. In the acquisition announcement they also mentioned threading though, which is the most important feature Element is missing for me. Without it I'm very hesitant to use it in a professional setting. I do hope that threads will look much more like Zulip rather than Slack (which is a mess), or offer different view modes. Zulips nested channel concept is a game changer. (as I understand it, the protocol already has the required plumbing)
- ducktective 6y agoCan you explain a bit more on "threading" and its relation to a chat service? And why Zulip's implementation is better?
- toyg 6y agoHe’s talking of threads as in “email threads”, not “process threads” - i.e. indentation and grouping of messages and replies.
- SulfurHexaFluri 6y agoIts when IM has a reply feature so you can "reply" to a message sent a little while ago and it quotes the message on the top of yours and usually you can click the message to scroll up to it. Essential for group chats and still useful for DMs.
- benatkin 6y agoA lot of people, including me, dislike threading in Slack. It breaks the algorithm for reading new messages. I use it when teammates do, and acknowledge it's useful sometimes, but I would prefer not to have that feature. Discord also does not have threads. I've heard some complaints about it, but not many. Threads in Zulip seem to change it into a different kind of app. I don't see how the Slack workspaces that I've used heavily would work with it. There are about 15 channels in my sidebar. Making them nested would turn it into 75, assuming 5 threads per channel. Perhaps there wouldn't need to be as many top-level channels with Zulip threads, but it makes it into a whole different paradigm. They are also missing Slack-style threads. I don't think it would be good to adopt it.
- Xylakant 6y agoZulip threads (topics) are fundamentally different from slack threads. TL;DR Slack threads are an after-thought add-on, Zulips topics are a first-class citizen. Slacks threads can branch of at any point from any message in a channel - if you miss the start of the thread message, it disappears unless someone cross-posts to the channel or mentions you. This is by far the biggest problem I have with slack threads. Zulip organizes into streams and topics, streams being roughly equivalent to channels and topics similar to threads. However, unlike slack, every message must live in a topic. Topics that have seen a message lately bubble to the top, topics that don't see activity fall to the bottom. You can still see the full stream in chronological order, but messages are grouped by and visibly marked with the topic they belong to. This makes it much easier to both follow a stream and still mentally follow multiple conversations in the same stream.
- ttsda 6y agoI think threads, used sparingly, are nice. They're good to have semi-private messages, so you can keep the more irrelevant conversation that would normally go to PM public and searchable, while not spamming the channel. They're also good for support channels, to have a thread per support message.
- eXpl0it3r 6y agoI like threads a lot in the way we use it. With 60+ people in one channel, being able to ask a question and get answers in the thread, while not spamming the channel with replies and potentially interweaving multiple question & answer "threads" is really useful.
- Arathorn 6y agoMatrix now has two flavours of threading defined and implemented as we experiment with the different approaches: label-based threading in MSC2326[1] (i.e. "filter this room to only show msgs tagged #foo"), and full-blown free-form HN/Reddit/NNTP/SMTP/Twitter style threading in MSC2836[2]. The former is closer to Zulip, and is implemented in Synapse. The latter is closer to HN, and is implemented in Dendrite[3][4]. Clientwise, Element supports neither so far, but we're experimenting with the HN-style threading in a dedicated playground called Cerulean[5]. The idea is to get it working well there, and then figure out how to merge it most effectively into Element. So: it's not ready yet, but it's getting tantalisingly close. We'll probably start hosting a demo version of Cerulean next week so folks can play along and see how it feels :) [1] https://github.com/matrix-org/matrix-doc/blob/matthew/msc2326/proposals/2326-label-based-filtering.md https://github.com/matrix-org/matrix-doc/blob/matthew/msc232... [2] https://github.com/matrix-org/matrix-doc/blob/kegan/msc/threading/proposals/2836-threading.md https://github.com/matrix-org/matrix-doc/blob/kegan/msc/thre... [3] https://github.com/matrix-org/dendrite/pull/1589 https://github.com/matrix-org/dendrite/pull/1589 [4] https://github.com/matrix-org/dendrite/pull/1596 https://github.com/matrix-org/dendrite/pull/1596 [5] https://github.com/matrix-org/cerulean https://github.com/matrix-org/cerulean
- toomuchtodo 6y agoSo...could I write a gateway that provides functionality for threads to be pulled in from HN/Reddit/NNTP/SMTP/Twitter (MSC2836)? Think Epiverse [1] within Matrix and its clients. [1] https://epiverse.co/ https://epiverse.co/
- rkangel 6y agoI actually think that the MS Teams implementation of threads is the best. The problem with the Slack implementation is that it's not the default. You have to understand it to use it, and you have to have an organisational culture that pushes people to use it. Otherwise you end up only occasional threads, and mostly you're back in in the classic Slack '200 messages since you last visited, only 10 of them are of interest, but you have to read everything to find them' situation. I like the Zulip version, it is automatically threaded but personally I had a slightly silly problem - you had to think of a topic name. It's a bit like the subject line of an email, except that you don't want it to be as long. This increases the friction slightly and you inevitably end up with a lot of messages going in one topic called something like 'general' when people can't think of a suitable topic name. I haven't used Zulip as intensively as the other two though, so maybe that problem goes away (or maybe it gets worse). Teams is a lot like Zulip. Everything is in a thread automatically, but you don't have to name it, you just start a new 'conversation'. It works pretty organically, and it works by default without any 'culture' needed. You can give a thread a title if you want, but you don't have to. A bonus of the structure of Teams is that private messages (as supposed to Team channels) are just are a normal sequence of messages like Slack or anything else, because that's what you want. Teams is a memory hog and sluggish to use, but I do think they got that bit of the user experience right. Like many companies we had enforced, hurried massive increase in usage of Teams in March, and it has worked pretty seamlessly.
- unicornporn 6y agoThreads in Teams? I use it daily and have not noticed that feature. How? In the desktop client I can't even properly quote.
- rkangel 6y agoIn a normal Team channel (i.e. not a chat message) when you press 'New conversation' you type a message and then people reply to that. That is a thread. The fact that you didn't even think of it as one I take an indication how seamless it is.
- StavrosK 6y agoI'll second Zulip, though I think the message view and "zooming in/out" they implemented is just as much of a game changer as the threading model.
- sktrdie 6y agoCan anyone explain what Matrix is and why is this interesting? Feels like we’re reinventing Jabber?
- olah_1 6y agoFAQ response here: https://matrix.org/faq/#what-is-the-difference-between-matrix-and-xmpp%3F https://matrix.org/faq/#what-is-the-difference-between-matri...
- random9763 6y agoIt's totally different because it is a message syncing http+json API and totally not a messaging and presence protocol based on XML. /joke It is interesting because Matrix has money thus full-time developers, marketing, exposure, and time to defend their work to the depth of the deepest reddit thread. (The Element page on F-Droid reads "Element is able to do all this because it operates on Matrix - the standard for open, decentralised communication.", not presumptuous at all)
- Arathorn 6y agoI love that all 3 of the snarky points here are illfounded :D Yes, Matrix is a conversation history syncing protocol, and XMPP is a message-passing protocol. They genuinely are fundamentally different. It's a bit like the difference between SVG and Canvas. Sure, you can use both to draw pretty vector artwork. But one's an object graph, and the other's immediate mode. In terms of Matrix having money: yup, it's true that folks have generously donated to Matrix over the years to keep the project afloat, and more recently Element has funnelled most of its VC funding into supporting Matrix. However, the whole "marketing, exposure and time to defend their work to the depth of the deepest reddit thread" trope is hilarious, given Matrix's marketing department is... me, the project lead? and I'm doing this in my spare time with my FOSS hat on. (technically there's benpa, our dev evangelist too, but he's ended up being hijacked by Element business this year). Finally, "Matrix - the standard for open, decentralised communication" is like saying "Rugby - the game". It's not saying that Matrix is the one and only standard for open, decentralised communication any more than Rugby is the one and only game; it's disambiguating it from "Matrix - the mathematical construct". Meanwhile, comically, xmpp.org declares itself "The universal messaging standard" and "XMPP is the open standard for messaging and presence". ¯\_(ツ)_/¯
- Ericson2314 6y agoGood job! But I think I will loiter in the old bridge and new rooms on the Matrix side until the history is migrated. After that...yay!
- lftherios 6y agodecentralized protocols will win :)
- haolez 6y ago"In the medium/long term, it’s simply not going to be efficient for the combined Element/Gitter team to split our efforts maintaining two high-profile Matrix clients. Our plan is instead to merge Gitter’s features into Element (or next generations of Element) itself and then - if and only if Element has achieved parity with Gitter - we expect to upgrade the deployment on gitter.im to a Gitter-customised version of Element. The inevitable side-effect is that we’ll be adding new features to Element rather than Gitter going forwards." It seems that Gitter will be shelved after a while.
- toyg 6y agoAs long as the actual system still does what Gitter does (i.e. provide a quick way to have project-related chatrooms), I don’t think anyone will care what it’s powered by.
- Arathorn 6y agoTo be 100% clear: we are not going to shelve the Gitter codebase until Element (or other Matrix clients) have total parity with it. And once we do, we'll replace the current Gitter codebase with a Gitter-branded version of Element, and make sure it's configured so all the Gittery stuff works as you'd expect... while also benefiting from all the work we're pouring into Matrix and Element. So, I'd see it more like Gitter sprouting E2EE, VoIP, widgets, reactions, video conferencing, open standard API, etc, rather than "gitter being shelved" :D
- dralley 6y agoPlease consider more than just features when making this decision. Gitter has a very different user experience from Element at the moment. Gitter's default layout is clean, information-dense and distraction-free. There is no "x has left/joined the room" spam, very little unnecessary whitespace, a bare minimum of icons (no "seen by", no miniature avatars in quotes and @callouts), and a more subdued color palette (emphasis is provided primarily by bold font rather than by different colors). That's not to say that Element is bad, because it isn't. But for focused technical discussions, Gitter is much better in my opinion. I've tried the "modern" compact and IRC layouts, but unfortunately they don't really solve these problems. Mostly they are the same amount of distraction packed into a more condensed form.
- sandGorgon 6y agooh this is huge. and right in time for the slack acquisition ! gitter fixes one of the biggest issues with matrix - the product/ux/ui. one thing im not sure of is the conscious decision to deprecate mobile apps and instead recommend mobile web. https://gitlab.com/gitterHQ/webapp/-/issues/2281 https://gitlab.com/gitterHQ/webapp/-/issues/2281 is that a strategic decision ? because this wont be a pleasant experience is potentially a massive blocker for any type of serious usage.
- Arathorn 6y agoWe're not recommending mobile web; rather than replacing the native Gitter mobile apps with the Gitter mobile webapp, we're instead recommending folks move to native Matrix mobile clients like Element (or mobile web Matrix clients like Hydrogen, if they prefer).
- sandGorgon 6y agowell you do https://gitter.im/apps https://gitter.im/apps >The dedicated Android/iOS apps are no longer recommended and may be officially deprecated in the future. For mobile, we recommend using the mobile web version in your browser.Our efforts are focused on the webapp which is the backbone of the mobile/desktop apps but mainly focused on the web experience. There are a number of bugs in these desktop/mobile clients and they spread the Gitter team too thin for us to give them proper attention. The apps are open-source if you want to tackle something particularly annoying to you. (desktop, iOS, Android)
- Arathorn 6y agoThat needs to be updated then!
- deleted 6y ago[deleted]
- susam 6y agoThis is a great addition to Matrix. One of the things I really like about Matrix is how matrix.org has an IRC bridge that bridges all of Freenode. It is good to see Gitter getting bridged into Matrix too. For example, if you want to join Freenode #lisp channel via Matrix, you can do so by joining #freenode_#lisp:matrix.org. Here is a direct Element web client URL to it, in case you want to try it now: https://app.element.io/#/room/#freenode_#lisp:matrix.org https://app.element.io/#/room/#freenode_#lisp:matrix.org . Element (previous known as Riot) web client is a great way to get started with Matrix without having to install anything. You have to create an account of course but after that it is pretty straightforward. The fact that all of Freenode (and now Gitter) is available on it makes it like one big IRC bouncer. Moreover, this is all distributed and decentralized! Here is another safe Matrix room to try out and experiment with: https://app.element.io/#/room/#spxy:matrix.org https://app.element.io/#/room/#spxy:matrix.org . Most of us here are from Hacker News. We talk about computer science and mathematics here. Common Lisp and Emacs are being discussed these days. Say "hi" if you join it! :)
- Liskni_si 6y agoDoes the IRC bridge work reliably for you? I tried experimenting with Matrix today, I could make it to join #freenode_#xmonad:matrix.org but any message I sent didn't go through to the IRC side. When I then joined #irc:matrix.org it seems several other people were reporting this not working lately. To make this experience even less amusing, I then tried to join #xmonad:matrix.org, assuming it's the matrix equivalent of #xmonad on freenode, but it just said I'm not invited and that was it. Can't say I'm impressed. :-(
- susam 6y agoThe IRC bridge has worked reliably for me so far. My messages from Matrix get delivered to Freenode IRC channel without any problems, so far. The settings of #xmonad:matrix.org show that they allow only invited users to access their room. Here is a screenshot of their room settings: https://i.imgur.com/vxap6wY.png https://i.imgur.com/vxap6wY.png . This is a little weird indeed. However, there are other plenty of other rooms that do not require invitation to join.
- doc_gunthrop 6y agoIf anyone on the Gitter/Matrix dev team is reading the post comments, here's a question for those who already use both platforms: If I have an account on Matrix, but I also sign into Gitter with Github credentials, how would I go about merging the two accounts (without loss of data)?
- TehCorwiz 6y agoI don’t mind that being an option, but I would not want that happening automatically.
- Arathorn 6y agoWe don't have account merging yet, as while Matrix can see all of Gitter, we're not exposing the entirety of Matrix into Gitter (mainly because it'd cause the Gitter AWS bill to go through the roof :P). Once Gitter becomes a pure Matrix client, though, you'll automatically be able to use your Gitter.im homeserver credentials to access Matrix, and with account portability (MSC2787[1]) there /may/ end up being a way to combine two existing accounts into one.
- fractalf 6y agoVery nice, GJ! Matrix is the FURURE. Now the work begins converting all slackers...
- IshKebab 6y agoIt might be the future, but it isn't the present while it doesn't have basic Slack features like threads.
- SulfurHexaFluri 6y agoMatrix has threading at least in the spec.
- Evidlo 6y agoHail the furure!
- JD557 6y agoHi there. I'm completely new to Matrix, so sorry if this is a stupid question, but is there something like a gitter homeserver where I can login with my gitter credentials? If so, what homeserver URL should I use in element?
- Arathorn 6y agoYou can't use your Gitter creds to log into Matrix yet (although we're hoping to support Gitlab/Github/Twitter login for Matrix before Christmas). Instead, just sign up for a Matrix account via Element or another Matrix client, and then you can look at the Gitter server's room directory at Gitter.im and join its rooms from there. Because Matrix is one great big open network, you can pick any server for your account; you don't have to use the Gitter one :)
- coolreader18 6y agoThat'll be a nice Hanukkah/early Christmas gift, depending on when it lands :) Will there ever be a way to show on gitter that a gitter account and a matrix account are the same person? I'm pretty active on gitter right now, and I'd like to choose a homeserver to have an account on so that my messages from the gitter client (logged in with gh) and the messages from a matrix client are from the same user. Would github login allow that? Edit: also, what's the plan for private/invite-only gitter rooms?
- MadLittleMods 6y agoSee https://news.ycombinator.com/item?id=25335638 https://news.ycombinator.com/item?id=25335638 for account merging. There isn't really a plan for private/invite-only rooms but we could possibly support `virtualUsers` in the `sd.extraMembers`(security descriptor) field to allow inviting Matrix people to a private Gitter room.
- siraben 6y agoThis is a much welcome change. Gitter has been pretty klunky to use (especially the stalled mobile client), and the Gitter-Matrix bridge had multiple pain points as well. Looks one step further towards the Universal Communication Bus[0]! [0] https://medium.com/@ericmigi/the-universal-communication-bus-42dfb9a141ad https://medium.com/@ericmigi/the-universal-communication-bus...
- dpc_pw 6y agoFantastic. The pace of introducing such a change speaks loudly how good the engineering around teams and product involved must be.
- Stephen304 6y agoThis is amazing! Side note, there seems to be a typo "would be to have got Gitter". Also, I'm curious what the plan is to reconcile Gitter's one room per repo model with Matrix's anybody-can-create-any-room - in the long term, is the plan to keep gitter.im rooms restricted to matching repos? Or (post gitter-skinned-element) will people eventually be able to create arbitrary rooms on the gitter homeserver?
- Arathorn 6y ago> An alternative architecture would be to have got Gitter directly federating This isn't exactly elegant English, but I think it's structurally correct. In US English you might say "gotten Gitter", i guess. > Also, I'm curious what the plan is to reconcile Gitter's one room per repo model with Matrix's anybody-can-create-any-room You can already create non-repo rooms in Gitter, so this one's already solved. For instance, I just created https://gitter.im/matrix-org/matthew-test https://gitter.im/matrix-org/matthew-test (with no matching repo) :)
- Stephen304 6y ago> In US English you might say "gotten Gitter", i guess. I assumed "got" was extraneous due to editing, removing it sounds a lot better to my ear: "An alternative architecture would be to have Gitter directly federating with Matrix by..." I assumed it was a mistake due to editing, since I would use "got" primarily in this way: "An alternative architecture would be if we got Gitter directly federating with Matrix by...", to my ear "got" normally follows a noun, but I think the alliteration makes it sound extra awkward. At any rate, I'm no english major so it's not a big deal. > You can already create non-repo rooms in Gitter My question is less about non-repo rooms and more about rooms that look like repo-rooms. Is there any protection against a malicious user setting up "#google_chromium:gitter.im" and distributing malicious binaries? Edit: Maybe I'm not really asking a clear question - overall I'm wondering what the long term plan is for the gitter room addresses, where you can be sure that matrix-org/matthew-test belongs to matrix-org. It seems to me that if the gitter room addresses are planned to be removed in the long term, the security implications of the room address will change, so I was looking for some mention of that in the post. Not that it's a huge deal if communicated properly, people would just have to be sure they found the room from an official repo and keep in mind that the restriction of creating rooms under the org is no longer present.
- ktpsns 6y agoGitlab comes with an easy Mattermost integration. Therefore, we use Mattermost in our team instead of Gitter. What's the status of Mattermost vs. Matrix? I found https://about.mattermost.com/matrix/ https://about.mattermost.com/matrix/ but this seems to be ... irony ;-)
- Arathorn 6y agoI can only assume that https://about.mattermost.com/matrix/ https://about.mattermost.com/matrix/ is evidence of a major skunkworks Mattermost project to implement native Matrix interoperability :D
- Vinnl 6y agoGreat news! Very quickly done, which kind-of makes me suspicious... One thing I did already observe is that I was able to send a message to a closed Gitter room via my Matrix account, although I couldn't see other people's messages.
- MadLittleMods 6y agoThanks for the heads-up! Working on a fix so you can't query a private room and send in Matrix events. We already block from Gitter -> Matrix side.
- MadLittleMods 6y agoUpdate: Fix deployed -> https://gitlab.com/gitterHQ/webapp/-/blob/develop/CHANGELOG.md#21110-2020-12-7 https://gitlab.com/gitterHQ/webapp/-/blob/develop/CHANGELOG....
- Vinnl 6y agoThanks! I'm still in the room with no feedback that sending the message failed, but from the room's point of view it's now private. One other thing: my message was still posted by @matrixbot, rather than by my Matrix user. Is this another case of every client having to migrate (I'm using Fractal)?
- MadLittleMods 6y agoThe virtualUser messages are being shepherded by `@matrixbot` behind the scenes but you shouldn't really notice that part. `@matrixbot` does show in the browser notification but we do plan to fix that up: https://gitlab.com/gitterHQ/webapp/-/issues/2695 https://gitlab.com/gitterHQ/webapp/-/issues/2695 If you see messages directly from `@matrixbot` in the chat area, then that means that the room is still plumbed using the old Gitter bridge. We're working on a plan to migrate rooms using the old bridge over to the new one, https://gitlab.com/gitterHQ/webapp/-/issues/2674 https://gitlab.com/gitterHQ/webapp/-/issues/2674
- kawfey 6y agoThe ecosystem of a multitude of various chat apps is daunting and confusing. I've been finding that I'm spending more time talking and thinking about chat programs rather than actually doing anything valuable. It's kind of like how ham radio operators almost exclusively talk about ham radio on ham radio (when not talking about weather and personal ailments, lol).
- Arathorn 6y agoIt's like all the people on the Web who sit there discussing how to make the Web better :D doesn't mean it's a bad thing.
- throwaway894345 6y agoIs there a good reason why we have a distributed platform for IM and other distributed platforms for e.g. social media (think Mastodon) that appear to work the same way except that the data types are different? Could this “distributed server atop HTTP/whatever” be abstracted out into its own protocol such that anyone could more easily build distributed applications for their own domain? Maybe there is more variation between domains than I am aware of?
- Arathorn 6y agoActivityPub, Matrix, XMPP and NNTP all do superficially similar things in very different ways. I personally think of ActivityPub as being a bit like multiplayer RSS; Matrix as being like a replicated pubsub open object database; XMPP like a overgenerously extensible messaging protocol; NNTP like a semi-closed federated BBS. They all have different primitives and semantics - it’s not just data types. Matrix is the only one which actually implements a full data structure replication protocol between nodes, for instance. Braid https://braid.news/ https://braid.news/ is one way you might be able to abstract thag operation on HTTP tho.
- brianzelip 6y agoHere's an informing (and inspiring!) Changelog podcast episode with a technical co-founder of Matrix, https://changelog.com/podcast/384 https://changelog.com/podcast/384.
- charliebrownau 6y agoWhy cant they just patch Hexchat + Pidgin to support Matrix ?
- dstaley 6y agoI truly hope that Matrix+Gitter becomes the defacto standard when it comes to chat for open source communities. I think Discord is a bit ahead in terms of UX and features, but Matrix is catching up fast. I noticed that Element recently added support for Communities, which is sort of like a Discord server!
- Evidlo 6y agoI think they may be called "spaces" now.
- mxuribe 6y agoThis is great news! Congrats to the matrix (and element) and gitter teams!!
- smarx007 6y agoGreat news! How do I make it work? I just tried in our room https://gitter.im/OSLC/chat# https://gitter.im/OSLC/chat# and I still see the matrixbot. The post talks about how to connect another chat system to Matrix but there are no instructions for Gitter itself. Edit: Okay, this is what should have been in the post: go to Explore rooms, and instead of choosing Gitter, select Add new server and type 'gitter.im'. Now you can find a room through a native integration.
- FloatArtifact 6y agoThis is very exciting. On the element client edits from gitter via the gitter bridge currently do not display very well. The bridge creates a new pseudo post when edits are made. Will these edits automatically be cleaned up in the history of a room in the future?
- ptman 6y agoPrevious history is probably not going to get rewritten. The ugly edits are sent by the old gitter bridge, the new gitter bridge can bridge edits properly.