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. Why did #ActivityPub create special behaviors such as Like, Announce and Block (and the Undo variants) instead of using Add to or Remove from the associated Collection objects?

Why did #ActivityPub create special behaviors such as Like, Announce and Block (and the Undo variants) instead of using Add to or Remove from the associated Collection objects?

Scheduled Pinned Locked Moved General Discussion
activitypub
28 Posts 8 Posters 2 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.
  • eyeinthesky@mastodon.socialE eyeinthesky@mastodon.social

    @thisismissem @smallcircles Per the AP spec… “The side effect of receiving this in an inbox is that the server SHOULD increment the object's count of likes by adding the received **activity** to the likes collection if this collection is present.” (emphasis mine)

    thisismissem@hachyderm.ioT This user is from outside of this forum
    thisismissem@hachyderm.ioT This user is from outside of this forum
    thisismissem@hachyderm.io
    wrote last edited by
    #15

    @eyeinthesky @smallcircles I suspect this is incorrect. I am pretty sure the likes collection contains only objects, not the activities.

    @evan was there an erratum for this? I feel like there was?

    eyeinthesky@mastodon.socialE 1 Reply Last reply
    0
    • thisismissem@hachyderm.ioT This user is from outside of this forum
      thisismissem@hachyderm.ioT This user is from outside of this forum
      thisismissem@hachyderm.io
      wrote last edited by
      #16

      @smallcircles @eyeinthesky yeah, making everything an Actor is certainly a choice, and you could do that

      1 Reply Last reply
      0
      • thisismissem@hachyderm.ioT thisismissem@hachyderm.io

        @eyeinthesky @smallcircles I suspect this is incorrect. I am pretty sure the likes collection contains only objects, not the activities.

        @evan was there an erratum for this? I feel like there was?

        eyeinthesky@mastodon.socialE This user is from outside of this forum
        eyeinthesky@mastodon.socialE This user is from outside of this forum
        eyeinthesky@mastodon.social
        wrote last edited by
        #17

        @thisismissem @smallcircles @evan It makes sense to me. Someone liked a local object. We wouldn’t add the liked object to the liked object “likes” collection (it would be the same object). It seems that only the activity (and collection count) is interesting. Maybe you are thinking about the “liked” collection? (Different topic, but it seems that this *should* be a collection of activities too. Dropping the activity loses info such as the Like timestamp.)

        1 Reply Last reply
        0
        • 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
          #18

          @thisismissem @eyeinthesky

          The biggest folly imho is this idea of "let's cram every domain into #ActivityStreams somehow". Flatten everything and project it onto this small set of social primitives that AS defines.

          It is once more a choice of pragmatism: "Hey, I've seen it working with Mastodon, so I copied that. And #LinkedData extension mechanism is a handwaved horror show".

          So understandable perhaps that we did it. But now we must overcome this trend which has taken stubborn root and drags the ecosystem down.

          thisismissem@hachyderm.ioT 1 Reply Last reply
          0
          • eyeinthesky@mastodon.socialE eyeinthesky@mastodon.social

            Why did #ActivityPub create special behaviors such as Like, Announce and Block (and the Undo variants) instead of using Add to or Remove from the associated Collection objects? I have a similar question for outbox and inbox POST, which is an implicit Add to those collections. When adding support for extended collections, is an new collection-specific Activity preferred over Add/Remove? FWIW, I see Mastodon uses Add/Remove for pinned and featured posts.

            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
            #19

            @eyeinthesky I think Add / Remove should be used for extended collections. Like, Announce etc look like legacy / tech debt to me.

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

              @eyeinthesky I think Add / Remove should be used for extended collections. Like, Announce etc look like legacy / tech debt to me.

              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
              #20

              @silverpill@mitra.social add and remove feel more like building blocks than actual activities.

              It would never capture the nuance of many of the activities that it would purportedly represent.

              silverpill@mitra.socialS 1 Reply Last reply
              0
              • julian@activitypub.spaceJ julian@activitypub.space

                @silverpill@mitra.social add and remove feel more like building blocks than actual activities.

                It would never capture the nuance of many of the activities that it would purportedly represent.

                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
                #21

                @julian @thisismissem @eyeinthesky @mariusor @smallcircles

                Yes, they are building blocks, together with Create, Update and Delete. Everything else can be constructed from them.

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

                  @julian @thisismissem @eyeinthesky @mariusor @smallcircles

                  Yes, they are building blocks, together with Create, Update and Delete. Everything else can be constructed from 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
                  #22

                  @julian @thisismissem @eyeinthesky @mariusor @smallcircles Maybe Offer, Accept and Reject are needed too. Follow can be replaced with Offer(Relationship), I am not sure if there's a way to do it with Add / Remove alone.

                  1 Reply Last reply
                  0
                  • eyeinthesky@mastodon.socialE This user is from outside of this forum
                    eyeinthesky@mastodon.socialE This user is from outside of this forum
                    eyeinthesky@mastodon.social
                    wrote last edited by
                    #23

                    @julian @silverpill Add/Remove don’t replace the activity being added/removed so there’s no risk to nuance from my perspective. They make the collection side-effects explicit and consistent with other non-special collections. Sometimes the Add (or Remove) is the primary activity rather than only a building block (Add a member to my Group, Add an Article to my fave articles, Add a song to a social play list — maybe with an Announce of the Add sent to followers).

                    1 Reply Last reply
                    0
                    • mariusor@metalhead.clubM mariusor@metalhead.club

                      @eyeinthesky my assumption for why there's multiple methods for achieving relatively similar results is that first the social vocabulary was created as a way to express the actions that the existing platforms already had enshrined, and then other operations, like collection management, were needed.

                      But as @thisismissem already said, the canonical social activities have specific side effects attached to their behaviour that extend to the entire social graph, and those are what ActivityPub actually codifies into its specification.

                      apparentlymart@mastodon.onlineA This user is from outside of this forum
                      apparentlymart@mastodon.onlineA This user is from outside of this forum
                      apparentlymart@mastodon.online
                      wrote last edited by
                      #24

                      @mariusor
                      The earliest discussions on Activity Streams did constantly get stuck on which platforms' concepts were "real" and which was just an alias for another.

                      e.g. is a "tweet" the same thing as a blog post? As a status update on Facebook?
                      e.g. is listening to a podcast the same verb as watching a video on YouTube?
                      e.g. is "liking" the same verb as adding to a "Favorites" playlist?

                      In retrospect I think it was naive to try to be so specific, since it was too early for that, but alas. 🤷🏻‍♂️

                      mariusor@metalhead.clubM 1 Reply Last reply
                      0
                      • apparentlymart@mastodon.onlineA apparentlymart@mastodon.online

                        @mariusor
                        The earliest discussions on Activity Streams did constantly get stuck on which platforms' concepts were "real" and which was just an alias for another.

                        e.g. is a "tweet" the same thing as a blog post? As a status update on Facebook?
                        e.g. is listening to a podcast the same verb as watching a video on YouTube?
                        e.g. is "liking" the same verb as adding to a "Favorites" playlist?

                        In retrospect I think it was naive to try to be so specific, since it was too early for that, but alas. 🤷🏻‍♂️

                        mariusor@metalhead.clubM This user is from outside of this forum
                        mariusor@metalhead.clubM This user is from outside of this forum
                        mariusor@metalhead.club
                        wrote last edited by
                        #25

                        @apparentlymart very interesting perspective, thank you. 🙂

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

                          @thisismissem @eyeinthesky

                          The biggest folly imho is this idea of "let's cram every domain into #ActivityStreams somehow". Flatten everything and project it onto this small set of social primitives that AS defines.

                          It is once more a choice of pragmatism: "Hey, I've seen it working with Mastodon, so I copied that. And #LinkedData extension mechanism is a handwaved horror show".

                          So understandable perhaps that we did it. But now we must overcome this trend which has taken stubborn root and drags the ecosystem down.

                          thisismissem@hachyderm.ioT This user is from outside of this forum
                          thisismissem@hachyderm.ioT This user is from outside of this forum
                          thisismissem@hachyderm.io
                          wrote last edited by
                          #26

                          @smallcircles @eyeinthesky I was mostly thinking of the Follow activity and the following collection: it doesn't contain Follow activities, it contains Actors: https://hachyderm.io/users/thisismissem/following?page=1

                          In Mastodon the "likes" collection for a Note doesn't even include the Actors, just the count: https://browser.pub/https%3A%2F%2Fhachyderm.io%2Fusers%2Fthisismissem%2Fstatuses%2F115622304738688291%2Flikes

                          1 Reply Last reply
                          0
                          • eyeinthesky@mastodon.socialE eyeinthesky@mastodon.social

                            @thisismissem @smallcircles The weird thing about Like+side_effects vs Add(Like activity to “likes collections”) is that the side effect is Add Like to “likes collection”. lol They are both one inbox activity.

                            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
                            #27

                            @eyeinthesky @thisismissem @smallcircles i would use as:result for this -- the *result* when you Accept the Like activity is to Add it to the likes collection... if you care about that level of detail. most people only care about the Like. maybe even less than that! (synthesizing a statement such as :bob :likes :this.)

                            1 Reply Last reply
                            0
                            • thisismissem@hachyderm.ioT thisismissem@hachyderm.io

                              @eyeinthesky @smallcircles that's the thing though! The likes collection doesn't contain activities, it contains objects.

                              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
                              #28

                              @thisismissem @eyeinthesky @smallcircles likes contains Like activities; shares contains Announce activities; the exception is followers not containing the Follow activity (or not having a follows collection) (or not doing the better thing which is subscription management)

                              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