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 (Darkly)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Uncategorized
  3. I'm playing around with Offer activities in Fedify.

I'm playing around with Offer activities in Fedify.

Scheduled Pinned Locked Moved Uncategorized
activitypub
8 Posts 4 Posters 0 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.
  • Box464B This user is from outside of this forum
    Box464B This user is from outside of this forum
    Box464
    wrote last edited by
    #1

    I'm playing around with Offer activities in Fedify. The AP Vocab provides this, easy peasy.

    ✅ Alice OFFERS Book to Bob
    ✅ Bob ACCEPTS Alice's OFFER

    Or:

    ✅ Bob OFFERS Rotten Tomato to Alice
    ❌ Alice REJECTS Bob's OFFER

    ----------------

    But I'm not clear if this is right:

    ❓Alice ANNOUNCES OFFER of Labubu to Followers?

    ❓Bob OFFERS $10 for Labubu to Alice?

    ❓ Alice ACCEPTS Bob's OFFER of $10 for Labubu?

    ✅ Alice OFFERS Labubu to Bob

    ✅ Bob ACCEPTS Labubu

    #ActivityPub

    🪨V ivanI 2 Replies Last reply
    2
    0
    • R ActivityRelay shared this topic
    • Box464B Box464

      I'm playing around with Offer activities in Fedify. The AP Vocab provides this, easy peasy.

      ✅ Alice OFFERS Book to Bob
      ✅ Bob ACCEPTS Alice's OFFER

      Or:

      ✅ Bob OFFERS Rotten Tomato to Alice
      ❌ Alice REJECTS Bob's OFFER

      ----------------

      But I'm not clear if this is right:

      ❓Alice ANNOUNCES OFFER of Labubu to Followers?

      ❓Bob OFFERS $10 for Labubu to Alice?

      ❓ Alice ACCEPTS Bob's OFFER of $10 for Labubu?

      ✅ Alice OFFERS Labubu to Bob

      ✅ Bob ACCEPTS Labubu

      #ActivityPub

      🪨V This user is from outside of this forum
      🪨V This user is from outside of this forum
      🪨
      wrote last edited by
      #2

      @box464 I think the Announce isn't really needed in the first place, the original Create should allow the object to reach its audience. Also, Offer is an activity, so the first one feels odd. I'd just Create a Note with the details, or some custom object if you want to have it used as a special logic for the frontend, or want to use custom fields for price for instance. Maybe using schema.org's Product (I just find the fact that they use their own Offer type for the price a bit confusing)

      🫧 socialcoding..S 1 Reply Last reply
      0
      • Box464B Box464

        I'm playing around with Offer activities in Fedify. The AP Vocab provides this, easy peasy.

        ✅ Alice OFFERS Book to Bob
        ✅ Bob ACCEPTS Alice's OFFER

        Or:

        ✅ Bob OFFERS Rotten Tomato to Alice
        ❌ Alice REJECTS Bob's OFFER

        ----------------

        But I'm not clear if this is right:

        ❓Alice ANNOUNCES OFFER of Labubu to Followers?

        ❓Bob OFFERS $10 for Labubu to Alice?

        ❓ Alice ACCEPTS Bob's OFFER of $10 for Labubu?

        ✅ Alice OFFERS Labubu to Bob

        ✅ Bob ACCEPTS Labubu

        #ActivityPub

        ivanI This user is from outside of this forum
        ivanI This user is from outside of this forum
        ivan
        wrote last edited by
        #3

        @smallcircles@social.coop @box464@mastodon.social ​oh super interesting!

        ivanI 1 Reply Last reply
        0
        • ivanI ivan

          @smallcircles@social.coop @box464@mastodon.social ​oh super interesting!

          ivanI This user is from outside of this forum
          ivanI This user is from outside of this forum
          ivan
          wrote last edited by
          #4

          @box464@mastodon.social @smallcircles@social.coop ​@bhaugen@social.coop @lynnfoster@social.coop

          1 Reply Last reply
          0
          • 🪨V 🪨

            @box464 I think the Announce isn't really needed in the first place, the original Create should allow the object to reach its audience. Also, Offer is an activity, so the first one feels odd. I'd just Create a Note with the details, or some custom object if you want to have it used as a special logic for the frontend, or want to use custom fields for price for instance. Maybe using schema.org's Product (I just find the fact that they use their own Offer type for the price a bit confusing)

            🫧 socialcoding..S This user is from outside of this forum
            🫧 socialcoding..S This user is from outside of this forum
            🫧 socialcoding..
            wrote last edited by
            #5

            @Varpie @box464 @ivan

            Yes. Depending on what you want I'd follow a more design-first approach of the particular domain you want to model. And not shy away from custom types, or better, an existing domain-specific vocab.

            On the fediverse there's this urge to try to cram and map any functionality on the poor #ActivityStreams vocabulary, which only has a small number of 'social networking primitives' to work with. The use case section in the spec at par. 5.8.12 states that Offer involves "offering one object to another" which is a very low-level technical ability, more indicating of a protocol capability than for general use as "business domain".

            https://www.w3.org/TR/activitystreams-vocabulary/#motivations

            In your last scenario "Bidding" seems to indicate the business domain / bounded context, part of perhaps a larger eCommerce toplevel domain. You might use https://eventmodeling.org

            Also: who is the actor? You may have an Offer service, and "OfferService announces Alice's offer".

            Interesting too: https://offerbots.org/the-problem/

            🫧 socialcoding..S 1 Reply Last reply
            0
            • 🫧 socialcoding..S 🫧 socialcoding..

              @Varpie @box464 @ivan

              Yes. Depending on what you want I'd follow a more design-first approach of the particular domain you want to model. And not shy away from custom types, or better, an existing domain-specific vocab.

              On the fediverse there's this urge to try to cram and map any functionality on the poor #ActivityStreams vocabulary, which only has a small number of 'social networking primitives' to work with. The use case section in the spec at par. 5.8.12 states that Offer involves "offering one object to another" which is a very low-level technical ability, more indicating of a protocol capability than for general use as "business domain".

              https://www.w3.org/TR/activitystreams-vocabulary/#motivations

              In your last scenario "Bidding" seems to indicate the business domain / bounded context, part of perhaps a larger eCommerce toplevel domain. You might use https://eventmodeling.org

              Also: who is the actor? You may have an Offer service, and "OfferService announces Alice's offer".

              Interesting too: https://offerbots.org/the-problem/

              🫧 socialcoding..S This user is from outside of this forum
              🫧 socialcoding..S This user is from outside of this forum
              🫧 socialcoding..
              wrote last edited by
              #6

              @Varpie @box464 @ivan

              Btw, I added #OfferBots at the end, a (halted) project by Andrew Mackie, that has a very interesting concept for the #ActivityPub fedi. The website describes *very well* the problem with "aggregators" to be addressed, but the solution section of the website is not up to par. It was stopped right at the time when Andrew became aware of the fediverse.

              Discussed here on #SocialHub:

              https://socialhub.activitypub.rocks/t/offers-unchained-federated-offerbots/697

              🫧 socialcoding..S 1 Reply Last reply
              0
              • 🫧 socialcoding..S 🫧 socialcoding..

                @Varpie @box464 @ivan

                Btw, I added #OfferBots at the end, a (halted) project by Andrew Mackie, that has a very interesting concept for the #ActivityPub fedi. The website describes *very well* the problem with "aggregators" to be addressed, but the solution section of the website is not up to par. It was stopped right at the time when Andrew became aware of the fediverse.

                Discussed here on #SocialHub:

                https://socialhub.activitypub.rocks/t/offers-unchained-federated-offerbots/697

                🫧 socialcoding..S This user is from outside of this forum
                🫧 socialcoding..S This user is from outside of this forum
                🫧 socialcoding..
                wrote last edited by
                #7

                @Varpie @box464 @ivan

                To just name a well-known existing eCommerce vocabulary: GoodRelations.

                http://wiki.goodrelations-vocabulary.org/Cookbook/

                Not saying it is appropriate, or the only choice, but just as example. Here you'd have a gr:Offering instead of an as:Offer to indicate "something available for purchase (or bartering)". And there are a bunch of constructs to model payment, delivery methods, etc.

                Avoiding the very generic as:Offer has the advantage you convey proper meaning, and don't get to deal with "whack-a-mole" development where you have to adapt your internal business logic to all the overloaded uses some app developer put on the fediverse wire for their own custom as:Offer interpretation 🙂

                🫧 socialcoding..S 1 Reply Last reply
                0
                • 🫧 socialcoding..S 🫧 socialcoding..

                  @Varpie @box464 @ivan

                  To just name a well-known existing eCommerce vocabulary: GoodRelations.

                  http://wiki.goodrelations-vocabulary.org/Cookbook/

                  Not saying it is appropriate, or the only choice, but just as example. Here you'd have a gr:Offering instead of an as:Offer to indicate "something available for purchase (or bartering)". And there are a bunch of constructs to model payment, delivery methods, etc.

                  Avoiding the very generic as:Offer has the advantage you convey proper meaning, and don't get to deal with "whack-a-mole" development where you have to adapt your internal business logic to all the overloaded uses some app developer put on the fediverse wire for their own custom as:Offer interpretation 🙂

                  🫧 socialcoding..S This user is from outside of this forum
                  🫧 socialcoding..S This user is from outside of this forum
                  🫧 socialcoding..
                  wrote last edited by
                  #8

                  @Varpie @box464 @ivan

                  If you look at https://forgefed.org it chose to implement as:Offer in the context of "software development" toplevel domain (or perhaps "code forges" application domain).

                  Here we may say that it is alright to do so, if its use adheres the informatively specified functionality of "offering one object to another" in that general sense.

                  Yet I think I'd model this quite differently, and mapping to ActivityStreams is more a disadvantage than anything else. The spec has to describe the combinatorial logic of what to do when receiving as:Offer and needs a 'smart pre-processor' to determine the use case and bounded context.

                  1 Reply Last reply
                  0
                  • R AodeRelay shared this topic
                  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