From b10ab5b93dd7055d5061d43b5e1779c791a50cb7 Mon Sep 17 00:00:00 2001 From: a Date: Tue, 6 Dec 2022 22:16:46 -0600 Subject: [PATCH] idk i have Thoughts about reply distribution --- content/app/ideas.md | 81 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/content/app/ideas.md b/content/app/ideas.md index 1e10fb4..8aaa545 100644 --- a/content/app/ideas.md +++ b/content/app/ideas.md @@ -48,4 +48,85 @@ object: https://alice.social/rooms/1 to: https://alice.social/rooms/1/audience content: "hello room" context: https://alice.social/rooms/1/context +``` + +## distribution model + +[tldr i should choose if i want my reply to go to my followers, or their followers, or just them, or all of the above, or whatever] + +direct addressing should be better supported + +alice makes a post and sends it to her followers or whatever. optionally it can be made available to the public? + +```yaml +id: alice.example/54078934249073290847321094/activity/1 +actor: alice.example +type: Create +object: + id: alice.example/54078934249073290847321094 + type: Note + content: "hello world" + audience: Public # could be alice.example/followers instead +cc: [alice.example/followers, Public] +``` + +bob replies to alice, they send that to alice only, and *maybe* optionally to their followers. **this should be up to the user (bob).** + +```yaml +id: bob.example/94378256423895476238954/activity/1 +actor: bob.example +type: Create +object: + id: bob.example/94378256423895476238954 + type: Note + inReplyTo: alice.example/54078934249073290847321094 + content: "hi i'm bob" + audience: Public +to: [alice.example] +cc: [alice.example/followers, bob.example/followers] # alice's followers will be inbox-forwarded if alice allows it +``` + +alice can then choose to redistribute that reply. **this should be up to the recipient (alice)** and also **this should be made clear to the replier (bob)** + +```yaml +id: alice.example/7659804769058743906/activity/1 +actor: alice.example +type: Announce +object: bob.example/94378256423895476238954 +cc: [alice.example/followers, bob.example] +``` + +note that alice might allow bob's replies to be automatically redistributed, if alice trusts bob. + +bob may not want his reply to be redistributed though + +```yaml +id: bob.example/15789436589346/activity/1 +actor: bob.example +type: Create +object: + id: bob.example/15789436589346 # may be excluded but could be better to explicitly specify as null. if provided, will return 401 Not Authorized if you do HTTP GET + type: Note + inReplyTo: alice.example/54078934249073290847321094 + content: "i'm gay. don't tell anyone" + audience: alice.example +to: [alice.example] +``` + +alice can reply to bob's private reply, but no one else can see that reply + +bob might also make his reply explicitly anonymous and transient by using id: null or not providing id + +alice's reply SHOULD NOT target her followers, although she is capable of doing so. **this should be an explicit decision.** + +### maybe objects shouldn't be inlined tho + +spritely magenc golem ocappub etc etc etc + +```yaml +id: alice.example/54078934249073290847321094/activity/1 +actor: alice.example +type: Create +object: alice.example/54078934249073290847321094 # how to fetch this? +cc: [alice.example/followers, Public] ``` \ No newline at end of file