Is it ok? Is there something else you recommend instead? I tried nextcloud talk and it was pretty bad. Jitsi was ok but self hosting it looked complicated. FOSS only, of course.
XMPP is absolutely the best option if you don’t care about metadata protection.
XMPP does video chat, or at least voice? What clients do you recommend? Linux, android, and iphone are all of interest. Thanks.
On iPhone, I recommend Monal.
Dino and Conversations. Some don’t have OEMO so be careful. And yes it has video chat.
Thanks, I see conversations on f-droid so will try it. I don’t see Dino there but that’s ok. I’ll look up what OEMO is.
Dino is on desktop. OEMO is XMPP’s implementation of the double rachet.
dino is a gnu+linux software, built with gtk4. If you’re using windows then the option is gajim, which in order to support omemo needs a plugin, though I can’t tell much more than that about it since I can’t even recall when was the last time I used windows.
That said, conversations has one important setting if syncing devices, which is indicating that the client won’t delete messages, the server will. Not sure why that is not the default, I guess statistically most xmpp users just make use of conversations and that’s it. The other important setting is configuring security for omemo always. Dino doesn’t need any setting for letting the server delete messages (it does when there’s no pending device to be synced) and doesn’t offer that option, and at the moment the user must be careful and set each conversation to be secured by omemo with no exceptions, but it’s already merged on master, and waiting for a new release, the option for omemo always, as on conversations.
That said, using xmpp doesn’t imply not having jami installed and keep trying it. Who knows, maybe you like it and it works fine for your purpose, and you decide for it to be you main messenger application.
I care about many things related to encrypted real-time communication, including what security engineers recommend (since their judgements probably incorporate things I probably don’t even know about or understand), so I don’t think XMPP is the best option for me.
https://soatok.blog/2024/08/04/against-xmppomemo/ https://soatok.blog/2024/07/31/what-does-it-mean-to-be-a-signal-competitor/
I do !
works pretty well on both AOSP phones and gnu+linux desktops. Sad thing though is that I don’t like using flatpak, and I prefer distro native built software, and on Artix/Arch, there are times where the version between the distro version is slightly outdated with regards to the mobile version, and that makes things not to work. This is mainly an issue ever since jami decided to stop supporting the gtk client on the desktop, to me the qt experience have been sad. Not sure if someone has forked the gtk client, that would be great.
So I’m using xmpp as my main messenger, and keep trying jami when it works.
I really like the p2p approach from jami, and also the way they care for those with no huge batteries phones, given they added support for unified push notifications, which can be of course avoided if required for extra privacy. Given my use case, I can’t turn jami into my main messenger yet, but I keep trying, :) Meanwhile xmpp is there for me.
Thanks, that is helpful. Have you tried building from source on the desktop? Right now I’ve only used the fdroid apk’s. It works on one of my phones (Android 14) but not on the other (Android 7).
Are you sure the phone it doesn’t work on is older than android 7? According to its f-droid jami URL its latest version as well as two more also documented there, they all work on android 7 or later.
I use LOS4uG, and I’m currently on android 14, so no need to build jami myself. Can you enable “unstable updates” on f-droid’s “expert mode”? Perhaps then you get latest app, and that one works better. Otherwise you can report an issue to the android client, and perhaps you get guidance from them. You can also use their forum to ask questions. I have filed issues only so far.
I found it to be inconsistent about receiving messages on Android.
Having good luck with SimpleX at the moment.
Element is pretty good
I recommend Peer Calls as an alternative. Peer Calls uses peer-to-peer communication similar to Jami. You can check out Peer Calls on Github for more info.
So, in short, the things I really like about it:
- Simple to selfhost - Only one Docker container with no dependencies (database, storage, etc.) and you only need to forward HTTP/S traffic.
- Lightweight - You get voice and text chat; screen and file sharing. All of it directly P2P.
- Private - Selfhosting the signaling server will grant you control over the only step which requires a central server during the WebRTC connection process.
- No accounts - Just start using, no accounts are involved.
I use Jami and love it. If you want to use it on a de-googled phone you may not get live notifications though, which is annoying if you want to use it for calls. The simplest solution is to allow it to run in the background but it also allows you to use selfhosted push notifications which is cool. I just let it run an accept the hit to to my phone’s battery. Jami is fairly easy to use and looks friendly too, which is helpful for getting non-technical friends to join you on it.
I struggled with Nextcloud Talk too.
Highly recommend Jami 👍
Just so you know you can get push notifications on Jami. Jami has been supporting unified push notification for a while now, but it’s opt-in, some might not opt for it considering reducing privacy a bit, as some actually disable the proxy and some phone specific feature intending to prevent battery exhausting too fast.
For unified push support you can take a look at jami’s article about its unified push support. I use
ntfy
BTW.