Additionally LineageOS for microG which rolls the microG stuff into the ROM which saves a lot of work/frustration when trying to unGoogle a device. Any device that is officially supported by LineageOS will have builds which can’t be said for many other ROMs.
Others are noting clients & servers matter. This isn’t a downside—it’s just that the protocol is flexible & extensible for many types of messaging beyond human2human private conversations, which explains why encryption isn’t a requirement for the clients. With that said any modern client targeting said H2H interaction will have basic forms of encryption like PGP, OTR, & OMEMO which all do the job of E2EE. OMEMO is based on the same ideas that Signal, WhatsApp, Matrix, & so on use so that part is all the same.
A unique feature for XMPP in this space tho is how low-spec & resource-unintensive the servers/clients are—you aren’t chewing up a ton of CPU or RAM, there is no eventual consistency to balloon storage (MAM is enough), clients don’t drain your battery or take literal minutes to sync with servers. Since it is low-cost, it is feasible to self-host XMPP from a residential server (at home on some old hardware for instance) or add it to a multipurpose machine where it doesn’t get in the way of other processes/storage. Some of the other service often mentioned here either you can’t self-host or are quite expensive to run (often by design) which limits the accessibility causing centralization as well as requiring trust in that server you don’t own.
XMPP doesn’t need notifications per se since it already has a connection to the client. Since it works for all other OSs to hook into this & display a notification, I don’t even want to know what restrictions Apple has on iOS that prevent such basic behavior. Apple digs its own grave here. What’s worse is I want to say “go get a Android phone, dummy” to a ‘normie’ but the stock OS on any Android phone is going to be on aggregate a worse privacy situation unless you would have to be ready to teach how to unGoogle it to the extent they would tolerate.
Linux phone when?
There’s a 90% chance the other end of your conversation will be with someone on Matrix dot org or a server they host for a organization. Like email, your other end is likely still using Google or Microsoft so the metadata & anything else unencrypted is going to be synced back to the centralized server.
Motal is participating in GSoC this year to get some new features too.
But this is a wider issue that developing free software for Apple products is way too expensive (time & money) to be feasible while also going against the general free software ethos. It should be no surprise the walled garden of a proprietary OS that charges you to publish to their store has a severe lack of free or otherwise ethical software (which is important for security for something as important as a messaging app full of private data).
XMPP clients are fine albeit it all, as many as they are, slightly different as is the nature of the protocol. This just means there is value in contributing to existing clients, creating new clients, or embracing progressive enhancement (which most do for example with emoji reactions just being a quoted text reply & so on) & complete feature parity is a fool’s errand if you want an exensible protocol with diversity & experimentation in the community. With the broad exception of the Conversations Compliance, there isn’t a flagship client & instead the best ideas come to the most used or most innovative clients. I use Cheogram, Profanity, Gajim, Dino, Movim at different times (& would love to create my own). The protocol is stable, healthy, & ready for proposals for improvement.
If I compare this to the more-expensive-by-all-metrics-to-run Matrix, if it ain’t Element, you gotta problem since a vast majority of users are on it & using all of its features & no other client has anything near parity but are expected to have parity instead of allowing things to sometimes be gracefully missed or shown in a less than ideal manner as acceptable. This hurts experimentation. Good luck trying anything similar to GDPR when all nodes are design & required to duplicate all messages & attachments for all users to every server anyone in it comes from.
The only real gotcha is the same gotcha as Matrix when using multiple clients with double-ratchet encryption (ala Signal) is that clients will expire keys that haven’t been seen in a while & is hard to get both devices retrusting one another. Turning it off & on again rarely works & requires fiddling on both ends sometimes. I really should just use PGP for encryption more often…
I got locked out my seldom-used PayPal account a few years ago. They decided to arbitrarily remove Google Voice as an SMS 2FA option (I want to say TOTP wasn’t supported when I signed up). I went to find out who to contact about authentication issues, but support, chicken-&-egg-style, requires authentication—even for auth issues—with no support@
email. I used the worst-case-scenario support option of Twitter but that support team banned me for messaging them about auth. Since I couldn’t get back into my account + the sheer incompetence of the support system, I never used & refused to use PayPal ever since. I am happy that my country prefers cash transactions & I can’t believe in the past I used a major bank credit card + major corp digital payment option for almost all purchases. Long live cash (& Monero/Zcash).
I mean we already had the universal protocol last decade in an extensible markup language, but the next generation decided we needed to rewrite everything in a JSON schema that isn’t as easy to extend as XMPP. It’s federated/decentralized, has many chat clients, some social media + community managing platforms (Movim & Libervia), used for video conferencing (Jitsi & Zoom), negotiation matchmaking for games (most of them), displaying friend roster status updates (Nintendo, & many other systems). This would have (& can still be) the dream instead of needing to reinvent everything.
Worth reading: https://ploum.net/2023-06-23-how-to-kill-decentralised-networks.html
Being federated isn’t the same as living in the same Fediverse. You can upvote a Lemmy post from Mastodon since they both use ActivityPub but you can’t do that with a Matrix account. There are a couple of different ActivityPub-like generalized protocols out there, but none of them are near the size of ActivityPub & Lemmy is ActivityPub so for all intents & purposes for this conversation the Fediverse here (& most places) is ActivityPub. Matrix is on an entirely different federated network & they aren’t related.
Dongles create additional & unnecessary points of failure in your setup (sometimes additional stress on the USB jack too which is usually your only I/O port (which is also making you choose charging or power)). Personal devices that play media need this standard jack that has existed for decades—& I refuse to play ball with these OEMs hurting customers.