cross-posted from: https://hachyderm.io/users/maegul/statuses/111820598712013429

Is decentralised federated social media over engineered?

Can’t get this brain fart out of my head.

What would the simplest, FOSS, alternative look like and would it be worth it?

Quick thoughts:

* FOSS platforms intended to be big single servers, but dedicated to …
* Shared/Single Sign On
* Easy cross posting
* Enabling and building universal Multi-platform clients.
* Unlike email, supporting small servers

No duplication/federation/protocol required, just software.

#fediverse
@fediverse

  • Square Singer@feddit.de
    link
    fedilink
    English
    arrow-up
    24
    ·
    edit-2
    10 months ago

    E-mail. E-mail does support small servers.

    Btw, I think you are mixing up a few topics here, so let’s see what you actually want.

    • Protocols are what computers use to communicate with each other. No protocols means no interaction between different computers/servers. Without protocols, none of the things you ask for can be possible.
    • Federated services don’t have single sign on. On the contrary, single sign on is a centralized service not a distributed one. To clarify that: I cannot log into lemmy.world with my feddit.de accout, same as I cannot log into hotmail with my gmail account. In both cases I log into my instance/provider and this allows me to communicate with people on other instances/providers. Federation is the process of sharing content between instances. SSO on the other hand is a centralized service that then communicates with other services to let you log into these other services. For example, I can log into my Google account and then use this to login to other sites. This only works because people trust Google. This would not work as a decentralized service with untrusted servers.
    • Duplication is used on federated services for a few reasons. First, it’s a kind of caching mechanism distributing the load. If someone posts something on one instance, it’s transferred only once to the other instances which then serve it to all their users. Without duplication, each individual view would have to be requested again from the original instance. The other advantage is that the admins of all the instances retain control over the content. If the other instance goes offline, users can still see “their” copy of the content. And if the other instance doesn’t moderate their content, the mods/admins of your instance can do that themselves.

    So as you see, these concepts aren’t there just for fun, but for a purpose.

    • maegul (he/they)OP
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      6
      ·
      10 months ago

      Protocols are what computers use to communicate with each other. No protocols means no interaction between different computers/servers. Without protocols, none of the things you ask for can be possible.

      By “Protocol” I was referring specifically to ActivityPub and the difficulties of engineering against that standard and then the compute resources required to perform the federation tasks. And in addition, the work of inventing a new protocol and the systems around it, as oppose to relying on the protocols and systems that already exist, which I presume would be mostly sufficient to run what I suggest. Obviously at a general level a “protocol” is required for any interoperation between platforms or servers over the internet, so I’m honestly not sure where you’re coming from with this feedback.


      Federated services don’t have single sign on. On the contrary, single sign on is a centralized service …

      I’m not talking about the fediverse currently having SSO.

      I was brief in the top post, in part to start a conversation but because it was originating from mastodon. But the “platforms … dedicated to …” part of my post was referring to the idea that a system of trust would be committed to amongst the suggested platforms where they’d be mutually trusted sources of authentication.


      Duplication is used on federated services for a few reasons …

      I said “over engineered” not “just for fun”.

      The premise of my post is to question and ponder the tradeoffs involved. Keeping in mind that social media has for a long time and continues to operate through centralised servers with many many people being very happy with it, the UX and development issues created by the underlying design of the fediverse may not be worth the technical features.

      Implicit in my post is the idea that decentralised/federated social media might be a bit of technological idea that technologists like without thinking through the practicalities and usability issues. Many have bounced off of the fediverse for essentially this reason … because in the end the point of social media is the social part not the independent decentralised data resilience part.

      I like the fediverse as much as anyone … I was here before the reddit migration promoting lemmy and kbin on mastodon. But I’d prefer an open and free social media space that works for people rather than one that’s futilely married to a tech idea and particular implementation (ActivityPub).

      In the end, I’m wondering if there’s a middle way and have simply put up my first attempt at a set of ideas.


      Otherwise, beyond the substance of your reply, I have to say that your reply was unnecessarily condescending. My post was rather short, so thinking it was without any meaning or coming from a completely ignorant place makes some sense, but without really having much to offer to the actual issues or discussion in your reply (you seem to have missed the essential thrust of simply having a few large servers committed to being open and working together as an easier alternative to big-corp social media), you managed to also make it clear that you thought my ideas were silly or juvenile. Perhaps I am being silly, but I feel your tone and presumptions were unnecessary.

      • Square Singer@feddit.de
        link
        fedilink
        English
        arrow-up
        8
        ·
        10 months ago

        Sorry, no condescension intended.

        Your post read like one written by someone with very minimal knowledge about the subject, which might have been a misunderstanding on my part. So I tried to cover the basics before talking about the rest.

        There is really no shame in asking questions about something where you don’t have experience. There are far more topics I have no idea about than there are topics where I do have a deep understanding.

        So to get on the same page, I’ll summarize what I understood, please correct me if you mean something different.

        • You don’t like ActivityPub, you want a new protocol
        • The system should make it easy to create new, small instances
        • The instances should share sessions with the other instances (=single sign on) based on trusting them
        • You prefer a centralized system?
        • You want the system to not use a single protocol (ActivityPub), but use multiple protocols?
        • ActivityPub based services have bad UX due to the complexity of the protocol

        Is this correct?

        We have a few contradictions here.

        You cannot have a system where anyone can easily create servers and at the same time have shared sessions based on trust. These two requirements conflict with each other.

        Either servers only work with servers they trust, and then you can’t just create a new small server and interact with the network.

        Or anyone can easily create a new small server, but then you can’t do anything based on trust, since you never know if that server was created with malicious intent.

        Regarding centralized/decentralized you have to differentiate between implementation and management.

        All major social networks run distributed systems. If you want to serve billions of users, you need to run millions of servers. These servers are distributed around the globe to give fast access to users everywhere. Chances are pretty high that your ISP has a few racks of Facebook, Netflix, YouTube and Tiktok servers.

        Their distributed system is orders of magnitude more complex than everything running ActivityPub combined.

        But their system works, because they have tens of thousands of highly paid specialists to make them work.

        ActivityPub based services on the other hand have almost no funding and manpower.

        Mastodon is the best in this respect. They have 6 people who are actually working on the system.

        Lemmy has two developers who earn close to minimum wages.

        Kbin has a single guy developing it.

        That’s the real reason why the UX is crap.

        If anything, ActivityPub and the services running on them are extremely underengineered and underdeveloped.

        Btw, there is something rather close to what you seem to want: online forums with Google single sign on.

        The forums are not interacting at all with other forums. No federation or anything at all. There are enough commercial solutions that work really well. And with Google Single Sign On you also don’t have to register for each forum.

        • maegul (he/they)OP
          link
          fedilink
          English
          arrow-up
          2
          ·
          10 months ago

          Sorry, no condescension intended. …

          All good!!

          And thanks for the reply! I don’t have time now to read through it, but will later. Just wanted to say I’m aware my post was very short and understand where you were coming from … and that, for me, if I address an issue I have with tone, it’s in the interests of the community, kinda “tone policing” as awful a term that is to say out loud … to just let someone know they may not come off as well as they or we would like. But I’m all good personally and look forward to reading your post!

      • Blaze@discuss.online
        link
        fedilink
        English
        arrow-up
        3
        ·
        10 months ago

        as oppose to relying on the protocols and systems that already exist,

        Which alternative to ActivityPub would you suggest?

        • maegul (he/they)OP
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 months ago

          Well, none really, because the work of ActivityPub wouldn’t be performed in my idea. There wouldn’t be mass copying of content to all servers. And the trade off would be that you wouldn’t be able to follow or see content from another server either (just like modern Twitter and Reddit).

          The work around though is that SSO should enable easy cross posting from one server to another, so information/posts would be easily shared between servers. But more importantly would be the commitment to open APIs and building/supporting aggregating or unifying clients, so that from a single interface you can follow and read and reply to content from any server.

          In terms of servers and users, the idea is essentially to do the content copying/unifying at the user side rather than the server side.

          As far as what protocols are necessary here … basically the internet we have now … which is very much the point.

          In simple terms the idea starts from a common praise of the fediverse … that it enables posting between Twitter and Reddit and that it is open. Well, how about we build Reddit and Twitter clones just with FOSS, open APIs and cross posting features?

          • Blaze@discuss.online
            link
            fedilink
            English
            arrow-up
            2
            ·
            10 months ago

            In simple terms the idea starts from a common praise of the fediverse … that it enables posting between Twitter and Reddit and that it is open. Well, how about we build Reddit and Twitter clones just with FOSS, open APIs and cross posting features?

            Isn’t that opening the door for future enshittification? Like as soon as Lemmy/Mastodon reach 100k users, a big corporation buys the only instances (as there is no federation in this scenario) to the admins, and turn it into a corporate product? What’s preventing that without federation?

            • maegul (he/they)OP
              link
              fedilink
              English
              arrow-up
              1
              ·
              10 months ago

              Good point!

              I’d say more or less the same thing at the core of the fediverse, which is an open and shared commitment to values, features and practices. If the platforms are FOSS, and you can always download your content/posts, than any shitification will be met with moving, no?

              There’s the risk of losing all the threads attached to the posts, I suppose. But I’m not sure that that’s an absolute problem. There could be solutions around commitment to archiving and hosting archives etc. But also, the federation thing of copying everything everywhere creates problems around privacy and safety (like people have left the fediverse because they’ve found it to be worse in terms of racism etc than twitter). Having content on single servers with higher walls allows for better safety and privacy features. So it’s a trade off.

              As for a big instance being bought … well like I said, people can just move. Shared sign on should make that a nicer experience than here. And some feature for hosting archives of posts from other servers (which the structure of the fediverse actively makes very difficult because content has to be uniquely addressable across the whole network) could probably go a long way to protecting good content. On the fediverse, people have to move whenever a server goes down, but can’t take their posts with them.

              On top of all of that I’m not entirely clear on how much a federated protocol prevents corporate enshitification. When Threads federates, and should for example something like Tumblr and maybe some others do so such that the majoriyt of the fediverse is actually on corporate platforms funded by ads and data tracking (which can apply just as well to content that federates with such platfroms from otherwise FOSS platforms) … is that not some form of enshitification? Which isn’t to touch on the things that can happen to the ecosystem once big-corp wield such large user bases.

              What protects the fediverse then? I’d guess it’s that the platforms we have are FOSS and those of us who want to break away and start our own instances can. But that’s not the protocol or federation … that’s FOSS platforms and commitment to values and working together. If I’ve got a point with this … the broader abstract idea is that many of these problems are not tech problems but people problems, and, very much to my broader point, confusing people problems with tech problems can lead you astray into making solutions that do not succeed because you’re blindsided by your tunnel vision love for the tech solution.

              I’m genuinely curious to know if/how I’m wrong about this. Because a decent read of the fediverse in the wake of the “2023 migrations” is that, to many people, federation itself was form of social media shitification … in that it was seens as an overly complex and annoying technology that actively disrupted and sometimes worsened the core features and motivations of social media … socialising with people … all while acolytes could only tell complainants that their issues weren’t meaningful or serious enough and were likely due to them not using the fediverse correctly. Now I’m here, obviously, because I’m a fan. But I can’t shake the possibility that the fediverse might have fatal flaws and am always a fan of solutions that stick with what’s easy and tried and true (generally good engineering advice IMO).