So, if you’re online poisoned like me, you may have noticed that Bluesky CEO Jay Graber has been having sort of a slow motion, low-key public meltdown for the past several weeks. Most recently, in this interaction with a user.
@jcsalterego.bsky.social on Bluesky: "(bluesky user bursts into Waffle House) OH SO YOU HATE PANCAKES??" @jay.bsky.team quotes posts this with: "Too real. We're going to try to fix this. Social media doesn't have to be this way." @antioccident.bsky.social replies to jay asking "have y'all banned Jesse Singal yet or" and Jay responds with "WAFFLES"
[…]
Even with practical technical decentralization, the vast majority of Bluesky users are on, well, Bluesky. Bluesky was never really packaged as something that was relatively easy for someone to spin up on their own servers; the network has been historically extremely centralized, and only small minorities of users have broken off.

AT Proto decentralization doesn’t exist as a practical reality, and if it ever does it won’t be for years. Most of the work driving effective decentralization is being done by third parties, who have limited guarantees about future compatibility with possible breaking changes on Bluesky’s end.

Bluesky inc isn’t really making ‘a protocol’, they’re making Bluesky, the monolithic (to within a rounding error) social network that they operate.

I do genuinely believe that the Bluesky team set off from the start to create a decentralized protocol, but unfortunately for them they ended up running a social network. And at this point, AT Proto has become essentially a sort of ideological vaporware; a way for Jay Graber et al to run a social media platform while claiming they don’t run a social media platform.

This is, of course, just another iteration of the Silicon Valley monoproduct: power without accountability. The tech industry elite are very much like Gilded Age railroad barons – buying up whole towns, breaking up strikes, imposing top-down economic policy on whole sectors – except all the while they claim that they are just technology enthusiasts playing with their little trains.

  • INeedMana@piefed.zip
    link
    fedilink
    English
    arrow-up
    1
    ·
    19 hours ago

    But is that a limitation of AP?

    As far as I understand one could split a fediverse instance into three parts: data, backend and UI. The data is not shared 1to1 - each instance gets a copy of the activity and from that creates it’s own copy. Hence the same post on different instances will have different id The problem we are speaking about is the capability of the backend to process incoming copies. Meaning, I also understand that the part that serves the local data to UI should not be the problem

    What if there was a queue at the front and from the backend a scalable ingestion worker would be split off? Those would only do the putting the actions onto the data. Probably with per community(?) FIFO topics/partitions, so we can process data in parallel and not worry about an updoot for a post that does not exist yet

    Those would still be fairly easy to deploy and be vertically scalable, right? Or is there some bottleneck in the protocol itself?

    • chilicheeselies@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      17 hours ago

      So lets say there are 100 instances. My instance needs to issue api requests to each instance to sync with the network. They in turn need to issues 100 requests to me to sync (and eachother). What about when there are 100k instances? Its exponential.

      From the looks of AT, its farily linear because its really just operating on a set of giant event streams (like kafka).

      To me, ActivityPub being based on REST APIs was always a problem. On the upside it makes it approachable, but its not really the right tech imo. Use something without the overhead of http headers and whatnot.

      • poVoq@slrpnk.net
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 hours ago

        So lets say there are 100 instances. My instance needs to issue api requests to each instance to sync with the network. They in turn need to issues 100 requests to me to sync (and eachother). What about when there are 100k instances? Its exponential.

        This falsely assumes that everything gets federated to everyone, which isn’t the case for ActivityPub. You only get what you actually subscribe to with it.

      • INeedMana@piefed.zip
        link
        fedilink
        English
        arrow-up
        1
        ·
        16 hours ago

        From the looks of AT, its farily linear because its really just operating on a set of giant event streams (like kafka).

        Wouldn’t that mean that this stream will have to scale horizontally?

        • chilicheeselies@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          16 hours ago

          Yes eventually, just like the instances do once enough users are hitting it. Its a matter of how much all servers in the network need to scale, but also the nature of the protocol itself. Streaming binary data is more performant than individual http api requests for instance. Event streams are the way to go un a decentrliazed network for sure.

          • INeedMana@piefed.zip
            link
            fedilink
            English
            arrow-up
            1
            ·
            16 hours ago

            With AP does the exchange have to be http requests? If every instance had a stream instead, would that break the protocol?

            With decentralized AT, who would be maintaining the stream? On the image I don’t see a connection between the alternative firehose and right-side pds’

            • chilicheeselies@lemmy.world
              link
              fedilink
              English
              arrow-up
              2
              ·
              16 hours ago

              I suppose technically someone could implement streaming using AP payloads. So long as the format of the payloads are the same they could translate. It would be a different thing though without the pull part of it