Hey, all. So, I appreciate the responses. I'll break down the options here.
Hey, all. So, I appreciate the responses. I'll break down the options here.
"Alice's followers" is the way most social networks work with private X, Facebook, Instagram. It lets Alice ask questions or share private info with people she trusts and cares about, and lets them discuss amongst themselves. It is really the best way to use social networks.
"Bob's followers" is the literalist version, with the worst possible dynamics. "You should reply to a followers-only post with a followers-only post" retains the same UI choice while completely changing the audience. Most of the other people who read Alice's post won't see Bob's comments. Bob's followers who don't follow Alice won't understand the context of his post, and won't be able to read Alice's post. It also violates Alice's privacy to share a response to her question with strangers.
"Both" at least makes the full conversation visible to all A's followers, but it has most of the same problems as sharing with B's followers. It sends them a part of a conversation without context, but also violates A's privacy.
For "Other", a lot of people replied with "the intersection of A's followers and B's followers". This makes replies to replies to replies less and less visible to participants, until practically no one can see what's being said. It's terrible for conversations.
@evan it nonetheless sounds right to me when the conversation is initiated as followers-only; a choice for a semi-private audience. Each conversation thread should narrow in to smaller audience, even if that means eventually parts of it are essentially mention-only.
@novelgazer the original post and the replies don't have to be isomorphic. If I post a photo of a bus, do all the comments have to be photos of buses? No, obviously not. A "followers-only" conversation where every post is visible to each author's followers is meaningless; it's much more important and natural to have a conversation amongst a group of people.
Some repliers insisted that it should be whatever Bob wants, which is trivial. It sidesteps the issue and doesn't address the question at its own level.
I asked, what should be the outcome? Not, who should decide?
What options should Bob have to choose from? What should be the default? What should he choose?
Anyway, I agree with the vast majority that the reply should be to Alice's followers. I think the rule of thumb for replies is that they should address about the same audience as the original post, or optionally a subset of that audience. Expanding the audience confuses readers and violates privacy expectations.
Thanks to everyone who responded or replied, even if I didn't like your answers.
Oh, one thing that is worth noting: a lot of people insisted on Bob's absolute prerogative to reply with any kind of visibility he wants: public, his followers, whatever.
This is technically true, but Alice also has some agency here. Her server maintains a collection of `replies` that can be used to read all the replies. There's also another collection for the full thread.
Her server can omit replies that violate her expectations. This limits Bob's reach somewhat.
Other servers can and should use Alice's `replies` collection to see which replies she has consented to. They can and should obscure or hide altogether replies that aren't in that collection.
Mastodon doesn't do either of these things, by the way. It doesn't let you reply to Alice's followers, and it doesn't use the `replies` collection for showing and hiding replies. It's too bad; these are really valuable features of ActivityPub.
@evan i think you know where i already stand on this, but instead of recursively crawling replies collections it would be better if alice had a collection that alice owned and contained a flat set of whatever alice wanted to be in it.
i think "bob gets to choose" is not inherently problematic insofar as alice never actually established any context. bob's post stands on its own, with any arbitrary audience. if there *was* such a thing as "alice's convo" then it can/should have its own audience.
@evan this does lead to a sort of split horizon where "the conversation" depends on who you ask.
in the absolute sense, the global context, bob's reply can continue to exist outside of alice's context. this is actually quite normal -- what is weird is the assumption that all replies must necessarily be bound together.
if i could set my own metadata, this reply would exist in a separate context than your poll, and you might be cc'd.
@evan re: "but you're replying to something that could be private"-- yes, i could be. i could be replying to anything or nothing at all. replying to a cnn article, replying to an overheard statement, replying to the weather, replying to a concept.
one example i think about in this regard is how the Linked Data Notifications spec is technically a response to the Social Web WG charter, because that's what prompted its existence: https://www.w3.org/TR/ldn/
if alice lets you see it, cool! if not...
@evan anyone recognizing "alice's conversation" asks alice what is in that conversation, canonically according to alice.
bob's signal for participating in alice's conversation is referencing alice's conversation as context for bob's post... and addressing the audience of alice's context, and perhaps even choosing not to address his own followers if it's not relevant to them. this works much like a mailing list.
in https://w3id.org/fep/7888 i use `context` and `context.audience` as examples.
@trwnh I don't think the thread is addressable, and I don't think `context` is a good property to use here, but otherwise I agree. Alice should maintain a collection of content objects in the thread.
@evan "the thread should have its own audience" is the main bit i am advocating for here i guess, as opposed to "every individual post has its own audience". with the latter you always get issues like this. with the former you bind context and audience together.
@trwnh every object in ActivityPub has an audience defined by its addressing properties.