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.
  • 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
    #1

    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)?

    mariusor@metalhead.clubM jerger@social.meissa-gmbh.deJ opinionatedgeek@mastodon.socialO evan@cosocial.caE trwnh@mastodon.socialT 6 Replies 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)?

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

      @steve from what point of view is this question?

      What would I think as the user that sent a Create/Note? Probably would not care/know.

      What do I think as a server that receives a Create/Article? Makes no difference. Would the canonical version of the saved object also be Article if I dereference it?

      As a spec implementor and user, I would probably be upset that my intent was not preserved.

      steve@social.technoetic.comS 1 Reply Last reply
      0
      • mariusor@metalhead.clubM mariusor@metalhead.club

        @steve from what point of view is this question?

        What would I think as the user that sent a Create/Note? Probably would not care/know.

        What do I think as a server that receives a Create/Article? Makes no difference. Would the canonical version of the saved object also be Article if I dereference it?

        As a spec implementor and user, I would probably be upset that my intent was not preserved.

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

        @mariusor Like I said, this is a C2S context. Let's say they do know. Your opinion is that the user should not care? I'm guessing there are other kinds of C2S server-side changes that you'd believe they would care about (changing content, addressing, etc.).

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

          @mariusor Like I said, this is a C2S context. Let's say they do know. Your opinion is that the user should not care? I'm guessing there are other kinds of C2S server-side changes that you'd believe they would care about (changing content, addressing, 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
          #4

          @mariusor And I'm thinking of a general C2S client (not one developed by the server developer for that specific server). The client developer might care for technical reasons. For example, some servers don't support Article S2S federation so the example I described (converting Note to Article in the server) could have undesired results.

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

            @mariusor And I'm thinking of a general C2S client (not one developed by the server developer for that specific server). The client developer might care for technical reasons. For example, some servers don't support Article S2S federation so the example I described (converting Note to Article in the server) could have undesired results.

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

            @steve the problem as I see it is only with the "misrepresentation of the user's intention". Which might, or might not cover the aspect that you referred to...

            steve@social.technoetic.comS 1 Reply Last reply
            0
            • mariusor@metalhead.clubM mariusor@metalhead.club

              @steve the problem as I see it is only with the "misrepresentation of the user's intention". Which might, or might not cover the aspect that you referred to...

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

              @mariusor Like you said, I'm not sure the user (rather than the client dev) cares about details like the AP object type. However, they may care from a UX perspective if their messages are silently dropped (during S2S federation because the type was changed). And if they do care, they'll probably complain to the client developer who didn't cause the problem. 😉

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

                @mariusor Like you said, I'm not sure the user (rather than the client dev) cares about details like the AP object type. However, they may care from a UX perspective if their messages are silently dropped (during S2S federation because the type was changed). And if they do care, they'll probably complain to the client developer who didn't cause the problem. 😉

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

                @steve but did you actually observe this behaviour in any servers? What made you ask the question?

                To me it sounds very implausible, because the server *actively* needs to do something instead of piping the received activity directly to its recipients. Is it a case of "the server doesn't render Note objects" so they silently convert to something they do?

                Even that's implausible to me, because the same code can be used to render both...

                steve@social.technoetic.comS 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)?

                  jerger@social.meissa-gmbh.deJ This user is from outside of this forum
                  jerger@social.meissa-gmbh.deJ This user is from outside of this forum
                  jerger@social.meissa-gmbh.de
                  wrote last edited by
                  #8

                  @steve

                  lets say there is a local-server sending this create/note to a distant-server.

                  Whatever object distant-server creates internally I am very neutral.

                  But I am very engaged from

                  1. viewpoint of local-server I expect to get feedback about a note object & being able to deref a note object.
                  2. viewpoint of distant-server user I expect to see a object behaving like a note.

                  In a bottom line - naming a note different makes absolutely no sense at all ...

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

                    @steve but did you actually observe this behaviour in any servers? What made you ask the question?

                    To me it sounds very implausible, because the server *actively* needs to do something instead of piping the received activity directly to its recipients. Is it a case of "the server doesn't render Note objects" so they silently convert to something they do?

                    Even that's implausible to me, because the same code can be used to render both...

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

                    @mariusor Yes, I'm seeing it in a real server while doing C2S testing/exploration. In this case, the server can handle Note and Article, in general, so I don't the rationale yet for the conversion. It's in pre-release code so it may or may not be intentional.

                    mat@friendica.exon.nameM 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)?

                      jerger@social.meissa-gmbh.deJ This user is from outside of this forum
                      jerger@social.meissa-gmbh.deJ This user is from outside of this forum
                      jerger@social.meissa-gmbh.de
                      wrote last edited by
                      #10

                      @steve If you consider also peer 2 peer networking as an option, your client might switch it's role and act as a server.

                      In this case it having such a different inside outside mapping for objects will become confusing.

                      smallcircles@social.coopS 1 Reply Last reply
                      0
                      • jerger@social.meissa-gmbh.deJ jerger@social.meissa-gmbh.de

                        @steve If you consider also peer 2 peer networking as an option, your client might switch it's role and act as a server.

                        In this case it having such a different inside outside mapping for objects will become confusing.

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

                        @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 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)?

                          opinionatedgeek@mastodon.socialO This user is from outside of this forum
                          opinionatedgeek@mastodon.socialO This user is from outside of this forum
                          opinionatedgeek@mastodon.social
                          wrote last edited by
                          #12

                          @steve I think I’d be Quite Annoyed if a server did that when the C2S app I’m writing sent a Note. I’m asking it to Create a Note - I expect it to create a Note or fail to create a Note, not do some weird, unexpected third thing.

                          I could maybe tolerate it adding a second type, but while my code can handle multiple types most ActivityPub software doesn’t seem to accept that kind of thing.

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

                            @mariusor Yes, I'm seeing it in a real server while doing C2S testing/exploration. In this case, the server can handle Note and Article, in general, so I don't the rationale yet for the conversion. It's in pre-release code so it may or may not be intentional.

                            mat@friendica.exon.nameM This user is from outside of this forum
                            mat@friendica.exon.nameM This user is from outside of this forum
                            mat@friendica.exon.name
                            wrote last edited by
                            #13

                            @mariusor @steve I can see this happening. I originally wrote GnuCrusty in 2003 and now I'd like to expand my community's reach by retro-fitting AP support. GnuCrusty users can write Manifestos, and other uses can reply with Grievances, so those are a great match to AP Article and Note respectively. But I have a Manifestos table and a Grievances table. There's no equivalent to AP Image, so if a C2S user posts one of those, what am I supposed to do? The least worst answer is, munge it into the Manifestos table (after a 300 page flame war in 2012 the community decided that art need not be ASCII, so the schema supports images there). So you see exactly the effect you describe.

                            I'm just going to tell all my users that if they use a third-party C2S client, they might see unexpected results. Instead I recommend they use the official GnuCrusty client, available for both FreeBSD and Devuan. Not a big problem.

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