Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • 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
We Distribute
  1. Home
  2. General Discussion
  3. What if...

What if...

Scheduled Pinned Locked Moved General Discussion
activitypub
70 Posts 18 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.
  • evan@cosocial.caE evan@cosocial.ca

    @silverpill @mariusor @steve @raphael

    For example, let's say we decide that an `Arrive` activity should update the `location` property of the actor.

    `Arrive` isn't a core activity in AP. So, instead of expecting the server to change the `location`, the client can send an additional `Update` activity to change the actor's `location` itself.

    With CRUD activities and collection activities in core we can get a lot of this done from the client side.

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

    @silverpill @mariusor @steve @raphael

    I think there's value in having a negotiation between the client and the server so the server can declare its support for side effects for extensions. A way for the server to say, "I'll handle side effects for geosocial applications". Then the client can skip implementing those side effects itself.

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

      @mariusor @steve @evan @raphael An extension is a protocol extension. Specifically, I talked about activity types that are not mentioned in ActivityPub.

      Here is a side effect of a Like activity:

      The side effect of receiving this in an outbox is that the server SHOULD add the object to the actor's liked Collection.

      Now imagine that you have an EmojiReact activity which server should add to object's emojiReactions collection as a side-effect.

      A generic server should be able to do that.

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

      @silverpill @mariusor @evan @raphael "you have an EmojiReact activity which server should add to object's emojiReactions collection as a side-effect."

      It's a direct rather than side effect, but how is that different from Add(object=EmojiReact, target=object_emojiReactions)? A generic server could support that.

      silverpill@mitra.socialS 1 Reply Last reply
      0
      • evan@cosocial.caE evan@cosocial.ca

        @silverpill @mariusor @steve @raphael

        I think there's value in having a negotiation between the client and the server so the server can declare its support for side effects for extensions. A way for the server to say, "I'll handle side effects for geosocial applications". Then the client can skip implementing those side effects itself.

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

        @silverpill @mariusor @steve @raphael

        More powerful would be a way for clients or actors to define side effect rules for servers dynamically. "If you get an Arrive activity, set the actor's location."

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

          @silverpill @mariusor @steve @raphael

          More powerful would be a way for clients or actors to define side effect rules for servers dynamically. "If you get an Arrive activity, set the actor's location."

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

          @silverpill @mariusor @steve @raphael

          All that said, I think we can get pretty far with the core AP activities with defined side effects, and extension activities with "side effects" implemented by the client.

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

            @silverpill @mariusor @evan @raphael "you have an EmojiReact activity which server should add to object's emojiReactions collection as a side-effect."

            It's a direct rather than side effect, but how is that different from Add(object=EmojiReact, target=object_emojiReactions)? A generic server could support that.

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

            @steve By side effect I mean anything that is not directly expressed in the activity, and EmojiReact usually doesn't specify that emojiReactions collection should be updated.

            Add(object=EmojiReact, target=object_emojiReactions)? A generic server could support that.

            Yes, this is what I said in the beginning of this sub-thread. All side-effects should be made explicit (at least for non-standard activities).

            @mariusor @evan @raphael

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

              @raphael @steve @evan It relates to ActivityPub API because ActivityPub is described as an extensible protocol. If a server doesn't support "extensions", it is not a generic server.

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

              @silverpill @raphael @steve I think that comes down to what you mean by "support".

              I think a server that delivers extension activities, or activities with extension properties or extension types as `object` etc , locally or remotely, is "supporting" those types.

              Implementing server-side side effects of some extensions may be a bonus, but we can build a lot of great stuff without it.

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

                @raphael @silverpill @steve I also think that Steve's vision is realisable with ActivityPub API, although I think adding optional features like search, server push and so on makes it easier.

                naturzukunft2026@mastodon.socialN This user is from outside of this forum
                naturzukunft2026@mastodon.socialN This user is from outside of this forum
                naturzukunft2026@mastodon.social
                wrote last edited by
                #56

                @steve Hi Steve,were do i find you Vision? Fredy

                steve@social.technoetic.comS 1 Reply Last reply
                0
                • evan@cosocial.caE evan@cosocial.ca

                  @steve I believe in this vision.

                  fasnix@fe.disroot.orgF This user is from outside of this forum
                  fasnix@fe.disroot.orgF This user is from outside of this forum
                  fasnix@fe.disroot.org
                  wrote last edited by
                  #57
                  @evan @steve

                  Isn't that what Holos.social offers (at least very similar)?
                  steve@social.technoetic.comS evan@cosocial.caE 2 Replies Last reply
                  0
                  • fasnix@fe.disroot.orgF fasnix@fe.disroot.org
                    @evan @steve

                    Isn't that what Holos.social offers (at least very similar)?
                    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
                    #58

                    @fasnix @evan AFAIK, @HolosSocial is a quite different architecture. The AP identity is bound to a phone and can't be shared with other client applications. However, I haven't used it. Let me know if this isn't correct.

                    1 Reply Last reply
                    0
                    • naturzukunft2026@mastodon.socialN naturzukunft2026@mastodon.social

                      @steve Hi Steve,were do i find you Vision? Fredy

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

                      @naturzukunft2026 👋 I'm not exactly sure what you're asking, but there's a W3C ActivityPub API (C2S) Task Force meeting on March 19. That's where C2S extensions will be discussed. It's listed on the SocialCG events calendar.

                      Link Preview Image
                      Social Web Incubator Community Group - Calendar

                      The World Wide Web Consortium (W3C) is an international community where Member organizations, a full-time staff, and the public work together to develop Web standards.

                      favicon

                      W3C (www.w3.org)

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

                        What if... you had one Fedi account on a generic headless #ActivityPub server that simply hosts and federates your data... and had C2S UIs for microblogging, long form writing, media editing and sharing, link aggregation, games, fitness tracking, and so on, that all used that same Fedi account. Technically, it's a similar concept as ATProto (but no relay and app view) and Solid Pods (but no RDF).

                        It seems possible... if we can improve the AP C2S API/protocol sufficiently.

                        nathan@ublog.hurel.meN This user is from outside of this forum
                        nathan@ublog.hurel.meN This user is from outside of this forum
                        nathan@ublog.hurel.me
                        wrote last edited by
                        #60

                        @steve@social.technoetic.com looks similar to https://activitypods.org/ approach ?

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

                          What if... you had one Fedi account on a generic headless #ActivityPub server that simply hosts and federates your data... and had C2S UIs for microblogging, long form writing, media editing and sharing, link aggregation, games, fitness tracking, and so on, that all used that same Fedi account. Technically, it's a similar concept as ATProto (but no relay and app view) and Solid Pods (but no RDF).

                          It seems possible... if we can improve the AP C2S API/protocol sufficiently.

                          nathan@ublog.hurel.meN This user is from outside of this forum
                          nathan@ublog.hurel.meN This user is from outside of this forum
                          nathan@ublog.hurel.me
                          wrote last edited by
                          #61

                          @steve@social.technoetic.com I wonder if we want 1 single fediverse account for everything or if it still makes sense to split our identities for different needs 🤔
                          1 server centralizing all my fediverse accounts (via C2S for standardisation) and 1 or multiple client apps to read from this server would be another option. Any thoughts?

                          steve@social.technoetic.comS 1 Reply Last reply
                          0
                          • nathan@ublog.hurel.meN nathan@ublog.hurel.me

                            @steve@social.technoetic.com looks similar to https://activitypods.org/ approach ?

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

                            @nathan Yes, ActivityPods (Mastopod) is similar, but based on Solid and RDF. The last time I checked, their C2S client was specific to Mastopod. However, that may have changed.

                            1 Reply Last reply
                            0
                            • nathan@ublog.hurel.meN nathan@ublog.hurel.me

                              @steve@social.technoetic.com I wonder if we want 1 single fediverse account for everything or if it still makes sense to split our identities for different needs 🤔
                              1 server centralizing all my fediverse accounts (via C2S for standardisation) and 1 or multiple client apps to read from this server would be another option. Any thoughts?

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

                              @nathan Nothing I'm describing would force you to have one account. With multiple accounts, if they are hosted in one server or across multiple servers doesn't change the approach. For now, I'm discussing single actor clients, but theoretically multi-actor clients could be written too (I haven't thought much about that).

                              nathan@ublog.hurel.meN 1 Reply Last reply
                              0
                              • steve@social.technoetic.comS steve@social.technoetic.com

                                @nathan Nothing I'm describing would force you to have one account. With multiple accounts, if they are hosted in one server or across multiple servers doesn't change the approach. For now, I'm discussing single actor clients, but theoretically multi-actor clients could be written too (I haven't thought much about that).

                                nathan@ublog.hurel.meN This user is from outside of this forum
                                nathan@ublog.hurel.meN This user is from outside of this forum
                                nathan@ublog.hurel.me
                                wrote last edited by
                                #64

                                @steve@social.technoetic.com yes indeed it would still be possible to have multiple identities with your proposal 👍
                                I'm also thinking about the migration path. As many people already have accounts on mastodon or others, should they migrate to this new one ?

                                steve@social.technoetic.comS 1 Reply Last reply
                                0
                                • nathan@ublog.hurel.meN nathan@ublog.hurel.me

                                  @steve@social.technoetic.com yes indeed it would still be possible to have multiple identities with your proposal 👍
                                  I'm also thinking about the migration path. As many people already have accounts on mastodon or others, should they migrate to this new one ?

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

                                  @nathan It's too early to say, but the improved UX enabled by an extended AP C2S would potentially motivate users to switch. The migration support will depend on the server implementations (Mastodon-style, LOLA, Nomad, ...).

                                  nathan@ublog.hurel.meN 1 Reply Last reply
                                  0
                                  • steve@social.technoetic.comS steve@social.technoetic.com

                                    @nathan It's too early to say, but the improved UX enabled by an extended AP C2S would potentially motivate users to switch. The migration support will depend on the server implementations (Mastodon-style, LOLA, Nomad, ...).

                                    nathan@ublog.hurel.meN This user is from outside of this forum
                                    nathan@ublog.hurel.meN This user is from outside of this forum
                                    nathan@ublog.hurel.me
                                    wrote last edited by
                                    #66

                                    @steve@social.technoetic.com correct I'm a bit too much anticipating 😅
                                    let's build step by step !

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

                                      @mariusor @steve Does your server work with https://checkin.swf.pub/ ? Or https://github.com/evanp/ap ?

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

                                      Hey @evan ... I've looked into why I get issues with checkin.swf.pub, and it could be that I'm doing something wrong, but it hits my servers using client_id=https://checkin.swf.pub/client.jsonld

                                      Which, when gets dereferenced serves an ActivityPub Actor(ish) like document instead of the Client ID Metadata I'm expecting.

                                      I remember I was arguing with Emelia about how to server both formats from the same URL, but in the end I decided it's not worth my time trying to do both, and I'm just expecting the data model described in the RFC7591 Sect2: https://datatracker.ietf.org/doc/html/rfc7591#section-2

                                      evan@cosocial.caE 1 Reply Last reply
                                      0
                                      • fasnix@fe.disroot.orgF fasnix@fe.disroot.org
                                        @evan @steve

                                        Isn't that what Holos.social offers (at least very similar)?
                                        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
                                        #68

                                        @fasnix @steve I don't know. You tell me!

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

                                          Hey @evan ... I've looked into why I get issues with checkin.swf.pub, and it could be that I'm doing something wrong, but it hits my servers using client_id=https://checkin.swf.pub/client.jsonld

                                          Which, when gets dereferenced serves an ActivityPub Actor(ish) like document instead of the Client ID Metadata I'm expecting.

                                          I remember I was arguing with Emelia about how to server both formats from the same URL, but in the end I decided it's not worth my time trying to do both, and I'm just expecting the data model described in the RFC7591 Sect2: https://datatracker.ietf.org/doc/html/rfc7591#section-2

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

                                          @mariusor I'll check it!

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