I want to stop using WhatsApp because I fuckin hate it. Does anyone use XMPP regularly? It allows encryption so I was considering it.
The consideration is whether I will have to self host it or I can use some publicly hosted instances (like how there are open Matrix instances). Also whether it has support for desktop clients that run natively on Loonix without electron.
Please share your thoughts if you have experience. Feel free to suggest other alternatives too. I won’t mind that.
Privacy has become a very important issue in modern society, with companies and governments constantly abusing their power, more and more people are waking up to the importance of digital privacy.
In this community everyone is welcome to post links and discuss topics related to privacy.
much thanks to @gary_host_laptop for the logo design :)
XMPP is the best solution I’ve found overall, and I’ve tried everything.
We have a XMPP community here by the way: https://lemmy.ml/c/xmpp
Why not Matrix?
Have answered this else in this comment section.
ah right, the comments didn’t seem to sync with my instance properly.
I would say give it a go. There are good clients for desktop and mobile, and even Siskin on iOS is usable enough that I have onboarded friends and family with it. There are tons of servers to choose from if you don’t want to self host (which is orders of magnitude simpler and less resource intensive than Matrix). XMPP also has some other neat aspects to it, like pubsub and pep, which things like Movim build upon to make a truly decentralized and nomadic social networking platform. I also like that I can use it for sms and sip through jmp.chat :)
Also, since you mentioned encryption, OMEMO encryption on XMPP is way easier to use than Matrix IMHO. The only time it can be tricky is in group chats with a mismatch of clients. But for everyday chatting with family and friends, I never have to think about it and never have to worry about explaining to someone how to sync their keys between clients etc. The main clients people use nowadays handle it really well.
I use it for daily communication with my friends and family and think it’s one of the best choices for IM.
There are a lot of public servers, but - as with every non-centralised protocol - choosing the right one might be tricky. This list provides a good starting point imho: https://list.jabber.at/ Also you might want to check, that your choosen server is fully compliant with the current xmpp standards, which can be done at https://compliance.conversations.im/
Last but not least, if you want to have a look at self-hosting, there is this fairly new project called snikket (https://snikket.org/) which aims to make xmpp hosting easier (and also the whole xmpp usage a bit more consistent for “normal” users by rebranding the protocol and it’s apps under a single name), but uses a standard xmpp server in the background.
As for the clients, I use dino (https://dino.im) and gajim (https://gajim.org) on my Linux desktop and Conversations on Android.
Do you self host?
I self-host a Prosody server, which is the project Snikket builds on. You have some specific questions?
Yeah a couple if you don’t mind.
No. Prosody is very resource friendly, especially for a small group of users. You can easily run it on a first generation Raspberry Pi.
I think you just have to enable some modules in the config. I’m sure there’s a guide on how to do it somewhere.
Less than Matrix-Synapse. You set it up once with all the modules you liked through the package manager of your OS and then you just auto update and forget it. Of course you should do regular backups of the data it stores, but apart from that you should be fine.
Have a look at this article which compares some resource use. For small instances Prosody uses even less resources then ejabberd, but ejabberd scales better for larger servers.
I’m also running prosody and can confirm everything you said. Prosody is surprisingly lean and snappy. I remember being concerned about getting prosody to be compliant (after coming from ejabberd, which has everything built-in), but it was very straightforward. I don’t know if that last 5% compliance is worth it for a self-hosted server. I think an invitations-based system works best for in-band registration, but as far as I know that won’t satisfy the requirement of being “open.”
disroot also offers xmpp service.
I use it regularly. There are some problem with key exchange in group chats. Sometimes users have to write messages to each other via direct message then everything usually works: so if users in group chats do not know each others, that can cause problems:
Concerning clients: Android: conversations Windows/Linux: Gajim Debian and other Linux distros: Dino
Concerning apple I do not know.
There is the promising snikket.org project who have a “product” approach, i.e. they are developing clients with the same look and feel for every client. But unfortunately, they are not there yet. But as far as I know they have funding.
XMPP is easier to selfhost than matrix. And it can run on a Raspi. You can install a xmpp server with e.g. yunohost, to make thinks simpler.
I don’t know much about XMPP but when I briefly looked at it there seemed to only be a focus on mobile platform and not much offering on desktop. Can I ask if you have considered Matrix?
That is a bit ironic, because XMPP has for the most of its 20 years existence been only on desktop, and one of the reasons Matrix was started was to offer better mobile support.
But I agree in so far as that in the last few years the focus has been on mobile support, and these days XMPP is definitely top notch on Android (and soonish also on iOS), while most desktop clients have not been maintained very well. But the upcoming 1.4 release of Gajim looks very promising with its basically Discord like new UI and for Windows UWXP is also very nice.
I am not opposed to matrix. But the support for encryption in non-electron client seems like it’s not there yet. It seems harder and more resource intensive to self host than xmpp. Plus it has been getting very friendly with corporations lately so it makes me unsure about it’s future. And it has way more features than I want.
If XMPP doesn’t fit the bill for me I am down to use a publicly hosted matrix instance.
For an e2ee capable matrix client that doesn’t use electron, look at nheko. I have recently switched, and it is fantastic. You will need element temporarily to bootstrap keys, but after that, nheko will be able to do everything for you!
Well, Nheko is behind Element in many aspects, and it seems to me it’ll ever be, Nheko is not a business backed project, as Element is, and Element is considered the “golden model”, even though it’s a just an electron app on the desktop, and not only that, new Matrix features seem 1st get into Elment due to that, and the community clients, not the business back apps, have to see how to catch up.
On the other side, depending on the kind of chats, you won’t be able to see the sort of markdown formatting supported on Matrix chat, rendered, so for that kind of stuff (quoting, adding code snapshots whether inline or paragraphs) you better use Element. I ended up using both, though I prefer Nheko by not being an Electron app. Also, I noticed with Element, no matter the history of encrypted chats, when you 1st login to an encrypted chat, syncing from another device of your same account, you get all previous messages in the chat. However when you 1st login with Nheko, it can’t decrypt previous messages, and you will only sync further ones. That is not by itself a bad thing, but if you were counting on syncing from your own devices the whole chat history, you’ll get surprised with Nheko. Nheko is still my default client though, given my aforementioned preference to avoid using Electron apps.
I wasn’t able to retrieve the keys the last time around. Will try it again.
Ya try nheko again, key exchange should be working.
The key with Nheko probably is: the latest release is from April. AFAIK they are planning a new release after e2e is “finished”, but I guess final 10% is the toughest one…
In other words, one might need to use the nightly builds to get better experience.
I manually exported and imported the keys and it worked fine after that. So I don’t have to use element anymore.
Nice. I think I did do that once a while back too, so maybe key exchange isn’t working properly.
XMPP is an open protocol, meaning that it can be integrated in any app you build around it, which also means that it can only be as good as the app turns out to be. The great strength of XMPP lies in its flexibility, so naturally there is a whole bunch of apps to choose from, also for desktop, like Adium or Pidgin
These are not generally good recommendations for XMPP desktop clients these days. Both have have experienced slow/inactive development in recent years, and don’t support modern XMPP features such as end-to-end encryption and multi-device synchronization. Pidgin is showing interest in catching up again, but I’ve no idea about plans for Adium’s future.
Good clients to recommend these days: Gajim or Dino (both Linux / Windows) or Beagle (MacOS). There are also web clients such as Movim.