• Blender Dumbass@lm.madiator.cloudOP
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    2 days ago

    Storage Duplication is I think not necessarily an issue of ActivityPub, it’s an issue of implementation of it. Because all posts can technically live on their respective servers. And rendered directly or almost directly. Like it can be copied over for the time it is relevant, and then discarded to be available only from the original server.

    • Ben Matthews@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      1
      ·
      2 days ago

      That makes sense, to store only popular stuff, or temporarily - especially for ‘heavier’ images (although as we see with lemm.ee, that leads to issues when an instance dies). Yet I also wonder about the scalability of just the minimum meta-info, whose size does depend on the protocol design.
      For example with Lemmy every upvote click propagates across the network (if i understand correctly, mastodon doesn’t propagate ‘likes’ so consistently, presumably for efficiency, but this can make it seem ‘empty’). Maybe such meta-info could be batched, or gathered by a smaller set of ‘node’ instances, from which others pick up periodically - some tree to disperse information rather than directly each instance to each other instance ?
      As the fediverse grows, gathering past meta-info might also become a barrier to new entrant instances ?

      • rglullis@communick.news
        link
        fedilink
        English
        arrow-up
        2
        ·
        11 hours ago

        mastodon doesn’t propagate ‘likes’ so consistently, presumably for efficiency.

        It is not a matter of efficiency, but solely of how AP works. All it takes is someone one an server to to follow a community for that server to receive every vote/post/comment, while to get a whole conversation thread on Mastodon you’d need to be on the same server as the original poster or your server would need to have at least one person following every server involved in the conversation.

        • Ben Matthews@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 hours ago

          Thanks, that makes sense if I think about it, but maybe users shouldn’t have to - i.e. the Mdon part-conversation way still seems confusing to me (despite being a climate modeler and scala dev), although haven’t used Mdon much since I found Lemmy. And I still feel that both ways seem intrinsically inefficient - for different reasons - if we intend to scale up the global numbers (relating OP).

            • Ben Matthews@sopuli.xyz
              link
              fedilink
              English
              arrow-up
              1
              ·
              5 hours ago

              I agree with most of what you say. I’m a long-time fan of calculating more complex things client side, as you can see from my climate model (currently all calcs within web browser, evolved from java applet to scalajs).
              Also, in regarding social media, keeping the data client side could make the network more resilient in autocratic countries (many), and thelp this become truly a global alternative.
              On the other hand, some ‘trunk’ server interactions could also doing more not less, bundling many ‘activity’ messages together for efficiency - especially to reduce the duplication of meta-info headers in clunky json, and work of authentification-checking (which I suppose has to happen to propagate every upvote in Lemmy?).

              • rglullis@communick.news
                link
                fedilink
                English
                arrow-up
                2
                ·
                4 hours ago

                bundling many ‘activity’ messages together for efficiency - especially to reduce the duplication of meta-info headers in clunky json

                Seems like an optimization that is not really needed. The data format is not really the bottleneck, there are ActivityPub relays that can send messages in bulk and ActivityPub is built on LinkedData, which means that there plenty of powerful libraries in most languages that can parse and produce JSON in a way that keeps application developers with a consistent semantics. The more people try to change the data format in the sake of “efficiency”, the less portable and useful it would be.

                and work of authentification-checking (which I suppose has to happen to propagate every upvote in Lemmy?)

                Yes and no. Most of the current software do authentication by using HTTP Message Signatures, so after you fetch the actor’s public key every request is authenticated by seeing an HTTP header, which makes it no different most common authentication schemes.