Let’s say we have lemmy instances A, B, C.

alice from A makes a post “Hello, world” to B. What happens? How is it processed on servers A, B, C and how do users from A, B, C receive her post?

  • AbouBenAdhem@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    12 days ago

    Why not a binary flag or something? Is it just to avoid making it a formal part of the protocol?

    • flamingos-cant@feddit.uk
      link
      fedilink
      English
      arrow-up
      4
      ·
      12 days ago

      I actually don’t know, you’d need to ask someone privy to design decisions made with ActivityPub, like Prodromou or Lemmer-Webber. It’s definitely not to avoid making it part of the protocol, because it already is (see the link in the last comment).

      • AbouBenAdhem@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        12 days ago

        Thanks—I meant “formal” as in “formal grammar”, not that it wasn’t described in the published protocol. As in, there’s nothing in the protocol’s explicit form that distinguishes between this implied meaning and a real extra recipient—so it simplifies the parsing but adds an extra post-parsing step.

        • flamingos-cant@feddit.uk
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 days ago

          What about JSON-LD makes it so they have to include the “this is public” declaration in the to field instead of having an as:public property on the object? (I don’t know a whole lot about JSON-LD or RDF more broadly)

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      edit-2
      10 days ago

      Because it is JSON-LD and that’s how JSON-LD works. It’s an extensible format. Similar to XML namespaces.

        • JackbyDev@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          10 days ago

          I don’t understand the comment. It’s like calling the fact that firstName is in the JSON {"firstName": "Bob"} “over engineered bullshit” when they should’ve made some application specific protocol instead of using JSON. ActivityStreams and ActivityPub are built on top of JSON-LD to utilize existing libraries to represent linked data (that’s what the LD is). To specify what schemas are used there is a “context” field. There are other schemas as well. Take a look at https://schema.org/ to see them.

          If it feels over engineered it’s because it’s meant to be able to represent a wide variety of types of social media and typical interactions with them. I seriously doubt Mastodon (micro blogging) and Lemmy (link aggregation forum) would be able to interact easily if they weren’t “over engineered”.