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. Recently, there was a discussion about generic #ActivityPub servers.

Recently, there was a discussion about generic #ActivityPub servers.

Scheduled Pinned Locked Moved General Discussion
activitypubfepc2s
67 Posts 11 Posters 14 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.
  • steve@social.technoetic.comS steve@social.technoetic.com

    @silverpill @mariusor @trwnh In principle, I like the general idea, but I think it's misleading to call this an "ActivityPub" server FEP since it doesn't conform to the ActivityPub specifications. You also recommend (require?) using the `result` property to describe server side-effects, but you don't describe *how*. I don't know how you expect to "force clients to specify them".

    silverpill@mitra.socialS This user is from outside of this forum
    silverpill@mitra.socialS This user is from outside of this forum
    silverpill@mitra.social
    wrote last edited by
    #34

    @steve @mariusor @trwnh

    This FEP introduces new requirements to ActivityPub, and I will probably add more in the future. Does that make it non conformant?

    In any case, I think calling it an ActivityPub server is appropriate.

    Side-effects are activities, I will clarify that in the FEP. The value of result property can be an embedded activity, or an array of activities.

    Clients either specify them, or they don't get any side effects.

    steve@social.technoetic.comS trwnh@mastodon.socialT 2 Replies Last reply
    0
    • silverpill@mitra.socialS silverpill@mitra.social

      @steve @mariusor @trwnh

      This FEP introduces new requirements to ActivityPub, and I will probably add more in the future. Does that make it non conformant?

      In any case, I think calling it an ActivityPub server is appropriate.

      Side-effects are activities, I will clarify that in the FEP. The value of result property can be an embedded activity, or an array of activities.

      Clients either specify them, or they don't get any side effects.

      steve@social.technoetic.comS This user is from outside of this forum
      steve@social.technoetic.comS This user is from outside of this forum
      steve@social.technoetic.com
      wrote last edited by
      #35

      @silverpill @mariusor @trwnh
      > This FEP introduces new requirements to ActivityPub, and I will probably add more in the future. Does that make it non conformant?

      Not at all. I was referring to the `Add` without an `object` to create a collection (instead of Create/Collection, I assume).

      silverpill@mitra.socialS 1 Reply Last reply
      0
      • benpate@mastodon.socialB benpate@mastodon.social

        Yes, I think I like the idea of clients being able to store data on the server however they like. It reminds me of this description of ATProto that I found recently: https://overreacted.io/a-social-filesystem/

        I guess my question is: once I store my custom stuff in custom places on my server, how do I publish this so other people can find?

        And, object IDs are usually defined by the server. So how would it work to say "create a collection named XYZ and add this object to it"?

        @silverpill @mariusor @trwnh

        silverpill@mitra.socialS This user is from outside of this forum
        silverpill@mitra.socialS This user is from outside of this forum
        silverpill@mitra.social
        wrote last edited by
        #36

        @benpate Publishing process doesn't change much. A generic server should deliver activities to actors specified in to and cc fields. It should keep track of collections, such as followers collection, and "expand" them before delivery. This part is not different from the regular ActivityPub.

        I think ID assignment should also work the same. In the FEP I proposed Add activity without object as a special activity for creating collections, but now I see that it will not work if IDs are minted by a server (no FEP-ae97).

        Perhaps it should be a Create, after all, as @trwnh described in an adjacent comment. I was hesitant to use Create because this is a problem for FEP-ae97 clients (not a big one though).

        @mariusor @trwnh

        silverpill@mitra.socialS 1 Reply Last reply
        0
        • steve@social.technoetic.comS steve@social.technoetic.com

          @silverpill @mariusor @trwnh
          > This FEP introduces new requirements to ActivityPub, and I will probably add more in the future. Does that make it non conformant?

          Not at all. I was referring to the `Add` without an `object` to create a collection (instead of Create/Collection, I assume).

          silverpill@mitra.socialS This user is from outside of this forum
          silverpill@mitra.socialS This user is from outside of this forum
          silverpill@mitra.social
          wrote last edited by
          #37

          @steve @mariusor @trwnh Yes, this is wrong and I am going to replace Add with Create. I forgot that non-FEP-ae97 clients can't mint identifiers.

          1 Reply Last reply
          0
          • smallcircles@social.coopS smallcircles@social.coop

            @silverpill @raphael @julian @mariusor

            I sometimes picture fediverse as one of these old horseracing toys from the 50s, where the horses represent all the various perspectives and expectations people have of the fediverse. There is no horse to bet on, positions change all the time, horses change tracks randomly. And furthermore there no finish line, the race is an endless slog. The prize of a robust #ActivityPub protocol forever out of reach, getting more elusive as time progresses.

            fox@social.hostnetwork.xyzF This user is from outside of this forum
            fox@social.hostnetwork.xyzF This user is from outside of this forum
            fox@social.hostnetwork.xyz
            wrote last edited by
            #38

            @smallcircles @silverpill @raphael @julian @mariusor ActivityPub as a space is just a mess, we have multiple types of social media clashing all over one protocoll whcih has a bunch of extensions with some being duplicates of other extensions and then diffrent people fighting over which one is the proper one to implement. At somepoint we just need to reset everything and start from a clean plate cause this shit cant go on forever.

            smallcircles@social.coopS raphael@mastodon.communick.comR 2 Replies Last reply
            0
            • fox@social.hostnetwork.xyzF fox@social.hostnetwork.xyz

              @smallcircles @silverpill @raphael @julian @mariusor ActivityPub as a space is just a mess, we have multiple types of social media clashing all over one protocoll whcih has a bunch of extensions with some being duplicates of other extensions and then diffrent people fighting over which one is the proper one to implement. At somepoint we just need to reset everything and start from a clean plate cause this shit cant go on forever.

              smallcircles@social.coopS This user is from outside of this forum
              smallcircles@social.coopS This user is from outside of this forum
              smallcircles@social.coop
              wrote last edited by
              #39

              @fox @silverpill @raphael @julian @mariusor

              Yes. I tooted about the need for Grassroots open standards and Grassroots standardization this morning..

              https://social.coop/@smallcircles/116147786851664068

              In a decentralized grassroots movement, somewhere there needs to an aggregation of the solution artifact. In this case a robust, comprehensible #ActivityPub standard that can be readily implemented in libraries, frameworks and SDK's upon which then subsequently #SocialNetworking solution design can take place.

              This is not centralization, this artifact can be federated. But there must be a place of convergence where consensus on protocol design comes together.

              There might be a crowdsourced ActivityPub 2.0 specs + documentation site, plus a process around it to make it work.

              #SX #SocialCoding

              jwildeboer@social.wildeboer.netJ 1 Reply Last reply
              1
              0
              • smallcircles@social.coopS smallcircles@social.coop

                @fox @silverpill @raphael @julian @mariusor

                Yes. I tooted about the need for Grassroots open standards and Grassroots standardization this morning..

                https://social.coop/@smallcircles/116147786851664068

                In a decentralized grassroots movement, somewhere there needs to an aggregation of the solution artifact. In this case a robust, comprehensible #ActivityPub standard that can be readily implemented in libraries, frameworks and SDK's upon which then subsequently #SocialNetworking solution design can take place.

                This is not centralization, this artifact can be federated. But there must be a place of convergence where consensus on protocol design comes together.

                There might be a crowdsourced ActivityPub 2.0 specs + documentation site, plus a process around it to make it work.

                #SX #SocialCoding

                jwildeboer@social.wildeboer.netJ This user is from outside of this forum
                jwildeboer@social.wildeboer.netJ This user is from outside of this forum
                jwildeboer@social.wildeboer.net
                wrote last edited by
                #40

                @smallcircles So we are at XKCD:927 again? Le Sigh. https://xkcd.com/927/ @fox @silverpill@mitra.social @raphael @julian @mariusor

                smallcircles@social.coopS fox@social.hostnetwork.xyzF 2 Replies Last reply
                0
                • jwildeboer@social.wildeboer.netJ jwildeboer@social.wildeboer.net

                  @smallcircles So we are at XKCD:927 again? Le Sigh. https://xkcd.com/927/ @fox @silverpill@mitra.social @raphael @julian @mariusor

                  smallcircles@social.coopS This user is from outside of this forum
                  smallcircles@social.coopS This user is from outside of this forum
                  smallcircles@social.coop
                  wrote last edited by
                  #41

                  @jwildeboer @fox @raphael @julian @mariusor

                  No, not necessarily. The idea of the Grassroots open standard is that it allows an ecosystem that can evolve. That AP 2.0 artifact can be informal, and gradually adopted in W3C tracks, which I have always been advocating with the 3-stage bottom-up standardization process in the past.

                  Other than that I am musing about a different approach, which is Protosocial, an AP extension that 1.0 compliant. Yet not compliant to the the protocol decay and tech debt ridden fediverse that grew by post-facto interop over time.

                  https://social.coop/@smallcircles/116109447243110037

                  1 Reply Last reply
                  0
                  • jwildeboer@social.wildeboer.netJ jwildeboer@social.wildeboer.net

                    @smallcircles So we are at XKCD:927 again? Le Sigh. https://xkcd.com/927/ @fox @silverpill@mitra.social @raphael @julian @mariusor

                    fox@social.hostnetwork.xyzF This user is from outside of this forum
                    fox@social.hostnetwork.xyzF This user is from outside of this forum
                    fox@social.hostnetwork.xyz
                    wrote last edited by
                    #42

                    @jwildeboer @smallcircles @raphael @julian @mariusor next time just post the image bruh

                    1 Reply Last reply
                    0
                    • fox@social.hostnetwork.xyzF This user is from outside of this forum
                      fox@social.hostnetwork.xyzF This user is from outside of this forum
                      fox@social.hostnetwork.xyz
                      wrote last edited by
                      #43

                      @silverpill @smallcircles @raphael @julian @mariusor Atleast the federation on it doesnt suck ass

                      1 Reply Last reply
                      0
                      • fox@social.hostnetwork.xyzF This user is from outside of this forum
                        fox@social.hostnetwork.xyzF This user is from outside of this forum
                        fox@social.hostnetwork.xyz
                        wrote last edited by
                        #44

                        @silverpill @smallcircles @raphael @julian @mariusor Atleast the federation on it doesnt suck ass. Also the messy part of email is encryption, spam protection and identity verification

                        1 Reply Last reply
                        0
                        • silverpill@mitra.socialS silverpill@mitra.social

                          @benpate Publishing process doesn't change much. A generic server should deliver activities to actors specified in to and cc fields. It should keep track of collections, such as followers collection, and "expand" them before delivery. This part is not different from the regular ActivityPub.

                          I think ID assignment should also work the same. In the FEP I proposed Add activity without object as a special activity for creating collections, but now I see that it will not work if IDs are minted by a server (no FEP-ae97).

                          Perhaps it should be a Create, after all, as @trwnh described in an adjacent comment. I was hesitant to use Create because this is a problem for FEP-ae97 clients (not a big one though).

                          @mariusor @trwnh

                          silverpill@mitra.socialS This user is from outside of this forum
                          silverpill@mitra.socialS This user is from outside of this forum
                          silverpill@mitra.social
                          wrote last edited by
                          #45

                          @benpate

                          Changed it to Create: https://codeberg.org/fediverse/fep/pulls/770

                          @trwnh @mariusor @steve

                          1 Reply Last reply
                          0
                          • smallcircles@social.coopS smallcircles@social.coop

                            @silverpill @raphael @julian @mariusor

                            Btw, damn we should've caused this entire discussion thread to somehow flow to #SocialHub to have it in the archives. Instead of on "now you see me, now you don't" channel. Peekaboo. 🫣

                            https://social.coop/@smallcircles/116141469199837056

                            Here today, gone tomorrow, who made notes? The post-facto interoperability leaders did. Those who happened to be around at the right time to hear things being said on the grapevine.

                            We need a proper Grassroots standardization process, and a Grassroots open standard that is able to healthily evolve. The good organization of this is just as important as the technical robustness of the protocol, which is the solution artifact at the end of the open standards cocreation pipeline.

                            silverpill@mitra.socialS This user is from outside of this forum
                            silverpill@mitra.socialS This user is from outside of this forum
                            silverpill@mitra.social
                            wrote last edited by
                            #46

                            @smallcircles

                            This thread is for arguing about the definition of "generic ActivityPub server" :]

                            I will probably create a topic on SocialHub later.

                            @raphael @julian @mariusor

                            1 Reply Last reply
                            0
                            • smallcircles@social.coopS smallcircles@social.coop

                              @raphael @silverpill @julian @mariusor

                              I agree. Aboveall we need to know where protocol ends and 'app' begins. And be generally more deliberate in terminology use, and no longer talk in overloaded that has different unclear meanings to different people in different settings (to avoid saying 'contexts' one of such overloaded words 🙂

                              I've noticed for instance people having a very different notion of what a 'generic server' is, in definitions that are almost diametrical opposites.

                              My definition of generic is 'not specific' i.e. a generic server is a pure #ActivityPub protocol implementation (which is something to agree upon, what that exactly entails), having no knowledge of *any* app / solution built on top of it or 'passing through' its messaging architecture.

                              In the other meaning a generic server 'knows/does/has it all' i.e. it understands everything we comprise to be 'the fediverse' in a kind of hard-wired fashion based on the functionalities that (marginally) interoperate today.

                              S This user is from outside of this forum
                              S This user is from outside of this forum
                              smlckz@c.im
                              wrote last edited by
                              #47

                              @smallcircles You might find the idea of ''universal'' abstractions interesting in this context: https://www.humprog.org/~stephen/blog/research/recovering-abstraction.html

                              Similarly, the idea of "narrow waist" might also be relevant here: https://www.oilshell.org/blog/2022/03/backlog-arch.html#what-is-a-narrow-waist

                              @raphael @silverpill @julian @mariusor

                              smallcircles@social.coopS 1 Reply Last reply
                              0
                              • fox@social.hostnetwork.xyzF fox@social.hostnetwork.xyz

                                @smallcircles @silverpill @raphael @julian @mariusor ActivityPub as a space is just a mess, we have multiple types of social media clashing all over one protocoll whcih has a bunch of extensions with some being duplicates of other extensions and then diffrent people fighting over which one is the proper one to implement. At somepoint we just need to reset everything and start from a clean plate cause this shit cant go on forever.

                                raphael@mastodon.communick.comR This user is from outside of this forum
                                raphael@mastodon.communick.comR This user is from outside of this forum
                                raphael@mastodon.communick.com
                                wrote last edited by
                                #48

                                @fox

                                No. There is no need to "reset". What we need is to have a two-track system based on the FEPs. Start with the AP standard, create and experiment with different FEPs and every couple of years a new revision comes out and specifies what FEPs should be incorporated. When the XMPP crowd started doing that, it got a lot easier for client developers to know what was important and what wasn't.

                                @smallcircles @silverpill @julian @mariusor

                                1 Reply Last reply
                                0
                                • silverpill@mitra.socialS silverpill@mitra.social

                                  @steve @mariusor @trwnh

                                  This FEP introduces new requirements to ActivityPub, and I will probably add more in the future. Does that make it non conformant?

                                  In any case, I think calling it an ActivityPub server is appropriate.

                                  Side-effects are activities, I will clarify that in the FEP. The value of result property can be an embedded activity, or an array of activities.

                                  Clients either specify them, or they don't get any side effects.

                                  trwnh@mastodon.socialT This user is from outside of this forum
                                  trwnh@mastodon.socialT This user is from outside of this forum
                                  trwnh@mastodon.social
                                  wrote last edited by
                                  #49

                                  @silverpill @steve this actually raises an interesting question about "side effects" and where they live. in the AP spec it's rather muddled and i've talked before about the issue of "activities as content/notifications vs activities as procedure calls". i personally err toward having no side effects, which i think were kind of a mistake for the reason you bring up (generic servers can never be aware of extended side effects).

                                  trwnh@mastodon.socialT 1 Reply Last reply
                                  0
                                  • trwnh@mastodon.socialT trwnh@mastodon.social

                                    @silverpill @steve this actually raises an interesting question about "side effects" and where they live. in the AP spec it's rather muddled and i've talked before about the issue of "activities as content/notifications vs activities as procedure calls". i personally err toward having no side effects, which i think were kind of a mistake for the reason you bring up (generic servers can never be aware of extended side effects).

                                    trwnh@mastodon.socialT This user is from outside of this forum
                                    trwnh@mastodon.socialT This user is from outside of this forum
                                    trwnh@mastodon.social
                                    wrote last edited by
                                    #50

                                    @silverpill @steve typically i've taken a view similar to IFTTT -- the activities describe things that happen, probably already happened. one or more listeners can do whatever they want with that information. CRUD is boring to me and i would rather do that with HTTP (POST/GET/PUT/DELETE); the more interesting activities are things like Listen (scrobbles) or Arrive (checkins) or Question (stackoverflow) or so on.

                                    trwnh@mastodon.socialT 1 Reply Last reply
                                    0
                                    • trwnh@mastodon.socialT trwnh@mastodon.social

                                      @silverpill @steve typically i've taken a view similar to IFTTT -- the activities describe things that happen, probably already happened. one or more listeners can do whatever they want with that information. CRUD is boring to me and i would rather do that with HTTP (POST/GET/PUT/DELETE); the more interesting activities are things like Listen (scrobbles) or Arrive (checkins) or Question (stackoverflow) or so on.

                                      trwnh@mastodon.socialT This user is from outside of this forum
                                      trwnh@mastodon.socialT This user is from outside of this forum
                                      trwnh@mastodon.social
                                      wrote last edited by
                                      #51

                                      @silverpill @steve it sounds like you're describing an "AP server" whose primary functionality is not "publish activities" but rather "manage CRUD for objects and Add/Remove for collections", by taking the AP "side effects" for Create/Update/Delete/Add/Remove and and saying the outbox should also check as:result.

                                      which is cool but should probably be disambiguated.

                                      trwnh@mastodon.socialT 1 Reply Last reply
                                      0
                                      • trwnh@mastodon.socialT trwnh@mastodon.social

                                        @silverpill @steve it sounds like you're describing an "AP server" whose primary functionality is not "publish activities" but rather "manage CRUD for objects and Add/Remove for collections", by taking the AP "side effects" for Create/Update/Delete/Add/Remove and and saying the outbox should also check as:result.

                                        which is cool but should probably be disambiguated.

                                        trwnh@mastodon.socialT This user is from outside of this forum
                                        trwnh@mastodon.socialT This user is from outside of this forum
                                        trwnh@mastodon.social
                                        wrote last edited by
                                        #52

                                        @silverpill @steve so maybe instead of "generic activitypub server" the FEP should be called something like "explicitly specifying side effects with the result property". it seems to me like the references to 2277 and fe34 are not strictly necessary to the core idea and a separate FEP could bundle them together into a profile, like "a profile for using outbox activities to manage objects and collections". not sure what the best name is because naming things is the hardest

                                        steve@social.technoetic.comS 2 Replies Last reply
                                        0
                                        • trwnh@mastodon.socialT trwnh@mastodon.social

                                          @silverpill @steve so maybe instead of "generic activitypub server" the FEP should be called something like "explicitly specifying side effects with the result property". it seems to me like the references to 2277 and fe34 are not strictly necessary to the core idea and a separate FEP could bundle them together into a profile, like "a profile for using outbox activities to manage objects and collections". not sure what the best name is because naming things is the hardest

                                          steve@social.technoetic.comS This user is from outside of this forum
                                          steve@social.technoetic.comS This user is from outside of this forum
                                          steve@social.technoetic.com
                                          wrote last edited by
                                          #53

                                          @trwnh @silverpill I agree about the name and the extraneous external FEP references. Even if focused on side-effects, a properly specified FEP on this topic would be a challenge.

                                          silverpill@mitra.socialS 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