cross platform chat alternative to facebook messenger?
I am really struggling to replace facebook messenger / whatsapp for a few casual conversations. My friends and I are all wanting to move away. We are not heavy users of this but need it to work. I think the requirements are:
floss client for android, linux, windows
persistent history across devices
reasonable security
don't need to self host server
can send a message to offline user, they get it when they come online
not tied to or reliant on phone number / cell service
ETA: end user documentation explaining how to set up and common troubleshooting
tried:
matrix: the thing with having to keep track of room keys and stuff is too complicated. every time someone uses a new device it is a ton of issues and we could never quite get it ironed out
signal: tied to phone number, no history across devices
xmpp: similar to matrix the key situation is confusing, also no cross device history
ETA: simpleX: a lot of people here are mentioning simpleX. It didn't come up in previous investigations so will give it a shot.
ETA 2: It doesn't seem to have persistent history across devices. Clarification?
I actually didn't think this would be such a problem but it is breaking us. we don't need a lot of sophisticated features like voice, video, moderation, 1000s of participants, spam protection etc that seem to be of concern to the projects. just simple text chat.
pidgin, gadjim, chatty, dino, kaiden, psi, psi+... some other ones
it isn't automatic from what I have found. vague "omemo"-related errors are popping up here and there.
what set up do you suggest where the experience is simple? it seems that there are a bunch of standards which servers and clients have varying support for. plus there is a plugin architecture for lot of them which extends or changes functionality, or it matters what version of libraries were used in compilation, and many other little details.
I believe that some people do have a seamless experience but ours hasn't been. If there is some sort of documentation describing exactly how to get going I would appreciate it.
Well you can try https://snikket.org which packages a Prosody server with suitable clients and it all should just work (tm). They also offer a hosted version.
On https://joinjabber.org you can also find recommended clients and servers that should work without problems.
But to be honest, none of the issues you describe are actually real in my experience. Yes you read them everywhere from badly informed online pundits, but if you use a modern xmpp client with a modern xmpp server it all just works without issues and e2ee keys are automatically exchanged on first message without any problem.
There are some vastly outdated clients like Pidgin that do cause issues, but it is a bit unfair to blame that on xmpp, when Pidgin has not updated their xmpp implementation for more than 10 years 🙄
You could also use Matrix or XMPP without all the complicated e2ee stuff, room keys etc. It's encrypted on transport. It won't be super safe and have the highest level of privacy this way, but easier to use. You just have to remember not to enable room encryption. And maybe use SchildiChat instead of Element.
That is a great chart. Do you think it's up to date? One issue I had was trying to discern very old from current materials.
Thanks, we don't need high level security, just a reasonable modern attempt at it. Due diligence. I had a hard time understanding what kind of encryption we "should" use.
I tried SchildiChat and I liked it except for all the problems that seems inherent to matrix.
Sure, this chart is updated from time to time. (The guy who published it also has a very nice german tech blog: https://www.kuketz-blog.de/ )
But it only contains widely adopted messengers and focuses on open-source. So it doesn't necessarily contain every good messenger out there.
I know. Matrix is quite good. I learned how to operate it, so that's alright for me. But I know there are a few annoying things in there. And I think they did a few design decisions with the encryption that make it difficult to use. In the years I've been using it I've been annoyed many times by incompatible verification techniques or missing encryption support in some clients/libraries. It's getting better but I can understand why you would prefer something else. I'm not an expert on messengers, I hope some of the other suggestions here work for you.
When did you try Matrix? You can just choose to not encrypt your chat room. Apart from that, in 2022 the encryption hiccups got way better, in 2023 they're barely happening.
I recommend FluffyChat as mobile client and Nheko for desktop. The Matrix experience relies heavily on the client you're using.
I have a feeling you are overthinking the Matrix key system.
create account
create password you store somewhere safe
copy the key and store somewhere safe
when signing on a new device, copy-paste the key
Basically it's just another password, just one you probably can't remember.
Most of the client apps support verifying a new session by scanning a QR code or by comparing emoji. The UX of these could be better (I can never find the emoji option on Element, but it's there...). So if you have your phone signed in, just verify the sessions with that. And it's not like most people sign in on new devices all the time.
I tried both of those. I don't know if I got confused about which key was the right one or what but that didn't work. I also didn't really get what the key was for... it was attached to my account, or to the conversation.....? Ended up with multiple keys and trying to guess what they are for. And since I'm not the only one involved and others were having issues it was just constant headaches.
The emoji thing I did and it also just seemed to fail. Like I would get through it and it's still not working. Sometimes it works after a few tries another other times not.
I think that having a few people all trying to move together kinds of exacerbates all these issues to be fair. Because everyone is setting up multiple devices (maybe trying different clients on a given device) and trying things out. Normally you just wouldn't be doing that much logging in. And none of us could really help the others out. If it was just one person joining an established network I don't think it would be so annoying.
They could explain things better, you are right. I actually think I remember having almost the exact same confusion a few years back when I started. I still have two keys stored in my pw manager, no idea what the other one is for...
The decryption has gotten much more reliable in the past year or two, I also try out new clients a lot and have had no issues in a long time. Perhaps you could give it a new go, with the info that you use the same key for all sessions.
If Facebook messenger is the comparison, Deltachat is awesome. Its very bloated though if you use it for email too. Also for some reason it doesnt delete messages from the server which is really annoying
I have seen it but never tried it. I kind of got the impression it was like a novelty/experimental thing rather than a general purpose serious application. Is that incorrect?
Does your email account get filled up with bazillions of messages? I once installed an app that "backed up" all my SMS to email; it made 1 email for every SMS. It was terribly annoying because when searching mail for something all these irrelevant scraps of old conversations ago clutter up.
Or do you just have a separate mail account to use on chat?
If you want, you could use Telegram without your real phone number by either getting a virtual number from Google Voice or another service, or you could buy a Telegram-only number from their fragment site.
I agree with this. I don't know what keeping track of rooms keys is. Never heard of that problem. Adding devices to an account (cross-signing) is pretty easy these days with a popup wizard. Or a backup key if you don't have any online devices.
If you want persistent multi-device history it is really one of the few options.
Probably the other main options would be XMPP and Jami but I don't have much experience with either of those.
I've used matrix and simplex for different friend groups. While I prefer the former in terms of privacy, I get your point that the encryption keys and account verification is kind of a pain in the ass. Simplex is pretty ...simple in comparison, but then, I haven't had to use it on more than one device yet.
Just for the federation of it all, I'm also eyeing Databag. Now, if I can get my contacts on board as well is another matter...
Session satisfies all your points. It started life as a fork of Signal, but is not tied to any PII. Synced across devices, everything. iOS, too, even. The only thing it doesn't have is a terminal client, but it's easly days.
I've tried them all; so far Session is the only one that passes the non-tech-spouse test. We were happy sith Wire for a couple of years, but it's been going through some severe enshittification in the post several months.
I am seeing the words "blockchain", "economics", "token", "instant transactions".... And one click to NFT crypto stuff.
I remember hearing that blockchain tech could be used for stuff other than scams but it is used for scams a lot and this app seems to be related to scam-type activity.
a. not all blockchain is bad
b. I have neither seen, nor heard, of blockchain or cryptocoins on the platform. If blockchain is being used under the covers, it's not visible to users. I see no ability to do anything with NFTs or cryptocoins in any of the clients.
Session delivers messages more reliably than many platforms; E2E encrypts all messages (unencrypted is not even an option); requires no PII; has a good battery profile on mobile; reliably allows sharing, and has nice QOL features (that my non-tech family members have come to expect) like animated GIF search-and-embed; it supports message deletion and dissapearing messages; it has encrypted voice and video chat.
If there's any blockchain in the stack, then Session is an excellent example of its usefulness.
It's all open-source, too, so audit away.
It's not perfect, of course. There's no CLI client. Because there's no PII, there's no registry, so connecting to people is harder than many platforms, and looking people up, impossible. The desktop client is an Electron app, so it's typically resource hungry. It doesn't yet have sent message editing.