7 ms·
Folks who have tried Matrix/Riot and Slack – how does the product quality compare? Slack has many issues (little bugs, latency, notification issues, the shitsh
by rattray 6y ago
Folks who have tried Matrix/Riot and Slack – how does the product quality compare?
Slack has many issues (little bugs, latency, notification issues, the shitshow markdown editor) but overall delivers a smooth product experience IME. When you self-host Matrix, do you typically get great perf without much effort? Is the product experience of the Riot client smooth and complete?
- Arathorn 6y agoHistorically, Riot's UI hasn't been as smooth as Slack's - for many years we didn't have any professional UX/UI designers contributing to the project, and we built up a lot design debt along the way. Over the last year or so we've been progressively working through fixing it, and as of Monday we now have three(!) professional designers working full time on the problem. Having turned on E2EE by default, our next big project and single biggest priority is First Time User Experience - making sure that the app is at least as smooth as Slack and Discord, particularly on first impressions. https://blog.riot.im/e2e-encryption-by-default-cross-signing-is-here/#what-s-next https://blog.riot.im/e2e-encryption-by-default-cross-signing... has more details - and the sections before it show some of the UI/UX work which has been landing in the last few months.
- godelski 6y agoI just played around with Riot for the first time. Can you directly reply to a comment in a chat room like you can in Slack (like the sub chat thing, I'm not sure what to call it)? I actually find this an extremely useful feature that allows rooms to to be uncluttered with side conversations (which as room sizes grow, this becomes a HUGE benefit). I may be missing this or I can't do it in a room of only me?
- j-james 6y agoNo, it looks like threads aren't (yet) supported in either Riot or the Matrix spec. https://github.com/matrix-org/synapse/issues/2329 https://github.com/matrix-org/synapse/issues/2329 https://github.com/vector-im/riot-web/issues/2349 https://github.com/vector-im/riot-web/issues/2349
- ShamelessC 6y agoI believe those are threads and while I have no opinion on the subject because I don't really use slack anymore, I remember them being pretty controversial here.
- Arathorn 6y agoWe have 'replies' (which lets you post a message into the main timeline which refers to an existing message in the timeline), but we don't yet have 'threads' (which lets you branch the conversation into a sidebar). The protocol actually has support for label-based threading (i.e. "hide all messages tagged #gif" or "only show messages/conversations in this room tagged #work") already, as per 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.... But we haven't had a chance to hook this up into Riot yet, thanks to all the work spent on E2EE by default. Proper threads will come in time however.
- godelski 6y agoThanks for the reply! Yes, threads. That's what I'm thinking of. I find these super useful. I know some people don't like them, but they can just not use them if that's their preferred style. I would really just like threading a comment rather than having to label everything. I'll be honest, I'll just get lazy and not label. I doubt I'm the only one too, or in the minority. > Proper threads will come in time however. Awesome, this was really the only thing that makes me hesitant to switch. I can stand an ugly UI if I can get good conversational flow.
- 0az 6y agoHot take: slack-style threads are bad for long-form discussion. They encourage forking, when what you really want is everyone to be on the same page. Traditional forum-style threads, or "channels" on a chat app, is optimal for discourse, as it encourages continuous convergence and integration rather than splintering. Hiding tangents serves to lower the quality of conversation. Optimal within the constraints of real time chat IMHO is slow-mode (5 to 15 seconds, or possibly greater) in a single channel.
- godelski 6y agoIME tangents, while possibly fruitful, just lead people to skip the 30+ messages and so doesn't become helpful. Hot take: make threading an option. If you don't want them, don't use them. If you want them, then they are available. This is clearly a personal difference with no right or wrong answer. So the solution is options.
- ssivark 6y agoFirst off, let me start with thanks :-) As an end user I lack an appreciation for what goes into this; but as someone who writes software, I know the amount of effort that goes into kicking out a polished piece for others to gawk at and comment on. So kudos, definitely. Further, it is definitely worth taking inspiration from Discord. Newbies seem able to pick it up very quickly. Some Discord rooms feel about as alive as happening IRC channels from back in the day, and the interface+culture seems to do a great job of supporting that. Fairly subtle, but important things like where the names are placed relative to the messages, and the size of the avatar/image, etc keeps the interface from becoming crowded (in comparison with the Riot desktop interface, for example). The Riot iOS interface gets several of these things right, btw :-) It also seems to be fairly easy to customize “Discord servers“ with different levels of organization — scaling from few users to 1000+ users. Not just the backend, but the interface also scales very well. From a pure usability standpoint (apart from privacy issues, centralized, etc the user experience in Discord is fantastic.
- kixiQu 6y agoLet me just note that my beloved boomer parents did not find Discord easy to pick up quickly when the family tried to video chat. (My sainted mother installed Riot because I asked her to, and it's worked so far)
- rakoo 6y agoBeen self-hosting for a few weeks, and it's working exactly as expected. I find Slack to be slightly more reactive but not by much (I'm comparing a company-wide workspace of ~10 actually active people, vs a little channel of ~5 actually active people). Personally though I can't stand the conversation view in Riot, the spacing between the nickname, the avatar and the text feels just wrong and I can't see in a glance who is talking and says what (yes, even with the compact view). It's minor, but it's the one I have under my eyes at all times so it's there. For now I'm using another snappier client (https://neo.pixie.town/ https://neo.pixie.town/) because of this issue. Apart from this client-specific issue that doesn't say anything about the protocol itself, everything is fine. The one thing I'm waiting for is rooms where participants are hidden, so that you actually get closer to a pubsub system. I have some ideas I want to try and play with, but this is needed if you want to keep some privacy
- Arathorn 6y ago> Personally though I can't stand the conversation view in Riot, the spacing between the nickname, the avatar and the text feels just wrong Does https://github.com/matrix-org/matrix-react-sdk/pull/4531 https://github.com/matrix-org/matrix-react-sdk/pull/4531 look any better? O:-) > The one thing I'm waiting for is rooms where participants are hidden, so that you actually get closer to a pubsub system. This is surprisingly hard (if you don't know what users are in a room, how do you know what servers to send messages to?) but we can provide at least a cosmetic solution (have the server filter out members below a given power level when relaying to the client). https://github.com/vector-im/riot-web/issues/6417 https://github.com/vector-im/riot-web/issues/6417 is the bug to upvote :)
- godelski 6y agoNot the parent, but I do think that looks better. I do think their client looks better than that, though. I'm a big fan of dark themes.
- rakoo 6y ago> Does https://github.com/matrix-org/matrix-react-sdk/pull/4531 https://github.com/matrix-org/matrix-react-sdk/pull/4531 look any better? O:-) Hey that's actually kinda sexy ! I'm not looking specifically for IRC-style <timestamp/nick/message>, I do like it when it takes a bit more space for the user, but I find this rendering nice to the eyes. In the quote though, why is the user cast away on the right ? Would be more consistent to put it right next to the timestamp of the quoted text Also, the nick is chopped at the end without any indicator that it is (like a [...] at the end or something) All nitpicking, I know, I'll try this as soon as it lands because I already like it :) > https://github.com/vector-im/riot-web/issues/6417 https://github.com/vector-im/riot-web/issues/6417 is the bug to upvote :) I'm following it closely ! I can't wait to experiment around that, Matrix.org can be and needs to be much more than just a messaging protocol, there's everything needed to get rid of centralized silos of (micro-)blogging, status- or photo-based social networks, ... BTW thank you for doing this and thank you for leading it all the way to it is today and to where it's gonna be tomorrow, there's a reason protocols fail or succeed and it's often not in the technical intricacies but definitely in the leadership that spearheads its spread. Matrix seems to be the one that has the biggest momentum for now :)
- f38zf5vdt 6y agoI use it. It's extremely easy to setup your own server and I got mine running in about 30 minutes following their instructions. Aside from issues around key exchange in earlier versions, it's been great and on par with Discord or Slack, and with similar reliability. I've been told the apps (Android/iOS) aren't as good as the Desktop version by coworkers.
- Arathorn 6y agoInteresting - Riot is actually four entirely different codebases: Riot Web/Desktop (JS/TS/React), Riot iOS (ObjC/Swift), RiotX Android (Kotlin) and Riot Android (obsolete, Java). Riot iOS has been a bit under resourced over the last few years, but other than some jank it's a decent native app, albeit trailing behind Desktop a bit. RiotX meanwhile is of very similar quality to Desktop, albeit beta (but exiting next month, hopefully). Finally, Riot Android is abandoned now and we'll replace it with RiotX when RiotX is ready. Many folks' bad impression of Riot on mobile is due to Riot Android having been abandoned in favour of RiotX or the last year - such is the cost of a rewrite :/
- rpm91 6y agoDo you know why the decision was made to rewrite rather than do an incremental migration, given the increased pain to users? I have some guesses from looking at the codebase, but I'd love to know the actual answer.
- Arathorn 6y agoThe old app had bad layering, and no explicit storage layer. We wanted to experiment with different storage layers, use rx for data flow, switch from java to kotlin, and use all the latest androidx/jetpack best practices. This amounted to a whole new app, and it was easier to start from scratch, despite the disruption to users.
- cycomanic 6y agoI have to say riotx is miles ahead of riot android. If only it could do voice and video yet. For desktop I have to say riot has been really on and off. In particular voice/video calls are hit and miss. Sometimes it rings but one can't pick up, sometimes it just does not ring. I actually have been experimenting with some of the alternative clients (I particularly like nheko reborn) unfortunately non do voice video yet.
- x3haloed 6y agoIn my experience, Matrix and Riot are great. I love the protocol and concepts around it, and Riot was much higher quality than I expected it would be. Since trying it out for a while a few months ago, I have since abandoned it, however, because operating my own Synapse server was just too much work. Specific pain points were: - setting up SSL - getting Let’s Encrypt certs onto a server without a web server was a pain, and keeping them up to date was even worse. I would love to see ACMEv2 support integrated into Synapse for painless SSL setup. - TURN server - if you want to use voice chat, you need to set up a separate TURN server, which has its own set of challenges. Again, I would love to see a solution integrated into Synapse. - Video chat - Even with a TURN server in place, video chat requires a separate plugin to work. Jitsi is recommended, I believe. Yet again, I want this integrated into Synapse and Riot. - Federation - Federation is part of what makes the Matrix protocol so great, but it was a huge pain to configure in Synapse. I spent hours to get it working, and it still had quirks about matrix.mydomain.tld vs mydomain.tld. I would like to see this simplified. Probably the thing I was happiest about is that a ton of administrative settings are easy to work with in the Riot web client. Keep it up, guys! I hope Matrix takes over the world, and I hope to come back some day.
- lifty 6y agoSynapse is a beast. I am looking forward to a more compact server to become viable. Matrix is working on Dendrite (https://github.com/matrix-org/dendrite https://github.com/matrix-org/dendrite) and there is Conduit (https://conduit.rs https://conduit.rs) as well.
- deleted 6y ago[deleted]
- Arathorn 6y agoDendrite is rapidly approaching the point where it could be considered beta rather than alpha. However, it doesn't have any of the richness of Synapse yet, and it'll be a while before it can be used as a Synapse replacement. Meanwhile, Synapse keeps shrinking and is getting a lot of performance love - so personally I'd give keep giving Synapse a go for now. It's a smaller cuter beast these days :)
- rpm91 6y agoFor the client experience, it's not even close: Slack's product experience is far superior. I love the idea of Riot as a decentralized e2ee group chat client, but the implementation is so buggy and far from being production-ready that any attempt to use it seriously is an exercise in frustration. In comparison, Slack is mildly annoying at worst, and usually just works. If it were one or two little things, I'd file some bugs or even try to fix the issues myself in the Android app, but my experience has been that I have at least one experience-breaking bug or UX issue at least every other time I interact with the client. Especially if you have encryption enabled.
- rattray 6y agoThanks, that's helpful. When was the last time you used Matrix/Riot?
- rpm91 6y agoToday. I have a friend who insists on using either that or Snapchat, and Snapchat doesn't have a web client, so Riot wins for that reason alone. True to form, I experienced yet another bug with the encryption moments ago: on web, search appears to be completely broken in e2ee rooms. It just says "No results", even for words that were said in literally the last message (and messages not far back in history from the previous day, so unlikely to be a caching issue).
- badrabbit 6y agoUsable for technical people,but as they note at the end of the blog post, they have ways to go with respect to first time user experience. I tried getting a team of tech savvy people to use it for backup encrypted comms, the UX was horrid, the key verification just didn't work at the time. Hopefully this is fixed. I am hoping a commercial product comes out of this,so they have proper QA and UAT. The FOSS approach of filing an issue/bug when basic things fail does not translate well to a generic audience. The protocol and Riot are actually decent,but I think the UX has yet to catch up with the rich feature set. Both Signal and Slack just worked. Slack has great UX, Signal is mediocre but from a security perspective, many things are non-obvious which to me feels like a dark pattern of insecurity,Riot maybe more painful but fails in more obvious ways.
- Arathorn 6y ago> the UX was horrid, the key verification just didn't work at the time. Hopefully this is fixed. This is what we've tried to fix in this release :) Meanwhile, as you note, first time user experience is our single biggest project now e2ee-by-default is shipped.
- doublerabbit 6y agoI don’t like slack having to use it for work. And riot/matrix has been slightly disappointing. At one point t I had everything flowing nicely; working fine until now the latest upgrade. The verification within the client is confusing. The e2e cross signing has been an absolute headache. Meaning losing some encrypted messages because using your recovery key it throws an error (when it’s valid). The potential is there but It does need work. My first impressions are that it feels like it’s all stringed together. For example why have a button in the IOS app for resetting bootstrap only to display a message of “this button doesn’t work but will work in future”. The default home server can be terribly slow. I get it, running your own server but still, I don’t want to do that right now. It’s works when it wants to work. And when it does, it’s pleasurable and smooth. https://github.com/vector-im/riot-web/issues/13519 https://github.com/vector-im/riot-web/issues/13519 expresses my frustration.
- Arathorn 6y agoI think you hit the matrix.org server being completely overloaded immediately after we enabled cross-signing (https://twitter.com/matrixdotorg/status/1257695491497897988 https://twitter.com/matrixdotorg/status/1257695491497897988) - now fixed. You hit other teething bugs too where it didn't recover sufficiently from the overloaded server. Apologies :( The bug is open and on our radar, as you can see.
- doublerabbit 6y agoAny idea to when it might be fixed? I still can't verify any devices and using the Use Recovery Passphrase or Key method still responds with nothing. If the whole premise of matrix is encrypted chat, and I can't verify myself, I'm hesitant in using the app. Luckily I am only using it to talk to a single friend so it's not a too big deal at the moment.
- bwindels 6y agoSorry for this inconvenience. We're working on it, see linked issues to your issue.
- tryptophan 6y agoI find Riot/Matrix to be very feature-poor compared to Discord and Slack, and not nearly as polished as Signal/WhatsApp for just pure chat purposes. Its best at nothing. I find the lack of ability to group chat rooms, into discord "server" type things or Slack "workspaces" or whatever they're called, to be particularly deathknelling for Matrix's usefulness. The matrix answer, "communities", are in the works, but who knows how good it will be.
- baby 6y agoI've been trying it these days, I'd say Slack is much slicker, but the differences are bridgeable. One thing I don't like is that your message shows in grey for a few secs in Matrix. What does it mean? I don't know. But what does it feel like? Like it's lagging.