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 (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. I'm curious what other devs think about this.

I'm curious what other devs think about this.

Scheduled Pinned Locked Moved Uncategorized
activitypub
25 Posts 8 Posters 54 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.
  • smallcircles@social.coopS smallcircles@social.coop

    @jerger @steve

    Keeping msgs immutable is a general best-practice, I gather.

    In the case you mention it becomes confusing to still use client/server terminology. You have a full actor on the client's side, and when it sends a msg it acts in server/S2S role.

    Btw, in that scenario we do not have to make the distinction client + server anymore, as we have just actors communicating with each other. Then we can think in terms of the actor model, and honor its qualities.

    A client sending to the server's outbox is then analogous to an actor sending to another actor's inbox. That is a one-way msg exchange usually, fire and forget (esp. in a pure event-driven architecture... which the current fediverse is not). The remote actor is not responsible for keeping the Activity (event) in its server-outbox / actor.inbox. That corresponds to the spec part "may disappear at any moment".

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

    @smallcircles @jerger > In the case you mention it becomes confusing to still use client/server terminology.

    In this case, I think the terms makes sense in the specific content of #ActivityPub clients and servers. There's significant overlap in the behaviors of the two, but there are significant differences too. For example, a client cannot federate and often runs in an environment where it can't expose listening sockets (browser, behind a firewall, etc.).

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

      @smallcircles @jerger > In the case you mention it becomes confusing to still use client/server terminology.

      In this case, I think the terms makes sense in the specific content of #ActivityPub clients and servers. There's significant overlap in the behaviors of the two, but there are significant differences too. For example, a client cannot federate and often runs in an environment where it can't expose listening sockets (browser, behind a firewall, etc.).

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

      @smallcircles @jerger I feel like using C2S client and S2S server is a bit more precise than "app" for this thread. At this point, I haven't been able to determine how you define "app".

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

        @smallcircles @jerger I feel like using C2S client and S2S server is a bit more precise than "app" for this thread. At this point, I haven't been able to determine how you define "app".

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

        @steve @jerger

        Yes, I would highly discourage the use of "app". It is why I scare quoted it, but "app" is common language when people talk about the fediverse. "App" is a neat container concept that fits the full scope of ones own FOSS project, but on the fediverse - a growing heterogeneous and interoperable social network - one becomes highly dependent on the foundational network communication layer based on #ActivityPub, and any fedi FOSS developer should be concerned beyond direct project scope, and pay attention that this foundation evolves healthily. This unfortunately happens unsufficiently, and only a very small number of people try to get the ecosystem as a whole to higher levels, volunteering time where it does not directly benefit their own projects. Think @silverpill for the #FEP and @evan for #SocialCG.

        Cool find yesterday was that @HolosSocial rather than C2S has a "full AP server" client-side, that communicates with a Websockets tunnel to a dedicated relay server.

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

          @steve @jerger

          Yes, I would highly discourage the use of "app". It is why I scare quoted it, but "app" is common language when people talk about the fediverse. "App" is a neat container concept that fits the full scope of ones own FOSS project, but on the fediverse - a growing heterogeneous and interoperable social network - one becomes highly dependent on the foundational network communication layer based on #ActivityPub, and any fedi FOSS developer should be concerned beyond direct project scope, and pay attention that this foundation evolves healthily. This unfortunately happens unsufficiently, and only a very small number of people try to get the ecosystem as a whole to higher levels, volunteering time where it does not directly benefit their own projects. Think @silverpill for the #FEP and @evan for #SocialCG.

          Cool find yesterday was that @HolosSocial rather than C2S has a "full AP server" client-side, that communicates with a Websockets tunnel to a dedicated relay server.

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

          @smallcircles @silverpill
          @HolosSocial Holos Social is interesting, but to avoid confusion, the phone app is not a "full AP server". It can't federate without an external relay server, for example. Although it combines both client-like and server-like functionality, I don't see it as an alternative to C2S. With C2S I'd be able to access my account/actor from a phone, a tablet, and desktop and laptop computers with different clients. Holos Social binds the actor to a single phone IIUC.

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

            @smallcircles @silverpill
            @HolosSocial Holos Social is interesting, but to avoid confusion, the phone app is not a "full AP server". It can't federate without an external relay server, for example. Although it combines both client-like and server-like functionality, I don't see it as an alternative to C2S. With C2S I'd be able to access my account/actor from a phone, a tablet, and desktop and laptop computers with different clients. Holos Social binds the actor to a single phone IIUC.

            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

            @steve @silverpill

            Yes good to mention, I was out of chars. It becomes I guess like a local-first S2S on the client-side, tied to compliant Relay servers that facilitate the tunnel.

            Perhaps @HolosSocial can enlighten us for their project, but such a set up should not necessarily bind to a single client.

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

              @steve @silverpill

              Yes good to mention, I was out of chars. It becomes I guess like a local-first S2S on the client-side, tied to compliant Relay servers that facilitate the tunnel.

              Perhaps @HolosSocial can enlighten us for their project, but such a set up should not necessarily bind to a single client.

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

              @steve @silverpill

              Btw @HolosSocial I really 😍 love the clean documentation style of your "How it works" page, to outline various use cases. Great work!

              https://discover.holos.social/how-it-works

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

                I'm curious what other devs think about this. If an actor posts an C2S #ActivityPub Create/Note to the outbox, what would you think if the object created by the server was a different type (e.g., Article)?

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

                @steve This is really interesting.

                I see a few cases. One is an ActivityPub API façade for an existing CMS, like Drupal or WordPress. The underlying system only stores Articles, so it tries to fit any input into that format. It might also take a Create/Image and return an Article with an embedded image, say.

                evan@cosocial.caE 1 Reply Last reply
                1
                0
                • R relay@relay.an.exchange shared this topic
                • evan@cosocial.caE evan@cosocial.ca

                  @steve This is really interesting.

                  I see a few cases. One is an ActivityPub API façade for an existing CMS, like Drupal or WordPress. The underlying system only stores Articles, so it tries to fit any input into that format. It might also take a Create/Image and return an Article with an embedded image, say.

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

                  @steve I could also see if the server is checking the content type of the payload, and changing it on the fly. For example, a Create/Image with an MP4 movie as the payload, and it changes it to a Video. In the case you're explaining, maybe the Note has many paragraphs, and the server changes it to an Article to match the expectations for that type.

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

                    @steve I could also see if the server is checking the content type of the payload, and changing it on the fly. For example, a Create/Image with an MP4 movie as the payload, and it changes it to a Video. In the case you're explaining, maybe the Note has many paragraphs, and the server changes it to an Article to match the expectations for that type.

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

                    @steve Finally, just an opinionated server developer -- "there's no difference, everything should be an Article."

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

                      @steve Finally, just an opinionated server developer -- "there's no difference, everything should be an Article."

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

                      @steve In a way, the server is the most responsible for the object long-term -- it stores and serves the data, assigns it an id, provides security, and so on. It also maintains a long-term relationship with the user, including the user's preferences.

                      But the client is closer to the user, in the moment, and may more accurately represent the user's immediate needs and wants.

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

                        @steve In a way, the server is the most responsible for the object long-term -- it stores and serves the data, assigns it an id, provides security, and so on. It also maintains a long-term relationship with the user, including the user's preferences.

                        But the client is closer to the user, in the moment, and may more accurately represent the user's immediate needs and wants.

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

                        @steve I'd say, don't do this if you don't have to.

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

                          I'm curious what other devs think about this. If an actor posts an C2S #ActivityPub Create/Note to the outbox, what would you think if the object created by the server was a different type (e.g., Article)?

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

                          @steve i would probably think my outbox was broken or malicious or not doing compliant^1 activitypub.

                          ^1: depends on a conformance profile to be meaningfully defined, but "publish what i POSTed" seems to be a reasonable enough expectation in the minimal case...

                          1 Reply Last reply
                          1
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

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