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.
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).
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.
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...)
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."
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!).
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)
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.
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.
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.
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.
Is Matrix a good solution for internal company communication? Or is it better to go the way of "industry standard" like slack?
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.
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).
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
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!
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.
Does anyone know if Chat Control 2.0 will cover self-hosted services?
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)
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*
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.
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 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.
Make sure that everyone in your family is a huge nerd. That’s the only way.
First step:
Never, ever utter the term “XMPP server” to them.
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.
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.
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?
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.