this post was submitted on 09 Jul 2024
252 points (97.4% liked)
Asklemmy
43948 readers
771 users here now
A loosely moderated place to ask open-ended questions
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- [email protected]: a community for finding communities
~Icon~ ~by~ ~@Double_[email protected]~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
They are both using the exact same double ratchet Signal protocol for end-to-end encryption down to the same problems of other clients keys for haven’t used in a while due to ‘inactivity’.
The only difference is that XMPP is an extensible protocol where you very much can drop encryption all together if that doesn’t suit your use case for the protocol (such as not chat). However, all modern servers folks actually use for chat comminacations follow with the Conversations compliance suite & OMEMO support is expected in clients—meaning everyone using XMPP for standard coms in 2024 have a good encryption story.
Matrix’s extensibilty is limited due to the choice of JSON over XML relying on adhoc, stringly-typed message names. Due adopting an eventual consistency model, Matrix server can’t be run on a potato in your bedroom & most folks are relying on public servers rather than the decentralized, federated self-hosted tendency of the XMPP network in practice not just theory. Most users are on Matrix.org or Matrix.org-provided servers syncing all metadata back to a single entity started with funds from Israeli intelligence. If you ask me which one has a better story for freedom, it’s going to be the one that is lightweight enough & designed to be individually-hosted over the defacto centralized option with resource-intensive clients.
TIL. What are some good clients?
Also, how does ActivityPub compare, because that's what we're using right now?
Like Matrix the clients aren’t all equivalent without feature parity (& no concept of the flagship or implementation client). For desktop, Gajim has the most power user features but issues rendering in smaller windows like a tiling split (& being written in Python has other issues). Dino is feature-complete & calls tend to always work—great if not connected to tons of chats. Profanity is the best TUI which is very fast but usability is really good for some things & really bad for others (like accepting no OMEMO keys). I use all three depending on the environment & task. Android it is a lot clearer where Cheogram takes the cake for me being a Conversations fork but with OLED black support as well as webxdc. For the web, Movim has the best UX/feature set & can be used anywhere a browser can with PWA support. You can also just check to see what provide OMEMO: https://omemo.top/.
ActivityPub is a JSON-based protocol for seems primarily built for social networks, with the DMing experience normally not being secure or particular fast. XMPP is largely for building networks for passing messages & client presence—which can be extended to support PubSub like MQTT. It isn’t normally built for social networks but Movim & Libervia have extended XMPP to be a social network.
Hmm. Looks like Libervia is working on bridging XMPP and ActivityPub, as well.
I was just thinking, I don't know ins and outs of it all, but ActivityPub is often compared to Matrix, so if XMPP is a better version of Matrix does that mean ActivityPub could be improved upon?
Don’t quote me on it, but I don’t believe Matrix could be extended to be a social media platform. It’s just more limited in its capabilities as JSON is not a very extensible format.
I don't know either, but ActivityPub definitely uses (a version of) JSON.
What's the problem with JSON? Just which characters it can use?
XML is meant for you to create & embed entire namespaced specification schemas that don’t have very strict limitations. JSON schemas are more ad-hoc than a built in since it isn’t a part of the spec or namespaced & IIRC Matrix uses events all stringly-typed by a message name instead of the XMPP approach which assumes already the message body can/will contain arbitrary data according to a XEP or other spec. I’m non as knowledgeable on the subject as I would like to be tho…
Aside: https://www.balisage.net/Proceedings/vol10/html/Lee01/BalisageVol10-Lee01.html