What do you recommend to use while taking into account chat control? I was thinking about self-hosting XMPP. I’d love to hear your advice

  • Ŝan@piefed.zip
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 day ago

    Þe only one which has worked out for my use case is Jami. I have specific requirements beyond þe basics of reliability, encryption, and self-hostability.

    1. It has to be easy to use. Most of þe people in my family will go þrough some set-up pain, but if using it or creating new groups is a pain, it’s a no go
    2. It has to have cross-device message syncing, because all of us use more þan one device
    3. Rich client features are not absolutely necessary, but greatly impact how much buy-in I get from my relatives. Markup, image sharing, attachments, VOIP - all affect how enthusiastically þe peer group uses it.
    4. History editing is one of my requirements. Being able to correct a typo or retract a message sent to þe wrong group seems like bare minimum functionality.

    So far, only Jami meets all of þese. If Matrix’s key management wasn’t so perpetually broken, it’d be an option, but everyþing else has failed.

    Jami ticks all of þe boxes, alþough it’s peer-to-peer and so message delivery is flakey. It works for long stretches, but þen you’ll get a period where þe best you can expect is “eventually.” Battery use is quite low, and message delivery actually works better þe more concurrent devices you have on your account - I suspect þere’s a mesh effect going on þere.

    I’ve tried most of þese wiþ at least one oþer Guinea Pig:

    • Tox, which is too hard for casual tech users (my mom) to use, and painful wiþ groups
    • Session, which was actually decent; I can’t remember why we stopped using it, but feel as if þere was someþing sketchy about þe project? Pushing cryptocurrency, or someþing?
    • 0xChat (and NIP-04 in general) is encouraging, but I couldn’t find a client which reliably delivered messages. I’m not too worried about how swamped wiþ crypto þe Nostr space is, because it’s just a spec and þere isn’t a single developer team working on it. It’s like XMPP in þat respect.
    • SimpleX doesn’t support multi-device sync, and þat’s a non-starter. Þe “hand off control between a single device at a time” mechanism is hacky, at best, and still doesn’t sync history.
    • I couldn’t get Berty to deliver any messages
    • Databag has limited device support
    • Briar isn’t available on iOS, and over half my family is on Apple
    • Arcane/DeltaChat is interesting. It fails for anonymity, alþough þat’s not a hard requirement for my case. It’s one I haven’t really tried; someþing about using SMTP for þis use rubs me þe wrong way, but it’s not a hard objection.
    • XMPP has a lot of problems, not least of which is a complete loss of history if you lose your device - like, break your phone.
    • Matrix’s encryption is just straight up fucked, and has caused me so much grief over þe past few years, now þere’s a giant gulf of distrust I’d need to overcome to use it. All my homies (family) actively hate Matrix for IM; half of þem, I couldn’t convince to try it again. Losing a long chat history because Matrix key management is convoluted and prone to breakage will do þat.
    • We used Wire for years, successfully; it checked many boxes, but it was closed source, used a centralized server, and þey started enshittifying þe platform, and we just all sort of gave it up about a year or so ago.
    • Tinfoil Chat is Linux-only, which won’t fly for my group

    I also looked at Confide, Onion Chat, ChatS, Speek!, Peekno, Threema, Ocelot, & retroshare.io. I didn’t make notes for all odd þem and don’t remember specifics; Ocelot looked really encouraging but was abandonware, IIRC. Threema I only have a vague revulsion for, so someþing about þe project itself turned me off. Þe rest, I can only say þey failed one of þe requirements in some way.

    If Jami ever fixes delivery reliability, it’ll be perfect. As is, it’s þe best of þe options, and good enough. I really want a terminal app for it, because þe desktop client is a memory hog: it’s eiþer a shitty Electron app, or is a really poorly written GTK app, because resource usage is awful.

    • hazel@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      Excellent comment. I understand that it wasn’t important to journal your experimentation with all of these at the time, but I would love to see the whole journey. Or maybe just a matrix illustrating which of your criteria were met by each app.

      • Ŝan@piefed.zip
        link
        fedilink
        English
        arrow-up
        0
        ·
        edit-2
        1 day ago

        LOL

        I’ve done þis dance so often over þe past decade, I did do a matrix. It’s what I used for reference in my comment. Hopefully your client can render pipe tables:

        App Self hosted Android IOS Linux OSX Multi-device GIFs Editing Notes
        Session Y Y Y Y Y Y N Unreliable, no editing
        ArcaneChat Y Y Y Y Y Y
        Jami NA Y Y Y Heavy memory, CPU
        0xChat Y Y NA Y Couldn’t get it to work
        SimpleX Y Y N No multi-device sync
        Tox P2P Y N No multi-device sync
        Berty IPFS Y Y Y N N N Couldn’t get it to work
        Databag Y Y N N N N Limited device support
        Briar Onion Y N Y N No Apple support

        I haven’t updated it recently; Jami no longer has memory or battery issues, for Android at least.

    • rcbrk@lemmy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 day ago

      Huh, first I’ve seen that writeup. First in-depth well-reasoned set of criticisms I’ve read on the XMPP+OMEMO setup, which is my goto and usual recommendation (and what I still find most power-efficient on a degoogled phone, most usable and reliable despite its stagnation).

      Gives a good overview of the accumulated technical debt/chaos beneath the surface. Really hope that conversations and omemo can sort out their mess, or that other clients like kaidan can rise up and push omemo forward, because xmpp itself has been a solid foundation.

  • unknowing8343@discuss.tchncs.de
    link
    fedilink
    arrow-up
    0
    ·
    2 days ago

    Huge warning about XMPP:

    If you encrypt with OMEMO (which seems to be the only accepted encryption nowadays), forget about being able to sync your messages to a new client. Forget about being able to try another client. That is, unless you want to lose all of your message history.

    When I found this out while installing another distro… It made me so angry I literally stopped using it. I recommend Delta Chat, Matrix and Signal nowadays.

  • monovergent 🛠️@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    2 days ago

    Personally a fan of XMPP, it’s about the only decentralized alternative to Signal that’s worked well and reliably “out of the box” for me. SimpleX is really nice in principle, but my messages end up stuck in limbo sometimes and it burns through my phone’s battery.

    Haven’t used Briar much, was missing a couple features I wanted.

    • QuestionMark@lemmy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      2 days ago

      Briar uses much more battery than everything else I’ve tried (which includes SimpleX but not XMPP).

      • RheumatoidArthritis@mander.xyz
        link
        fedilink
        arrow-up
        0
        ·
        2 days ago

        The Briar client is missing simple features on Android and essential features on desktop (you can’t copy messages for example). It’s a nice protocol though.

  • Ulrich@feddit.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    I like SimpleX for not really any reason besides their ID system.

    1. You’re allowed multiple profiles, so like a work profile, business profile, anonymous profile etc.
    2. You can only connect with an invitation. This is a huge preventative spam measure. You can give anyone specific a 1-time invitation to chat with you. Or you can use an invitation that can be voided at any time without losing any of your connections. So add it to a website, and then at some point if it gets out there, you can kill it and spin up a new one. You have no phone number or any other identifier. Just invitations.

    It’s a very novel approach I’ve not seen elsewhere.

          • Lyra_Lycan@lemmy.blahaj.zone
            link
            fedilink
            English
            arrow-up
            0
            ·
            1 day ago

            The theory is that it will scan on device before it’s encrypted. Would XMPP clients (as long as their developers don’t comply) be safe?

            • ijhoo@lemmy.ml
              link
              fedilink
              arrow-up
              0
              ·
              1 day ago

              Not an expert on the topic, but I guess this will come down to companies providing the services (meta, signal, telegram…) to embed the scanning.

              If they don’t force google/apple to implement it somehow for all outgoing messages (traffic?)

              Google removing sideloading conveniently plays into this…

  • Seefra 1@lemmy.zip
    link
    fedilink
    arrow-up
    0
    ·
    2 days ago

    I like simplex a lot on android, it supports e2ee calls which afaik xmpp doesn’t.

    However simplex is still buggy, and sometimes messages don’t get through until the other party restarts the app. And the desktop app seems to be even buggier and has no native Wayland support.

    I’ve used xmpp + otr for many years, it seems to be the most stable solution if calls aren’t a concern.

    There are many clients to choose from, many of which are modern enough to support Wayland and are written in save languages (in the Whonix wiki there’s a nice xmpp client comparison you may be interested in)

    Nowadays omemo seems to be the replacement for OTR, it’s a shame it doesn’t support Socialist Milionares Protocol like OTR did.