Top
Best
New

Posted by mtlynch 6 hours ago

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?

68 points | 62 comments
CircuitSeuss 4 hours ago|
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.

attendant3446 23 minutes ago||
I also pretty much gave up, and now I recommend Signal.

But XMPP doesn't have to be complicated. It just needs a popular server with a good client. Yes, there are good servers and there are good clients, but none of them provide a streamlined experience. It should be like Google Talk used to be: most people knew nothing about XMPP. But as a bonus, you get access to federated service.

bluebarbet 2 hours ago|||
In my mental model, Matrix (specifically Element) is decentralized Signal. In other words: a modern encrypted messenger that is protocol-based and so allows users to control their data if they so wish.

If this picture is accurate, then the promised land is only two steps away: (1) make available a reliable default Matrix server for normies who don't care about privacy; (2) polish up the UX of Element.

What am I getting wrong?

d0liver 1 hour ago||
#1 and #2 are easy to conceptualize but very difficult to build and maintain. Basically, the problem is that people don't fund open source unless they can monetize it.
lrvick 1 hour ago|||
Signal is a non starter for me. Centralized, requires everyone that uses it identify themselves, and they can and will use it to shill their crypto tokens or any features they want and you have no say. Its no different than Whatsapp to me.

If I cannot host it myself if I want to, or use it anonymously if I want to, then its not sovereign tech and not worth a second of my energy convincing anyone to use, especially when sovereign alternatives exist.

Matrix is by far the most usable sovereign option so it is what I switched my personal network to.

JoshTriplett 55 minutes ago|||
I've likewise had success getting people onto Signal. One easy selling point over SMS/MMS: pictures and video have much higher quality.
kreyenborgi 3 hours ago|||
I have gotten all my family and even inlaws onto Signal. (It helps that it lets Android users send higher quality pictures than SMS to iOS users, while not being social media like Whatsapp, ie. great for groups that include kids.)

But I can't even decide on a matrix/xmpp client for myself, much less for family or friends.

fasterik 3 hours ago||
Yep, this is the insight that so many ideological purists are missing, in the privacy space and in free software more broadly. A 90% solution that "just works" is infinitely better than a 100% solution that nobody is going to use.
bob1029 4 hours ago||
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.

Bender 6 hours ago||
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

vekntksijdhric 5 hours ago|
this is great advice, thanks
nik_ca 4 hours ago||
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/)
niyumard 4 hours ago||
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.

vladkens 3 hours ago||
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.

Giorgi 3 hours ago||
I am going to bite - how would servers work in other country if you have internet blocked, what am i missing here?
Bender 1 hour ago||
Not the person you are asking but countries rarely block the internet for real. War torn countries will immediately block full MTU packets (bulk traffic packets, this will block streaming services), known social media platforms, known chat services. It will appear down. Cloudflare stats will give the appearance of being down but small unknown chat platforms may work for a little while. SSH may work even longer as they need SSH and even telnet to continue to manage infrastructure. That's why I keep an SSH chat server around. Feel free to play around with it. [1] When sharing with a person in a war torn country, give them the IP not the domain name. There will also be networks that allow leaders to bypass the "blocks".

[1] (customize username, paste into terminal, then type "chat") .:. This is a hardened private fork of devzat. shout-out to quackduck if he still logs in here.

    chat() ( saved=$(stty -g 2>/dev/null); trap 'stty "$saved" 2>/dev/null; printf "\033[?2004l\033[0m\033[?25h\033>"' EXIT INT HUP TERM
     [ -f /tmp/dc ] || ssh-keygen -qt ed25519 -f /tmp/dc -N ''; ssh -p 443 -i /tmp/dc -oIdentitiesOnly=yes anon@dropchat.net );
Useful commands to start with are "help", "cmds" and "rest". There is no censorship.
kreyenborgi 3 hours ago||
Hadn't heard of that one before. The instant profile thing sounds a bit like Simplex Chat? (Which I would like to like, but the founder seems to be intent on shooting his feet off with altright twitter posts, sigh)
MattJ100 6 hours ago||
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...)
mtlynch 6 hours ago||
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."

MattJ100 5 hours ago||
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!).

cf100clunk 5 hours ago||
''right now we want to focus on doing one thing and doing it well''

https://snikket.org/about/goals

kudos to that!

Thom2000 5 hours ago||
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).
tonytamps 3 hours ago|
The OP is asking for suggestions and you've instead done some weird brag that makes you look bad.

Don't fuck with people's notification settings.

28304283409234 3 hours ago||
"then on my phone I've disabled notifications "

Perhaps read that again. Then appologize.

tonytamps 3 hours ago||
Yep, fair shout. I did absolutely misread that but I still think it's some weird brag that doesn't address the question in the slightest.

I do still stand by not fucking with people's notifications but you did not do that and I retract that.

dlcarrier 5 hours ago||
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.
andai 4 hours ago||
Does anyone know if Chat Control 2.0 will cover self-hosted services?
vekntksijdhric 5 hours ago||
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)
kuon 2 hours ago||
Matrix is bad, the protocol is complex, sync is bad, it uses a lot of resources... I had only bad experience with it.

I have an XMPP server which works on a small server, it has been running for nearly 10 years with 0 issues. We are about 20 on it.

I didn't convince them, I installed the client on their device and told them "use this icon to talk to me". Then they realized they could talk to each other. They don't care about anything else.

What I'd like to see in an XMPP client:

On desktop:

- something lighter, dino is not bad, but it can use quite a lot of CPU - better theming, some people like bubbles, other prefer irc like - GIF picker, it could require a server side proxy I don't care, I just want it - better control when sending image (crop, quality...)

On mobile:

- better sharing (vcard, image with good control) - GIF picker - a few UI tweaks, like text colors and layout

pkulak 2 hours ago|
XMPP is a no go, sorry. There's just no good iOS app (or Android, I think). And you can't come back and say some app you love is feature complete, or whatever. It has to LOOK good.

Matrix will work though. Element X is very polished. Same with FluffyChat. However, I still only bother with getting my immediate household to use it. A "family" chat is totally fine with me. And that let's me hook bots and agents up to it.

For a little plug... it's can very easy, in fact, to get a Matrix server set up these days, including full voice and video chat:

https://github.com/pkulak/barnaby-home

More comments...