Ask HN: How did you convince family and friends to join your XMPP/Matrix server?
I love open-source software and open protocols, but my family and friends primarily communicate through SMS for exactly the reasons in https://xkcd.com/2365/
Whenever XMPP or Matrix threads pop up on HN, several commenters casually mention their "friends and family XMPP (or Matrix) server."
How did you convince friends and family to move away from SMS/WhatsApp and replace it with a niche messaging app?
My family and friends aren't hardcore nerdy, but they're more tech-savvy than average. Their needs in messaging are mainly pragmatic: they want ease of use, reliability, and fun features. They don't care that much about privacy, decentralization, or extensibility (though I care about those things a lot).
I've been experimenting with self-hosting XMPP and Matrix servers and clients in the past week, and the UX is even worse than I expected. It seems like all the clients either imitate Slack, imitate Discord, or imitate hot garbage. I haven't seen any that try to be a simple, friendly replacement for SMS. I'm a software developer who uses computers all day, and I find the UX for most of the clients incredibly hard to use.
The only angle I could see to pitch XMPP/Matrix to people for non-philosophical reasons are that there's a more consistent experience across iOS/Android. The biggest shortcoming I think is visible to regular users is that there's feature degradation and missing information when iOS users have SMS conversations with Android users, especially in group chats.
For people who have successfully won family and friends to XMPP or Matrix, what was your pitch? What do you recommend others do to make XMPP or Matrix an attractive experience for a regular person?
I learned a long time ago that things like this might be really important to me but fall below the noise floor for everyone else.
Unless everyone in your circle is on HN all the time, you will probably fail to convince them to change.
The more likely outcome is that you wind up annoying everyone involved and don't get invited to the new discord server.
Well, my folks live/visit countries with insane govt censorship, so it was quite easy: I just said our private XMPP server is a good reserve comms channel, and over time they just got used to the peace of mind that it gives to them. Decent android (https://f-droid.org/en/packages/eu.siacs.conversations/) + web (https://github.com/nioc/xmpp-web) clients played vital role though. Also, shout out to Delta Chat! (https://f-droid.org/packages/com.b44t.messenger/)
I know this isn't the answer you want, but I sell people on Signal based on the user features. I’ve had great success in getting my friends and family to adopt it.
Signal is incredible user friendly, privacy respecting, the gold standard for encryption, cross platform, etc. Yes, it’s centralized, yes it’s imperfect in many ways, but it’s easy and it’s pretty damn good.
If you want to help the people around you to become more involved in understanding and owning their tech, it has to be an easy and good experience. It has to be tangibly better, not just abstractly better with tangible downsides.
I use XMPP, but would never try to convince my friends and family to use it; it’s too complicated, the user facing apps all suck (Snikket and Cheogram are the best of the bad lot), and the incentives to use it aren't there. As you said, it’s just not attractive to a regular user, since it’s all around a worse experience than what they currently use. The one exception is that I do occasionally recommend XMPP for SIP access via jmp.chat to some of my more technical friends who have a tolerance for clunky user experiences in favor of privacy and affordability. I am holding onto an unreasonable hope that Signal or Whatsapp or others will consider XMPP+OMEO in the future to popularize the standard, but that is extremely unlikely.
Matrix also is an unfortunately terrible alternative to discord (even Element is a rather lacking user experience), so while I have pushed to move groups there before, I no longer recommend Matrix. I suggest signal or nextcloud as alternatives when possible; the remaining large groups who need the closed server forum style system are usually unlikely to move to Matrix anyway.
During Iran's Internet blackout, I set up a chatmail server on an interanet VPS, installed Delta Chat's client (https://delta.chat) on every family member's phone, and they are using it even now after the Internet is back.
I have tried Matrix, XMPP (Conversations), Signal and even some Nostr clients but Delta Chat has by far the best UX and reliability. It has groups, channels and private messages, stickers and built-in video calls. My only gripe is that it doesn't have video messages or screen share like Telegram yet.
If you want to try it out you're always welcome to message me.
Wow. Sounds interesting. I also looked for a solution to talk to relatives in case the internet gets blocked. Ended up with XMPP, since it has independent servers in different countries that can talk to each other. But the XMPP clients I tried are pretty bad, with no images or audio/video calls.
Did video calls work during the blackout too? I think calls should work like in the good old Skype days, pure P2P.
My advice is not specific to Matrix but other self hosted private services. Some of this may or may not be feasible with Matrix. (I have never used Matrix)
- Whether family or friends, always suggest it as a "fallback" for when "preferred service" is down and to use when discussion ultra-sensitive topics or sharing financial files. With time they may just stay connected to it if the friction to do so is low. It has to be their choice, not yours.
- What helps? Add more incentives such as perks that "preferred service" does not offer. No file size limits. No or few file type limits. No content filters. Add emoji's or gifs that align with their inside jokes and their style of humor. Keeping random people away is very important. Making your friends and family administrators or moderators and let them decide how it operates. Do not moderate or power-trip over your friends or family or they will leave. Limit rules to "Do not break the laws of this country in public chatrooms" and private chat rooms if you do not physically host the server. Database and file backups become even more important but they will feel in control of a thing. Have a keyword or code word they all learn means to go check the private platform that "primary platform" would not recognize. Maybe when they see "Turtle Farts!" they know to go log into your service.
- They may just stay on their primary preferred service. Every group is different and not every group will see the benefits of your fallback service. They may not appreciate the work you put into setting it up for them. Do not expect to get the friends of your friends and family to move to your service. They may not appreciate the OpSec value until "Bad Things"(c)™2038 happen to enough people. Just be there for when it does.
- If there are concerns that you would spy on them, consider instead using eJapperd or Prosody as you can implement OMEMO for individual and group end-to-end encrypted messages. Set up TLS fingerprint checks from multiple locations to reduce the risk of MitM attacks until XEP-0474: SASL SCRAM Downgrade Protection is fully supported and active by default on both servers and all clients. This is the only thing holding me back from setting up a public Prosody server as 0474 is still experimental. See [1]
- Avoid (block) federation on private servers for friends and family otherwise it is not a private server.
[1] - https://news.ycombinator.com/item?id=37955264
this is great advice, thanks
I manually installed Conversations.im on their phones configuring accounts, joining groups etc then on my phone I've disabled notifications on other chat apps. If they want something, XMPP is the only way to reliably reach me. Over time they grew to like it even though it's not perfect (eg. no built-in gallery or message retraction).
Curious if you've tried Snikket, and what hurdles you ran into (if you did). I made it with the primary purpose of moving my family communication over to XMPP, and I succeeded with that (improving a bunch of stuff in the process). I'm not claiming it's perfect (a known weak point is the iOS app, but we're actively working on solving that...)
Thanks for creating Snikket!
I tried Snikket and ejabberd on the server and found Snikket way easier to use.
I haven't tried any Snikket clients because I'm tinkering with web apps to start and it looks like Snikket doesn't have a web client yet outside of the admin portal.
I really like that Snikket allows me to create invitations without relying on SMTP. I love having it just as a URL I can send however I want.
I wish I kept better notes on my Snikket onboarding because I did run into a few hiccups.
I find the concept of "Circles" unclear because I don't understand how it differs from regular users. Thinking about it more, I'm assuming the idea is that I might have a family group and a college friends group, but I don't want my dumb college friends messaging my mom even though they're all on the same server?
My more superficial note is that I find the admin UX a little rough. It feels a little early 2000s design where everything is a form submit when there could be more JS interactivity (and this is coming from someone who hates JS frameworks but likes minimalist JS like htmx). And there are four top-level admin actions, and one of them is "Invitations" but that seems to duplicate everything available to me under "Users."
Thanks for the feedback!
Yeah, no web client yet, but we're working on a web app (it exists already, but doesn't do end-to-end encryption fully yet, also no video calls). My primary use case for Snikket was displacing things like WhatsApp where web usage is (in my experience) rare, so the focus has been on mobile apps.
Circles - yes, you got it. Initially we launched without circles, and some people complained they couldn't invite friends to their server without those friends mixing with their family members by default. I wasn't sure at first, but now even use this feature myself for e.g. a "Games night" circle. You can read more about the feature here: https://snikket.org/service/help/features/circles/
And yes, I totally get what you mean about the web dashboard. We're toying with replacing it at some point (partly because the backend is Python, and it uses over 2x the RAM of the chat server when idle!).
''right now we want to focus on doing one thing and doing it well''
https://snikket.org/about/goals
kudos to that!
… why? Are you pushing this on people for their good, or for yours?
In trying, I discovered that most family members don't want to use anything that lets the government spy on its users, but one sibling is against privacy in general and only wants to use platforms that allow the government to spy on users, so there's no solution.
interesting, most of my family and friends simply don't care one way or another, as long as it is convenient to use (for which whatsapp et al. win by a mile)
Does anyone know if Chat Control 2.0 will cover self-hosted services?
Why are you dead set on self hosting? Signal is probably an easier lift
I said "you can use this app to talk to me"
Matrix is still horrible. Element web is definition of bloat. Encryption mismatch issues. Device not verified issues. Did someone say metadata issues???
Signal just works. It acts like a feature rich messenger. XMPP/Matrix just isnt that good for the average person.
Is Matrix a good solution for internal company communication? Or is it better to go the way of "industry standard" like slack?
Depends on the company.
If small enough, group chats will work just fine with less struggle and overhead.
If larger, possibly.
NextCloud may do much of what you need.
It was easy getting the family I talked to on Matrix to switch to XMPP, all I had to say was "imagine Element, but it actually works".
How did you get them on Matrix?
I just annoy them, but it backfired with Plex. now they are begging for user accounts for their friends/co-workers and I can't keep up*
I was in a very different situation. Microsoft decided to stop supporting Skype, which we had been using for 15 or so years. We moved to Matrix.
Weird how badly MS bungled Skype. It was the online video calling/meeting platform. It had become a verb: I'll skype you at 2:00.
I still use it as a verb! Except now we skype on Signal.
good luck getting people to install a 17th messenger app just to talk to you. I still don't know how I managed to get a few folks to install signal, looks like it was pure luck - pitched at the right time when Zuck was on a anti-privacy bender.
First step:
Never, ever utter the term “XMPP server” to them.
Real talk. Maybe don't even headline/initially mention that it's something you run or administer (even though you're proud of it).
Make sure that everyone in your family is a huge nerd. That’s the only way.
Improbable. This technology does not have a stable client and is overrun by garbage.
Try vibe coding your own app that your family and friends would install, and have this as the background communication layer.
Good luck!
You are getting downvoted, but i can't help but wonder the same thing. Matrix/element is one of the worst chat clients i have ever used. Nothing works.
Forget normal people. How are you convincing techies to use this. Obviously there are other open source E2E encrypted chat programs that are half decent, but i never understand how people are convinced to use matrix of all things.
Some people are drawn to complexity and tinkering. Many of them work in tech.
what things didn't work, and what server & version of Element were you using?
I was convinced to move into the Matrix ecosystem because of the promise/focus on bridging it into other things. I was hoping the clients would improve enough to be usable.
I think that was 5 or 6 years ago, and I'm convinced the clients have somehow gotten worse. That may just be perception though.
I haven't bothered looking for new clients though since the 'vibe-coding era' has begun, maybe something else has come along.
I keep wondering how people are getting it working and are happy with it. My homelab runs like 60 services, but I gave up on matrix
Just a little shout out to chatto (https://chatto.run/), which is the best slack/discord alternative i've seen so far. Not federated or crypto based, but just a solid chat platform.