• 0 Posts
  • 33 Comments
Joined 1 year ago
cake
Cake day: June 9th, 2023

help-circle

  • I’d argue XMPP is less ideal than Matrix because groups are located on a single server, which makes them easier to take down than Matrix’ replicated state.

    That is true, but it’s never been a problem in my relatively long experience with XMPP: some server software can be used as a cluster and distributed, making it highly available (basically, the whole of WhatsApp runs on a fork of ejabberd), and the comparatively tiny resource usage of XMPP contributes to its stability.

    XMPP does have a spec for F-MUC (distributed rooms somewhat like Matrix, many years before Matrix) and my rationale as to why it never picked up despite a whole decade of “competition” from Matrix is that it’s a problem that just doesn’t need solving. The price to pay for it is hefty: Matrix resource usage (bandwidth, CPU, RAM) is insane, its protocol complexity makes it a single-vendor implementation (which is risky on very practical grounds), and it’s not even bulletproof for the niche use-case it set to tackle: in the end, your identity server on Matrix remains centralized.

    You can tell that I’m partial to XMPP, but that’s only after having been a service operator for years, with my original expectations largely favouring Matrix.












  • I was mostly using sync while waiting for boost to get a Lemmy port, and could make sync to look and feel pretty close to boost for reddit. I had a rather pleasant experience with sync overall. Both are pretty similar out of the box, very configurable and very polished, but now that boost for Lemmy is out, I’m back on boost. Not that boost has a killer feature that sync’s missing, just that I find boost subjectively better.


  • I’ve found it best explained in some stackoverflow answer mentioning the pet vs cattle analogy. In short, if you know how many servers you have from the tip of your tongue, and what they do more or less, then they are akin to pets: you treat them well and keep an eye on each of them.
    Kubernetes is meant for when you have so many of them, that come and go without you even noticing or caring, bearing a number for the sake of production/cost control, this is cattle. Needless to say that this is not your typical app/company running at such a scale, and that there is a 24/7 team of “ranchers” keeping an eye on the herd.



  • The factor that is keeping me on Matrix is that I have all diffrent chats with people on different platforms in one client that is cross platform.

    yeah, as I wrote above, that’s no different in XMPP (but probably much more secure and better maintained: till recently most of the bridging in matrix-world was leveraged by libpurple, which has an horrendous security track-record).
    If you are getting into bridging in XMPP, I recommend giving slidge a try: https://sr.ht/~nicoco/slidge/

    that is is against ToS for most apps

    https://slidge.im/core/user/low_profile.html#keeping-a-low-profile

    google kinda “killed it”.

    And yet it has hundred folds more users than Matrix :) XMPP is ubiquitous (it props up google cloud/nintendo switch push notifications, if your online game has a chat system with million users that’s it, WhatsApp is using it, you have billions of IoT devices running it, …) so just like Linux it can’t really be “killed” at this point as a critical piece of software infrastructure. On the user-facing side, things are alive and kicking with great and well-maintained clients (which is more than can be said about matrix, being a single-source implementation held together by a single company constantly fighting financing issues).


  • Interesting, but I got past that hurdle…

    I was thinking more of the “day to day admin” side of things rather than “getting it running for the first time”: ejabberd really runs like clockwork, demands no effort, no attention, packs all the features you need, and uses close to no resource.
    By that time, I’ve been hosting services for communities for decades, and a good argument in favour of keeping XMPP, no matter how much adoption it would eventually get was that ejabberd is one of most “fire & forget” software I’ve ever deployed. Right now I have an instance running with 500 users and it barely ticks above 150MB RSS.

    In comparison to that, synapse for a dozen users, especially in the early days, was a burning hot mess. The whole stack is rather fragile and I was always worried about something breaking up, or resources going wild. If you are solo admin with users across timezones depending on you, that might matter a lot.


  • You should definitely give XMPP a chance, but not feel bad about ending-up with whichever feels better: they are mostly fine, and largely preferable to the non-standard/non-federated alternatives.
    XMPP is orders of magnitude lighter weight so that might factor in if you have associated costs to running in the cloud.
    If you want to get started the easy way, go with ejabberd, it has sane defaults and lots of convenience (e.g. it embarks a stun/turn server to facilitate calling through NAT, acts as a ACME client to renew certificates automagically, …).
    On Android, Cheogram is a good client to recommend for power-users, Quicksy/Conversations for those who want to use their phone number for contacts auto-discovery. Desktop has Dino/Gajim, (i)OS(X) has SiskinIM, BeagleIM.

    Regarding the libera.chat drama, you can read more here: https://libera.chat/news/temporarily-disabling-the-matrix-bridge
    IMO that tells a lot about the people behind Matrix and their overall attitude (I had the same “trust us”, “it’s gonna be soon, I swear!”, “that was bad luck but it’s gonna be fine!” vibes when interacting with the Matrix team members in the early days).