Hello,
I’ve been self hosting Nextcloud for the last half a year, and my family has been using Nextcloud Talk to communicate. However, as cool it is overall, we suffer from a lot of missed messages. I’ve been keeping an eye on (and contributing to) the Android app, but even with all the updates, it seems like they can’t quite figure out the issue with notifications not appearing consistently. My wife is fed up, so I’m looking for alternatives.
It seems like Matrix is the next logical one to try, but the Android apps have pretty poor reviews. A lot of the self hosted messengers also seem to be more like Slack replacements, rather than focused on family & friend use.
Has anyone had a good experience with a self hosted messenger for family use?
Thanks!
I managed to get my immediate family all on Signal, so that’s my vote!
Correct. Just use Signal. Problem solved.
- Signal
- XMPP
- Matrix
In that order. I self-host both XMPP and Matrix, and I wouldn’t want to stop using matrix. Spaces, arbitrary amounts of self-chats, and so on are great. I use matrix every day.
But for chatting… It sooner or later fails you. It’s slow. Notifications break. Messages are shown as sent, but somehow do not appear in the recipient’s devices until TWO WEEKS LATER (yeah IDK, happened twice already, in different chats and directions. Best part is, I’m not even federated!). Encryption is great IF YOU KNOW SOME CRYPTOGRAPHY BASICS, and utterly confusing otherwise.
XMPP just works. Especially the calls, holy shit, I had to fight Matrix for so long to make voice and video calls work, and xmpp just… Works. Notifications are way more reliable (as in, have been absolutely perfect). I really like monocles as a chat app on Android. (The downside is: can’t decrypt old messages on new devices, and desktop clients are ugly.)
So why Signal above XMPP?
Because it’s not your fault should something ever break in a vital service. Also the encryption and privacy afforded by it a great.
Grandma uses Signal, it looks like a normal texting app, nothing special
Make sure the app is set to “unrestricted” under battery settings. Most phones get really aggressive nuking down stuff that is not from FAANG
I use Signal because it’s the best balance of privacy and security vs. convenience and reliability I have found. Not self-hosted, but I’ve yet to find a self hosted alternative that is as reliable, especially since I don’t want to set up distributed servers, and it’s one of those things that “just needs to work” or people will abandon it quickly.
And the older people I’ve convinced to use it, like my mom, have had very little trouble adopting it. It helped that RCS messaging is so unreliable on my phone since Google or my carrier keep seeming to break it (likely became I use GrapheneOS), and also for those with iPhones it is way more compatible with itself vs Apple and Google refusing to implement RCS in a way that all features work between them, like message reactions. Without RCS, my mom couldn’t send me decent quality pictures of my niece all the time, and I couldn’t send nice pictures of my outfits to the girl I’m dating, LOL.
My wife and I use Signal. It works well.
Signal or Molly are probably going to be your best bets
Just want to note that Molly IS Signal, just a fork of it with some added features, in case OP isn’t aware. Definitly just go for Signal unless you have a specific reason to use Molly.
I like Molly a lot better personally
Molly still have SMS integration? It use to have ability to act as an SMS/MMS client.
Signal and therefore Molly dropped support for SMS
SMS is really insecure so it makes sense
molly has support for unifiedpush, the new messagd ping does not need togo through google. it also has better multi device support, and is available through f-droid with their own repo. location sharing uses osm instead of google maps, but of course signal users will still hand over your shared location data to google
Seconding the XMPP reccomendation- I run Prosody, which has been rock solid and stays up even when other services I run go down. File sharing, E2EE, reactions, voice and video calls- everything you’d expect from a modern messenger. Cheogram or Conversations are great Android clients, and Monal is the iOS client I’d recommend.
What do you use for desktop?
I wonder why not more people choose XMPP. What do you think?
I use Gajim on Windows and Linux, Dino when I need to call, and Monal on Mac. XMPP is older and less trendy at the moment, and it’s a large, partially fragmented ecosystem- that might hold back mainstream adoption. But it’s the horse I’d bet on long-term.
-
Monal (on a mac)
-
Marketing, sadly , actually works… plus network-effects
-
@anakin78z We use xmpp (prosody on the server; a mix of conversations/cheogram/dino/snikket on our phones and laptops). We’ve got a family chat where the kids share the latest memes, and we message back and forth. We do also have signal (or in my case, Molly) installed, but don’t use it that much. My wife just switched phones and signal was unable to transfer stuff from phone phone to the other - in general I find signal annoying to use.
We use matrix for a few years but it was buggy and dumb.
@anakin78z I still have to use Matrix for work. The clients suck (literally every single one I’ve tried, and I even briefly maintained Neochat for debian) and I routinely get key errors.
and I routinely get key errors
did you try reporting them? they are watching for reports, and they are making automated tests for all cases they receive. you should probably both open an issue in the client repo, and then use the “report a problem” button in the client and paste the github issue link. before you send the report open the chat with the decryption error, or try to reproduce it with a new message if you can, so that they can get better logs. probably also toggle on the “contact me”.
if you get a new message that can’t be decrypted, send a report from the client soon. don’t need to open a different issue if you don’t want.
That’s pretty cool that you use Matrix for work!
Thanks for the info. My wife and I tried Signal a while back and didn’t care for it.
I’m trying to get xmpp going today, even just as a test. 🤞
My wife and I tried Signal a while back and didn’t care for it.
What about it didn’t you like? I have no investment in Signal, my curiosity is just piqued since my wife and I use it.
It wasn’t one specific thing. We were switching from Facebook Messenger, and found ourselves not wanting to use it all that much, often falling back to Messenger. For me, personally, I also didn’t like that it didn’t have a web client.
Fair enough. Signal does ship desktop clients for Windows, Mac, and even Linux; I’m actually using the Linux desktop client to chat with my wife right now.
It’s something 🤷
xmpp. don’t matrix, it causes selfhosting-phobia for normies because its ui sucks. i had a friend try matrix with me for a while and now they’re never trying another foss messenger again unless its proved to be very good.
I’ve been doing research on this and came down to two.
- simplex
- delta chat
simplex won because of the robust encryption and selfhosted option.
a close contender was stoneage. I liked all it took was an S3 bucket. I didn’t like that it hasn’t been updated in 3 years.
Android notifications are notoriously difficult to get right. May I ask how is Nextcloud Talk currently implementing notifications? Is it through ntfy, a background service, or Google’s Firebase? Have you allowed background usage for both the push app and the chat app?
I use Matrix with Continuwuity and Element X, and it’s doable most of the time except for small bugs. If you disable federation, the resource usage should be minimal too. But it also requires a third party for push service which can be unreliable.
On the XMPP side, there is also Snikket which you could look into. It offers both a server (running modified Prosody) and a mobile client (modified Conversations). XMPP can run as an efficient background service on Android, so it’ll receive in-band notifications.
Regardless of options, one of the main problem I’m aware of is that Android variants tend to overkill various background app, leading to missed notifications. I think it’s better to debug on that aspect as well
But it also requires a third party for push service
not necessarily, you can host ntfy or something else yourself too
Hi, ntfy/another unified push backend is the third party. As in: it doesn’t just go between you and your server
well, that’s true, the reason for that is battery efficiency. the chat client does not need to be awaken constantly to receive notifications, a lightweight app can do that which will wake up the chat client when needed. fewer long term network connections, lower idle memory usage, faster routines handling the bare minimum
yeah, it’s consuming. I believe a big part of this is due to Matrix’s HTTP sync-polling being more expensive than simply maintaining a TCP stream (which is what XMPP does)
In fact, since XMPP syncs in the background so well, I use Conversations as a UnifiedPush backend for Matrix. You can find another article here as well
Does it have to be self-hosted? I’ve had tons of problems with Matrix. Many fewer issues with XMPP.
Chatmail is probably the easiest and best bet for reliability. Deltachat is the OG but I like Arcanechat, it’s a fork with more features.
I guess it doesn’t have to be, but I really like the idea of having control over the data, and not handing it over to some other entity, even if they say they’re not evil. It just seems like communication without a 3rd party in between is a good idea, so I’m trying to make that work for now.
+1 for XMPP
I’m currently using a public server until I get my own (Raspberry Pi based) Prosody server running
Never had a missed notification / message and video calls are great too… even Grandma can use it
Using Conversations (Android) and Monal (ios)
I host snikket (which is built on top of prosody) for my family and (especially) my pre-teen children and their friends. Pretty happy with it, all things considered.
Everyone’s using a client; the snikket invitation link makes it pretty easy – I just print the kids a QR code (or text a link to their parents), and they’ve all figured it out easily enough. It’s not perfect, don’t get me wrong, but it’s the best I was able to come up with and it’s been successful.
I’d love to run matrix but is seem/what I’m reading PITA to run.
I’m considering Zulip and Mattermost.
You have bo idea how much of a pain in the ass mattermost is. Basically corporate trying to leech off of opensource. I decided to make it the messenger in our org 3 4 years ago. But I might move away from it if it starts acting up more.
I run Mattermost successfully for a small-ish academic professional org, and tbh it’s been simple, straightforward, and really pretty good. I live in constant fear of the ever-nearing and inevitable rug-pull, though – they do seem to regard the open-source/self-hostable side as something they do on a minimum-effort basis only because they have to, so I would be hesitant to go down this road if I was starting again.
The last update was obviously vibe coded. At least all the UI was fucked up. All sizings were messed up, colors were inverted.
And don’t get me started on continuously moving pre-existing community features into “paid only”. First boards was almost deprecated, then playbooks.
Yeah, I don’t disagree. I’m still on the 10.x branch (will need to upgrade to the 11.x branch in a few weeks, after the annual conference is done), so I didn’t experience the UI fuck up, but it sounds ominous… sigh…










