• 0 Posts
  • 7 Comments
Joined 2 years ago
cake
Cake day: June 15th, 2023

help-circle
  • Honestly, I struggle with this myself. On the one hand I like the diversity of clients; it feels like a sign of strength of the community and protocol that there are many options that have different values. But the cost of this diversity is that it makes things more complicated to coordinate, and different people with different values have different opinions on what a chat client should even want for features.

    Something like Slack or Discord can roll out a server feature and client feature to all their clients all at the same time and have a unified experience. But the whole benefit of FLOSS is that anyone can fork the client to make changes, and the whole point of an open protocol is that multiple independent clients can interoperate, and so there’s a kind of irony in me wanting those things, but those things producing a fractured output.

    So I think XMPP, as a protocol, does the best compromise. These differences between clients and servers aren’t just random changes in behaviour or undocumented features, they’re named, numbered, alterations that live somewhere and are advertised in the built-in “discovery” protocols. The protocol format itself is extensible, so unexpected content can be passed alongside known content in a message or a server response and the clients all know to ignore anything they don’t understand, and virtually all of the XEPs are designed with some kind of backwards compatibility in mind for how this feature might degrade when sent to a non-supported client.

    It isn’t perfect, but I think perfection is impossible here. A single server and client that everyone uses and keeps up to date religiously with forced upgrades is best for cohesiveness, but worst for “freedom”, and a free-for-all where people just make random individual changes and everything is always broken isn’t really a community, and XMPP sits in the middle and has a menu of documented deviations for clients to advertise and choose.

    As for security, that can be mostly solved with libraries, independent of the rest of the client or server implementation. Like, most clients used libsignal for their crypto, so that could in theory be audited and bug-fixed and all clients would benefit. Again, not perfect, there’s always room at the interface between the client code and the library code that’s unique, but it’s not as bad as rolling your own crypto.


  • On the contrary, as a dude with many friends, none of us put in “tons of effort”. Each of my friendships are casual and relaxed, we “see each other when we see each other”, and that works well for all of us. We have lots of mutual respect, and an intent to have a friendship, but friendship just means different things to different people.

    Some people, like it seems maybe yourself and OP, have the energy of a drowning person who will take any person who tries to help them down with them. And also a sense of… justice?.. that’s highly attuned to amplify small slights. I’ve seen it before in some second hand reports of like “I sent him a photo that I really liked and he didn’t respond within 24 hours, and when he did it was just with a 😛. Can you imagine the gall!”, when actually there’s no indignity, he just doesn’t look at his phone much… or he was busy. But it’s a problem when the sender isn’t busy, and is in fact just sitting there fuming for 24h because they have way more energy invested into this.

    I want to check in real quick here, none of my tone here is intended to be angry or even mocking. I’ve got a lot of privilege for sure, and it helps combat this. A person suffering with food scarcity is going to react differently to a backyard BBQ than a person without food scarcity, and I’m willing to bet a person suffering from social scarcity would do the same.

    My only purpose for writing this is because I’ve met people who feel “desperate”, and people who have a sense of “principles of friendship” that are iron clad, but also not mutual and are inflexible and cause them to push everyone away for not respecting them, meanwhile all the people they pushed away seem to get by just fine. And often it’s easiest to just let these people go because they’re, perhaps through no fault of their own, toxic to non-manic casual friends and friend groups. And I figured I’d give a more “average” perspective of what the other side of this might actually look or feel like.

    And I already feel like I’m going to regret it 😛

    Also, since we talked about expressing intent upfront, let me say that I’m going to post this and then get out of bed, and I probably won’t look at Lemmy again the rest of the day. I have some errands to run and I’m going to a BBQ with some friends later, and I have notifications turned off because I don’t want Lemmy stuff being a force of push in my life, only pull, so I probably won’t see any replies until maybe tonight when I go to bed, maybe tomorrow morning if I do something else tonight? So I can’t guarantee I’ll want to respond to any replies, but if I haven’t replied in 24h, that isn’t actually emotionally meaningful. I’m not ignoring you, I’m just doing other stuff and literally not thinking about you. 😉


  • XMPP doesn’t change very very often, but there’s actually tons of XEPs that are in common use and are considered functionally essential for a modern client, and with much higher numbers than XEP-0004

    The good news, though, is that mostly you as the user don’t need to care about those! Most of the modern clients agree on the core set and thus interoperate fine for most normal things. And most XEPs have a fallback in case the receiver doesn’t support the same XEPs.

    I’m general XMPP as a protocol is a lightweight core that supports an interesting soup of modules (in the form of XEPs) to make it a real messenger in the modern sense. And I think that’s neat! But you can’t really judge the core to say how often things change.