One week with Delta Chat
A bit over a week ago we migrated from Matrix / Element to Delta Chat with 21 users. It is certainly too soon to make a final verdict if things are better now or if we just did not run into any problems or inconveniences yet. One week also means we are still in the honeymoon phase of the shiny new software, so take this quick summary of our experience with a grain of salt.
Matrix served us somewhat-kinda-well since 2020. But the problems and inconveniences started to accumulate. Sometimes push notifications did not work for everyone. Element as a company made some decisions most of us do not agree with in regards to the recent split in development of OSS and paid features. Adding any form of device to an existing account was nearly always a problem, to the point we had folks not add their desktop or iPad because they did not want to fight the horrible account process again. The tipping point was Element development being stopped in favour of an incomplete replacement that requires experimental features for authentication just to keep what we have working.
Matrix might be a good protocol. I know many people and open source projects who are happy using it. I also heard of enough companies who tried it and rather migrated to alternatives, even closed source ones. But for our group the implementation seemed borderline broken.
Looking for a replacement I made a list of what we need. This is a mix of requirements for our company chat and for private use.
- multiple individual group chats
- 1:1 chats
- usable for non-technical people
- self hosted
- account management that does not suck (tm)
Enter Delta Chat. I have seen an enduser implementation of PGP that actually works and does not make users as angry as trying to add a secondary device to Matrix twice: Keybase and now Delta Chat. I am saying this as someone who showed people their physical ID at a unix user group meeting to counter sign PGP keys. Yes I am that old and I used PGP / GnuPG long enough to say this thing is broken beyond saving from an enduser perspective. From what I have read Delta Chat is not implementing the full PGP spec but only parts of it which I am more than happy about.
Delta Chat checks all the boxes. The one thing missing is a chat history when provisioning a device without copying from an existing one, as there is no real server side history. There seem to be ways to hack my way around it, but we simply decided to stop abusing chat as historic archive for some files and information we share in our small team and move everything to the company wiki (as we should’ve done before). Look at us, getting all grown up and professional.
I honestly did not expect the amount of engagement and help I have seen on Mastodon out of the blue, but I very much appreciated it.
Delta Chat checks all the above boxes and has a familiar enough interface for anyone using iMessage or WhatsApp to feel right at home. From a UI perspective I have not heard a single complaint so far. What made me unreasonably excited was a working share sheet integration on iOS.
Hosting a chatmail server is a bit of an odd experience. It works well, aside from a small hiccup for which I still have to open a PR to fix the documentation. But running the deployment process via Pyinfra instead of pulling the project on the server caught me a bit off guard. I rarely provision one off servers like this and it doesn't play nicely with my scripts. That is less a problem with the server or the deployment itself, but more old man yelling at new things.
We ran into a few problems:
- One user tried to scan the invite QR code before installing the app, the expectation was "scan the QR code, things will work".
- One user tried the desktop app and it seems messages are delayed long enough that they consider it not usable (likely no push but polling?)
- I tried setting up my desktop which does not have a camera and copy / paste when adding a second device did not work - and is in my opinion a bit too well hidden (I did not have time to debug this yet)
- My wife tried to post a gif from her Photo gallery and only the first frame was posted - it worked on iMessage
- One user mentioned on his Android phone pushes are sometimes delayed
- One user could not use my invite link after setting up a profile, I had to use theirs. The device was stuck in "establishing e2ee"
So some small hiccups or pain points. Yet 21 out of 21 people are excited to be off Matrix / Element and prefer the Delta Chat experience so far.
As I have mentioned before it only has been one week. We will see as time goes on if we run into more serious issues or if things stay as pleasant as they are.
For me the next step will be looking into writing bots. I read the source of a few but there are a few details missing to make it "click" for me how things are exactly working. Being able to write simple bots without too much work is not a requirement to call the migration a success. This is out of curiosity because I might have some use for it in a side project.
posted on April 13, 2025, 7:40 p.m. in app, self-hosting, usability