GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    Evan Prodromou (evan@cosocial.ca)'s status on Saturday, 19-Oct-2024 21:48:02 JST Evan Prodromou Evan Prodromou
    • silverpill
    • Erin 💽✨

    @julian @silverpill @trwnh @erincandescent @mikedev @jenniferplusplus@hachyderm.io obviously `context` isn't good enough to identify the thread relationship. Trying to hijack it is contrary to the AS2 spec and common interoperability. One proposal tries to specify it by duck-typing every object; the other by defining a new Collection type. The clearest way to define the relationship is with a property, `thread`, which is specific, clear, and requires no other changes.

    In conversation about 8 months ago from cosocial.ca permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Saturday, 19-Oct-2024 21:51:31 JST Evan Prodromou Evan Prodromou
      in reply to
      • silverpill
      • Erin 💽✨

      @julian @silverpill @trwnh @erincandescent @mikedev I think most developers understand that the reply tree and the conversation are identical. The use cases a describes -- forking, etc. -- can be implemented with `Announce`, perhaps with `content` in the `Announce` activity. I'll add these next week and push a new draft.

      In conversation about 8 months ago permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Saturday, 19-Oct-2024 22:10:18 JST Evan Prodromou Evan Prodromou
      in reply to
      • silverpill
      • Erin 💽✨

      @julian @silverpill @trwnh @erincandescent @mikedev I think `context` can be used as a fallback, which provides continuity for most of the legacy implementations.

      In conversation about 8 months ago permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Saturday, 19-Oct-2024 22:44:40 JST Evan Prodromou Evan Prodromou
      in reply to
      • silverpill
      • Erin 💽✨

      @erincandescent @julian @mikedev @silverpill @trwnh there are other uses called out in the AV spec. Someone using those would clash with the use for threads.

      I recognize your aversion to change, but "don't change anything" isn't on the menu. We need a way to identify the thread relationship, and a dedicated property is much better than a duck-typing objects or making a new object type.

      In conversation about 8 months ago permalink
    • Embed this notice
      Erin 💽✨ (erincandescent@akko.erincandescent.net)'s status on Saturday, 19-Oct-2024 22:44:41 JST Erin 💽✨ Erin 💽✨
      in reply to
      • silverpill
      @evan @julian @silverpill @trwnh @mikedev "context" isn't good enough to identify any relationship; this is the fundamental problem. It is a property that should never have existed. Today it identifies one relationship: the (loosely defined) thread. I would argue that this is in fact "common interoperability". I would also argue that this fully meets the incredibly vague letter of the ActivityStreams specification.

      I have yet to see an alternative use of context that would not be better served by inventing a more specific term. Yes, this applies to use of context for thread too, but we have 7 years of its user to identify the thread as a defacto standard.
      In conversation about 8 months ago permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Saturday, 19-Oct-2024 22:54:22 JST Evan Prodromou Evan Prodromou
      in reply to
      • silverpill
      • Erin 💽✨

      @erincandescent @julian @mikedev @silverpill @trwnh we have many orders of magnitude more AS2 objects in our future than in our past. I don't think informal practices of existing software should keep us from implementing better formal systems in the future.

      In conversation about 8 months ago permalink
    • Embed this notice
      infinite love ⴳ (trwnh@mastodon.social)'s status on Sunday, 20-Oct-2024 00:10:13 JST infinite love ⴳ infinite love ⴳ
      in reply to
      • silverpill
      • Erin 💽✨

      @evan @erincandescent @julian @mikedev @silverpill what is the “thread relationship” and how does it differ from “contextual grouping”?

      In conversation about 8 months ago permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Sunday, 20-Oct-2024 00:10:13 JST Evan Prodromou Evan Prodromou
      in reply to
      • infinite love ⴳ
      • silverpill
      • Erin 💽✨

      @trwnh @erincandescent @julian @mikedev @silverpill reply tree

      In conversation about 8 months ago permalink
    • Embed this notice
      infinite love ⴳ (trwnh@mastodon.social)'s status on Sunday, 20-Oct-2024 13:17:38 JST infinite love ⴳ infinite love ⴳ
      in reply to
      • silverpill
      • Erin 💽✨

      @erincandescent @julian @evan @mikedev @silverpill i don’t think “conversational thread” is a special semantic relationship, and i certainly don’t think it is equal or equivalent to a reply tree! the basis of 7888 is that context should be used for purposeful logical grouping, as it was intended and as it ended up being used in pleroma for years. an unresolvable opaque uri is 7888-compliant. so is a collection with an owner. so is anything else. but IF it is a collection,

      In conversation about 8 months ago permalink
    • Embed this notice
      infinite love ⴳ (trwnh@mastodon.social)'s status on Sunday, 20-Oct-2024 13:18:06 JST infinite love ⴳ infinite love ⴳ
      in reply to
      • silverpill
      • Erin 💽✨

      @erincandescent @julian @evan @mikedev @silverpill …then it makes sense that the collection ought to contain items sharing the same contextual grouping. it’s similar to how hashtags are content-addressed grouping, but less purposeful, and no one owns them. the key is that even if you can’t resolve anything out of whatever is in context, you can still use it for grouping by opaque string matching. so there’s clearly defined graceful fallback.

      In conversation about 8 months ago permalink
    • Embed this notice
      infinite love ⴳ (trwnh@mastodon.social)'s status on Sunday, 20-Oct-2024 13:18:06 JST infinite love ⴳ infinite love ⴳ
      in reply to
      • silverpill
      • Erin 💽✨

      @erincandescent @julian @evan @mikedev @silverpill as far as reply trees go, it should be clear that they are not the same as a conversation or context, and inReplyTo exists completely separate and parallel to contextual grouping. the “reply tree” model falls apart the second you reply to multiple things, or reply to something in a different context, or reply and change the context, or set a context but no inReplyTo. i’m not sure why you say Announce has anything to do with it

      In conversation about 8 months ago permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Sunday, 20-Oct-2024 13:18:06 JST Evan Prodromou Evan Prodromou
      in reply to
      • infinite love ⴳ
      • silverpill
      • Erin 💽✨

      @trwnh @erincandescent @julian @mikedev @silverpill I have an example of a reply to multiple things in the FEP.

      "Comment but don't participate in thread" is a quote boost. It also works for forking to a new thread.

      So, that's what `Announce` has to do with it.

      Conversation threads are *usually* reply trees, and we should optimize for that easy base case. The advanced tree-pruning and -grafting you describe are possible with a reply tree.

      In conversation about 8 months ago permalink

      Attachments


    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Sunday, 20-Oct-2024 13:58:45 JST Evan Prodromou Evan Prodromou
      in reply to
      • infinite love ⴳ
      • silverpill
      • Erin 💽✨

      @trwnh @erincandescent @julian @mikedev @silverpill

      Maybe we need to agree that these two properties are different.

      I agree that `context` is great for a related collection of objects, including for a project or event, as defined in AV.

      For the specific collection of objects that are members of the same reply tree, we can use `thread`.

      If it doesn't matter to specify that it's a thread, you can link to the exact same collection with `context`. It is, after all, also a related collection.

      In conversation about 8 months ago permalink
    • Embed this notice
      infinite love ⴳ (trwnh@mastodon.social)'s status on Sunday, 20-Oct-2024 13:58:46 JST infinite love ⴳ infinite love ⴳ
      in reply to
      • silverpill
      • Erin 💽✨

      @evan @erincandescent @julian @mikedev @silverpill

      > Conversation threads are *usually* reply trees

      this is an anti-pattern. conversations are only represented by reply trees when there isn't an actual conversation. reply trees are a poor substitute for that.

      > "Comment but don't participate in thread" is a quote boost.

      i'm talking about participating in a thread without responding explicitly to anything. or responding to something, but in a different thread. no one is boosting anything.

      In conversation about 8 months ago permalink
    • Embed this notice
      infinite love ⴳ (trwnh@mastodon.social)'s status on Sunday, 20-Oct-2024 14:16:56 JST infinite love ⴳ infinite love ⴳ
      in reply to
      • silverpill
      • Erin 💽✨

      @evan @erincandescent @julian @mikedev @silverpill Sure, it's possible to declare both a `context` being whatever grouping, and a `thread` being specifically a reply tree. (Perhaps `thread` should be renamed to `replyTree`, and `root` should be renamed to `replyTreeRoot`?)

      I'm specifically against conflating the two concepts, though. I also would prefer to not give `inReplyTo` any undue deference beyond simply being metadata. For as many systems that rely on it, there are systems that don't.

      In conversation about 8 months ago permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Sunday, 20-Oct-2024 14:16:56 JST Evan Prodromou Evan Prodromou
      in reply to
      • infinite love ⴳ
      • silverpill
      • Erin 💽✨

      @trwnh @erincandescent @julian @mikedev @silverpill sounds great.

      I'm going to stick with `thread` and `root`.

      They're already namespaced, and these are clear terms for these concepts.

      Thanks for the help with additional use cases on forking and grafting. I'm going to add some explicit user stories to the FEP and show how each one can be handled.

      In conversation about 8 months ago permalink
    • Embed this notice
      infinite love ⴳ (trwnh@mastodon.social)'s status on Sunday, 20-Oct-2024 14:21:30 JST infinite love ⴳ infinite love ⴳ
      in reply to
      • silverpill
      • Erin 💽✨

      @evan @erincandescent @julian @mikedev @silverpill For example, replying to a message is something that the user *explicitly chooses* to do when in the context of image boards or chat rooms. If you've ever used Discord, then you can see how in that system, it wouldn't make any sense to say that every message in a channel necessarily must be inReplyTo some other message in the channel (or anything at all). The room is a bound context.

      In conversation about 8 months ago permalink

      Attachments


      1. https://files.mastodon.social/media_attachments/files/113/338/036/036/703/755/original/2b410113f45a73c3.png
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Sunday, 20-Oct-2024 14:21:30 JST Evan Prodromou Evan Prodromou
      in reply to
      • infinite love ⴳ
      • silverpill
      • Erin 💽✨

      @trwnh @erincandescent @julian @mikedev @silverpill yes, I absolutely agree that a chat room is topologically different from a forum thread, a Reddit post, or a social network.

      In conversation about 8 months ago permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Sunday, 20-Oct-2024 14:21:57 JST Evan Prodromou Evan Prodromou
      in reply to
      • infinite love ⴳ
      • silverpill
      • Erin 💽✨

      @trwnh @erincandescent @julian @mikedev @silverpill I would represent a chat room as a `Group`.

      In conversation about 8 months ago permalink
    • Embed this notice
      infinite love ⴳ (trwnh@mastodon.social)'s status on Sunday, 20-Oct-2024 15:09:48 JST infinite love ⴳ infinite love ⴳ
      in reply to
      • silverpill
      • Erin 💽✨

      @evan @erincandescent @julian @mikedev @silverpill

      1) I disagree; chat rooms, forum threads, comments sections, etc. are all just different presentations of the same generic data structure (objects in collections). I could pull the AS2 data for this entire chain of replies and render it as a chat room, or as a messenger, or however I wanted to -- flat chronological list or otherwise.

      2) I would use `Group` to represent an actual group of agents. For a group of posts, I would use Collection.

      In conversation about 8 months ago permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Sunday, 20-Oct-2024 15:09:48 JST Evan Prodromou Evan Prodromou
      in reply to
      • infinite love ⴳ
      • silverpill
      • Erin 💽✨

      @trwnh @erincandescent @julian @mikedev @silverpill yes. The members of the chat room are the group. Posting to the group shares to everyone. There's a concept of joining and leaving the group.

      In conversation about 8 months ago permalink
    • Embed this notice
      infinite love ⴳ (trwnh@mastodon.social)'s status on Sunday, 20-Oct-2024 17:37:45 JST infinite love ⴳ infinite love ⴳ
      in reply to
      • silverpill
      • Erin 💽✨

      @evan @erincandescent @julian @mikedev @silverpill Multiple collections (or any object type) can exist while sharing the same group of agents (or any other non-group set of agents) as an audience. It's not correct to say that a room "is" the group, unless you want everyone to manually join every single room one-at-a-time. The audience is the scope to which the posts (or collection of posts) are relevant, similar to how the context is the grouping. https://www.w3.org/TR/activitystreams-vocabulary/#audience-and-context

      In conversation about 8 months ago permalink

      Attachments

      1. No result found on File_thumbnail lookup.
        Activity Vocabulary
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Sunday, 20-Oct-2024 17:37:45 JST Evan Prodromou Evan Prodromou
      in reply to
      • infinite love ⴳ
      • silverpill
      • Erin 💽✨

      @trwnh @erincandescent @julian @mikedev @silverpill

      > [...] unless you want everyone to manually join every single room one-at-a-time.

      This has always been my experience with chat rooms. People join (or enter) the room, make posts to the room that are visible to everyone "in" the room, and some time -- maybe years later -- leave the room.

      Regardless: groups and threads are not the same thing.

      In conversation about 8 months ago permalink
    • Embed this notice
      infinite love ⴳ (trwnh@mastodon.social)'s status on Sunday, 20-Oct-2024 17:45:59 JST infinite love ⴳ infinite love ⴳ
      in reply to
      • silverpill
      • Erin 💽✨

      @evan @erincandescent @julian @mikedev @silverpill historical evidence that is also relevant here:

      https://github.com/w3c/activitystreams/issues/300

      https://github.com/w3c/activitystreams/issues/238#issuecomment-153408442

      In conversation about 8 months ago permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Sunday, 20-Oct-2024 17:45:59 JST Evan Prodromou Evan Prodromou
      in reply to
      • infinite love ⴳ
      • silverpill
      • Erin 💽✨

      @trwnh @erincandescent @julian @mikedev @silverpill yes, `scope` became `audience` and was (incorrectly, I think) made into an addressing property in AP.

      In conversation about 8 months ago permalink
    • Embed this notice
      infinite love ⴳ (trwnh@mastodon.social)'s status on Monday, 21-Oct-2024 03:47:24 JST infinite love ⴳ infinite love ⴳ
      in reply to
      • silverpill
      • Erin 💽✨

      @evan @erincandescent @julian @mikedev @silverpill Joining a Discord guild (the Group, loosely) gives you access to multiple rooms/channels (a bunch of Collections) all at the same time. Each channel could be rendered as a chat room or as a forum thread or however you want to display a collection of objects.

      Essentially, `audience` and `context` are converse properties. In many cases, the "group" is the `audience` and the "thread" is the `context`. This is emergent behavior in NodeBB/Discourse.

      In conversation about 8 months ago permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Monday, 21-Oct-2024 03:47:24 JST Evan Prodromou Evan Prodromou
      in reply to
      • infinite love ⴳ
      • silverpill
      • Erin 💽✨

      @trwnh @erincandescent @julian @mikedev @silverpill so, is the Forums WG for making a federated Discord? I thought it was for forums and threaded news.

      I'm glad there are other interesting social systems to model. I think you are mistaken that one size will fit all.

      In conversation about 8 months ago permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Monday, 21-Oct-2024 16:12:43 JST Evan Prodromou Evan Prodromou
      in reply to
      • infinite love ⴳ
      • silverpill
      • Erin 💽✨

      @trwnh @erincandescent @julian @mikedev @silverpill You haven't been thinking about this problem nearly as long as I have. Who do you think created `ostatus:conversation`?

      Anyway, I think we agree on more than we disagree on. We both think `context` should be for general groupings.

      We both think the thread identifier should be a dereferenceable collection, and that the original post creator should emit `Add` activities to show that it's been updated.

      In conversation about 8 months ago permalink
    • Embed this notice
      infinite love ⴳ (trwnh@mastodon.social)'s status on Monday, 21-Oct-2024 16:12:44 JST infinite love ⴳ infinite love ⴳ
      in reply to
      • silverpill
      • Erin 💽✨

      @evan @erincandescent @julian @mikedev @silverpill If we disagree, we disagree; but my understanding developed over the past several years of thinking about this is that generic data can be presented in multiple specific ways. The UI may change, but the semantics stay the same. There are already apps that will show you your timeline as a chat messenger UI, or your conversation as a flat chronological list instead of chopped-off reply tree branches. Are they wrong?

      In conversation about 8 months ago permalink
    • Embed this notice
      Evan Prodromou (evan@cosocial.ca)'s status on Monday, 21-Oct-2024 16:15:51 JST Evan Prodromou Evan Prodromou
      in reply to
      • infinite love ⴳ
      • silverpill
      • Erin 💽✨

      @trwnh @erincandescent @julian @mikedev @silverpill I think the reply tree is essential and should have its own property so it's easy to find and use, rather than having to guess if what's in the `context` collection is a reply tree. You don't; that's too bad.

      In conversation about 8 months ago permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.