Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. General Discussion
  3. I wish #ActivityPub was a "pull" protocol instead of a "push" protocol.

I wish #ActivityPub was a "pull" protocol instead of a "push" protocol.

Scheduled Pinned Locked Moved General Discussion
activitypub
18 Posts 10 Posters 3 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • soapdog@toot.cafeS soapdog@toot.cafe

    I wish #ActivityPub was a "pull" protocol instead of a "push" protocol. The way it works, whenever you take an action, it sends that action to all followers. I would prefer if it simply stored them and then let each follower pull them when they see fit.

    That would introduce latency and more async comms as your messages wouldn't pop up into someone elses feed until their software fetch the data, but I think it would make it easier to self host.

    julian@fietkau.socialJ This user is from outside of this forum
    julian@fietkau.socialJ This user is from outside of this forum
    julian@fietkau.social
    wrote last edited by
    #9

    @soapdog There's a poll-based version specced at https://fediverse.codeberg.page/fep/fep/b06c/, sadly with no notable implementations (wouldn't be interactable by Mastodon etc.), but it's an opportunity to break new ground as an implementer if you know anyone who'd like to experiment with it.

    #ActivityPub #FediDev

    soapdog@toot.cafeS 1 Reply Last reply
    1
    0
    • julian@fietkau.socialJ julian@fietkau.social

      @soapdog There's a poll-based version specced at https://fediverse.codeberg.page/fep/fep/b06c/, sadly with no notable implementations (wouldn't be interactable by Mastodon etc.), but it's an opportunity to break new ground as an implementer if you know anyone who'd like to experiment with it.

      #ActivityPub #FediDev

      soapdog@toot.cafeS This user is from outside of this forum
      soapdog@toot.cafeS This user is from outside of this forum
      soapdog@toot.cafe
      wrote last edited by
      #10

      @julian that was a very interesting read. I think I can implement this. Will try a small experiement soon. Thanks for sharing.

      julian@fietkau.socialJ 1 Reply Last reply
      0
      • david_megginson@mstdn.caD david_megginson@mstdn.ca

        @soapdog Part of the problem is that we set the expectation that the fedi would work just like a monolithic social media site. If we reduced that expectation just a little, the demands would go down a lot.

        Users already accept (or fail to notice) that Mastodon's search and hashtag features aren't really global across the fedi.

        soapdog@toot.cafeS This user is from outside of this forum
        soapdog@toot.cafeS This user is from outside of this forum
        soapdog@toot.cafe
        wrote last edited by
        #11

        @david_megginson the good thing about expectations is that we can adjust them 🙂

        I'm not saying replace AP with something else, I'm saying let's build something different and let them all blossom. I really liked the spec described here:

        https://fediverse.codeberg.page/fep/fep/b06c/

        1 Reply Last reply
        0
        • soapdog@toot.cafeS soapdog@toot.cafe

          @julian that was a very interesting read. I think I can implement this. Will try a small experiement soon. Thanks for sharing.

          julian@fietkau.socialJ This user is from outside of this forum
          julian@fietkau.socialJ This user is from outside of this forum
          julian@fietkau.social
          wrote last edited by
          #12

          @soapdog If you do, be sure to tag @evan! As the FEP author I imagine it would be exciting to hear about new implementations. 🙂

          evan@cosocial.caE 1 Reply Last reply
          0
          • soapdog@toot.cafeS soapdog@toot.cafe

            I wish #ActivityPub was a "pull" protocol instead of a "push" protocol. The way it works, whenever you take an action, it sends that action to all followers. I would prefer if it simply stored them and then let each follower pull them when they see fit.

            That would introduce latency and more async comms as your messages wouldn't pop up into someone elses feed until their software fetch the data, but I think it would make it easier to self host.

            yala@degrowth.socialY This user is from outside of this forum
            yala@degrowth.socialY This user is from outside of this forum
            yala@degrowth.social
            wrote last edited by
            #13

            @soapdog

            We're using pull semantics for data exchange in the federation of wikis, if you'd like to try that out. #FedWiki

            via @smallcircles

            1 Reply Last reply
            0
            • julian@fietkau.socialJ julian@fietkau.social

              @soapdog If you do, be sure to tag @evan! As the FEP author I imagine it would be exciting to hear about new implementations. 🙂

              evan@cosocial.caE This user is from outside of this forum
              evan@cosocial.caE This user is from outside of this forum
              evan@cosocial.ca
              wrote last edited by
              #14

              @julian @soapdog ofc, although I think the overemphasis on number of implementations for FEPs is a bad idea. Most standards docs, like RFCs and W3C recs, don't include implementation info. It changes over time!

              julian@fietkau.socialJ 1 Reply Last reply
              0
              • evan@cosocial.caE evan@cosocial.ca

                @julian @soapdog ofc, although I think the overemphasis on number of implementations for FEPs is a bad idea. Most standards docs, like RFCs and W3C recs, don't include implementation info. It changes over time!

                julian@fietkau.socialJ This user is from outside of this forum
                julian@fietkau.socialJ This user is from outside of this forum
                julian@fietkau.social
                wrote last edited by
                #15

                @evan @soapdog True. I was talking about this just yesterday, if we wouldn't be better served by something wiki-like to host a software project × FEP implementation matrix instead of asking FEP authors to keep their lists updated.

                That aside, in this context I'm thinking about how more implementations in the wild can motivate other implementers. My own website still isn't AP-capable (it's planned, but low priority). If I knew there were a sizable ActivityPoll user base, I'd more likely use it.

                evan@cosocial.caE 1 Reply Last reply
                0
                • julian@fietkau.socialJ julian@fietkau.social

                  @evan @soapdog True. I was talking about this just yesterday, if we wouldn't be better served by something wiki-like to host a software project × FEP implementation matrix instead of asking FEP authors to keep their lists updated.

                  That aside, in this context I'm thinking about how more implementations in the wild can motivate other implementers. My own website still isn't AP-capable (it's planned, but low priority). If I knew there were a sizable ActivityPoll user base, I'd more likely use it.

                  evan@cosocial.caE This user is from outside of this forum
                  evan@cosocial.caE This user is from outside of this forum
                  evan@cosocial.ca
                  wrote last edited by
                  #16

                  @julian @soapdog I agree, it really lowers the bar for publishers.

                  1 Reply Last reply
                  0
                  • soapdog@toot.cafeS soapdog@toot.cafe

                    I wish #ActivityPub was a "pull" protocol instead of a "push" protocol. The way it works, whenever you take an action, it sends that action to all followers. I would prefer if it simply stored them and then let each follower pull them when they see fit.

                    That would introduce latency and more async comms as your messages wouldn't pop up into someone elses feed until their software fetch the data, but I think it would make it easier to self host.

                    badrihippo@fosstodon.orgB This user is from outside of this forum
                    badrihippo@fosstodon.orgB This user is from outside of this forum
                    badrihippo@fosstodon.org
                    wrote last edited by
                    #17

                    @soapdog makes sense. I never had fear of not being able to selfhost an RSS feed

                    1 Reply Last reply
                    0
                    • soapdog@toot.cafeS soapdog@toot.cafe

                      I wish #ActivityPub was a "pull" protocol instead of a "push" protocol. The way it works, whenever you take an action, it sends that action to all followers. I would prefer if it simply stored them and then let each follower pull them when they see fit.

                      That would introduce latency and more async comms as your messages wouldn't pop up into someone elses feed until their software fetch the data, but I think it would make it easier to self host.

                      julian@activitypub.spaceJ This user is from outside of this forum
                      julian@activitypub.spaceJ This user is from outside of this forum
                      julian@activitypub.space
                      wrote last edited by
                      #18

                      @soapdog@toot.cafe hmm... just thinking aloud here.

                      You posit in another post that the network effects inflate exponentially:

                      > Push models are resource hogs that approach exponential growth in a large network like the fediverse

                      That's not true. If you post a message then it sends a copy to each follower. That's linear growth. If you collapse recipients via shared inboxes you can reduce that further.

                      If you're referring to the torrent of requests that happen if your post is shared (the "thundering herd" problem) then that's actually a PULL happening from those requesting instances!

                      Secondly, in a pull model of AP, you would need to continually poll servers of all your followers so as to approach a real-time effect. You'd be polling servers over and over again, and many of them would have nothing new, with so much wasted traffic.

                      If your expectations include semi real-time updates, the push model is much more performant, in my humble opinion.

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      Powered by NodeBB Contributors
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups