• rglullis@communick.news
    link
    fedilink
    English
    arrow-up
    2
    ·
    16 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
      ·
      14 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
          ·
          11 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
            ·
            9 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.