My laptop is getting old and i can’t have Element eat up half of my RAM. There are many more clients out there but which one is good? aka "the best? ;-)
My requirements: lightweight, encryption 100% supported, active development/community. runs neatly 24/7 in the background.
Should also support the latest features, let me customize when to get notifications: priorities / muted chatrooms. And ideally also look clean and run on the Pinephone. But that’s optional.
I don’t care which desktop environment or cli.
What do you use?
Have you tried Nheko? I switched to XMPP some time ago, but when I used matrix Nheko was my goto. Also gomuks is another choice, runs in terminal
Why the switch to XMPP btw?
Better native client support for the most part, but xmpp servers also show themselves better (faster, more stable…) than matrix.org I think more matrix users should consider using smaller instances tbh
I think more matrix users should consider using smaller instances tbh
Matrix on smaller instances suck because of how bad the protocol is. It “re-plays” the entire history of the channel on first join because channels need to be consistent between all instances because Matrix isn’t just a mediocre chat protocol but a generic data protocol that’s been beaten into the shape of a mediocre chat protocol.
It tries contacting every instance in a channel for their keys. Even the dead ones. And yes it takes exactly as long as you think it does for them to time out. Dendrite solves this by asking matrix.org for everyone else’s keys by default.
But because channels are completely synchronized at least you get to easily migrate channels between instances just by assigning an alias and telling people use the alias to join instead.
Woah, didn’t know that! I remember searching for older messages in Matrix be really bad. I only use IM software for 1to1 conversations, so I probably don’t know the worst of the protocol.
Dendrite solves this by asking matrix.org for everyone else’s keys by default.
Sounds a bit too centralized for me
Sounds a bit too centralized for me
You can turn it off however that makes join times to any channel with history (say… the dendrite release announcements channel for example) unbearably slow to join.
I look forward to the day that Synapse is deprecated in favor of Dendrite or Conduit.
Thanks for sharing, I’ll check out XMPP too - last time I checked was 10 years ago :D probably a lot has changed
I was using NeoChat for a while, but IIRC it doesn’t support encrypted historical messages, so you’d have to get it set up and keep element around for searching history…
NeoChat has the benefit of supporting OIDC which my server uses exclusively, otherwise I would have given Fractal a look as well.
neochat has been my go to
Try gomuks. It’s cli written in go. Highly configurable and if your terminal supports images, it’ll show them too.
This client is cool! Thanks for the suggestion!
Thanks. I’m halfway through installing all of you people’s recommendations. I’m a bit disappointed in the way encryption is handled in matrix. I’m again running into issues. gomuks gives me its fingerprint but element doesn’t do that kind of verification any more. Guess I have to try more client until I find one that combines all kinds of verifications and I can get encryption set up and connected between them.
There is a desktop Fluffychat client written in Flutter I believe.
Don’t know about the options you need, I just use it on my laptop because it isn’t element.
i am currently testing https://iamb.chat/ it’s a bit unique in how it does things but promising of you’re into TUI and vim
If you are an Emacs user, then I suggest you try out Ement.el!
Emacs is such a weird Texteditor i must say.
At this point, it would be insane to classify it as a text editor only. I personally refer to it as the “Emacs distribution”; a distribution that happens to have its own integrated text editor and other useful tools. But a more accurate description is, Emacs is an e-lisp interpreter and because of this it’s a very extensible tool!
Cinny on the desktop.
There’s matrix-cli, but i don’t know anything about it.
I don’t think it will meet all your requirements (besides being light-weight), but I’ve been using weechat-matrix for a week and it’s been fine. Without this, I wouldn’t use matrix at all.
for the curious, how much RAM do you have?
8GB on my laptop but shared with a modern browser with 500 tabs open, an editor(/IDE), mail-client and whatever gnome likes to waste resources on (gnome-shell, gnome-software in the background etc). that accumulates to a bit less than 5GB. Plus whatever i currently need open to work on. And a computer needs a bit spare to buffer/cache things.
The pinephone has 3GB of RAM.
It’s not nothing. But also not enough to have every other application written in Flutter.
Sounds like matrix client should be the least of your concerns actually. My RAM usage rarely goes beyond 2gb with xfce and firefox. Switching to NetSurf like above comment pointed out is a bit of overreaction actually, Firefox with Ublock Origin and a handful of tabs open will do just well
Did gou look into what takes up the most memory? You could downgrade from the modern browser with 500 tabs to netsurf with 500 bookmarks, perhaps, or similar. Many modern websites don’t work there, though.
Instead of Gnome, I’m using Sway, at the moment it’s taking up 236MB resident.
Do you need that mail client to run 24x7? It’s better for mental health to check mail when you decide (once in the morning), not when some rando wants to sell you cannabis oil (best cure for any ailment!) - or you might find something tiny that checks for email and shows a desktop notification, so you know to launch your mail client.
Alacritty likes to munch memory, Foot takes up much less, but Foot doesn’t render some colors correctly, for whatever reason.
Shop around, there are more options than just changing the Matrix client.
Yeah, I know. And I’m scaling down with all of those, too (eventually). It’s just … I have to start somewhere. And I’ve decided Element is the first to go. Gnome is kind of nice. And works well on a touchscreen. And I sometimes need WebRTC, mic/camera and video in my browser.
I can use a more lightweight browser for my daily use and maybe get organized and close tabs and use bookmarks. I like the concept of tiling window managers, so maybe I’m going for something like Sway next. I’ve had used Xfce for a bit, but that also uses quite a lot of RAM (for something that claims to be lightweight?). And changing from KDE/Gnome comes with quite a lot of choices for alternative programs and new little helpers to get accustomed to. From the little thing that shows me the time in the US and the weather in front of my own door to the calculator to the default mail client. It’s a bit more complicated and just takes a bit of time.
Using mail 24/7 was a bit of an exaggeration. I’m using it in a healthy way. But It is useful to get for example the notification that a parcel is getting delivered today, to talk to companies and people who don’t own a proper messenger. At least I’m okay with the 5 spam mails while everybody around me is getting constant notifications because some friend sent some deep motivational quote on WhatsApp.
Thank you all for the suggestions. Now I have to have a closer look at each of them. It’s just, I’ve been annoyed a bit lately. I think 8GB should be plenty and enough to not worry about RAM and just use any application and open as much as you like.
An easy start would be Firefox + tree style tabs + auto tab discard, that way you can have your 500 tabs and keep only N loaded (you choose N).
Only using Android for socials and only tried element. I want something different. Element has a settings overload, but no way to remove the status bar icon. I hate that so much I just leave it disabled in settings unless I need to use it.
The matrix website has an extensive list of matrix clients out there. Idk why this question is still asked when the answer is very easily found.
Two of the top answers here are missing from that list and, to be frank, that list does not really contain any useful information. For example, where do I see on that list which clients can display images?
You just click on the links and go to their pages… This is literally such little effort dude.
I was specifically asking for recommendations by actual humans. I didn’t write a lengthy essay about all of my previous life but I’m pretty aware of that list and even tried several clients but never found anything I fell in love with.
You sometimes simply (and politely) ask other people. And you learn. The main benefits are: You get real-world info. There are several clients out there that are only good ‘in theory’ but are lacking in every day use. And second, if you get the answer that everyone is happy with something and you’re the only one with a certain problem, you get to learn that you do something wrong or have a weird use-case.
You don’t get that info from that list. And how would I even do this? Start a spreadsheet with the 19 mentioned clients, have 20 features I need and go through the source code to see what’s implemented for every client that hasn’t a proper list on their github Readme? How long would that take me? And then install all the 20 clients and measure their resource usage or infer it from the programming language/framework? No, no. Sometimes asking people is just the way. And word-of-mouth is exceptionally good when you’re directly speaking with people and recommending them some distro or good piece of software out of the hundreds of possible choices.
I’m sorry for being a bit rude myself. My main point was just to explain myself.