#social 2018-01-03
2018-01-03 UTC
eprodrom joined the channel
#
eprodrom ummm
#
eprodrom cwebber, are we doing socialcg call tomorrow?
eprodrom_ joined the channel
#
eprodrom_ cwebber meeting tomorrow?
eprodrom, xmpp-social and eprodrom_ joined the channel
rowan joined the channel
#
puckipedia oh hey there we go
cdchapman joined the channel
#
puckipedia quickly grabs some food
#
puckipedia okay I'm here
cdchapman and beatrix-bitrot joined the channel
#
beatrix-bitrot waves
#
beatrix-bitrot ok well maybe hit me with the summary first i guess?
#
beatrix-bitrot i would like to talk about it since this seems to be the right time and place
#
beatrix-bitrot right
#
puckipedia and to address a post you'd do something like
{"to": ["https://example.com/group", "https://example.com/group/followers"]}
#
puckipedia cwebber2: I feel like you should, to make it clear
#
beatrix-bitrot that's what i was just about to ask
#
beatrix-bitrot why that?
#
puckipedia cwebber2: also, sharedInbox
#
puckipedia bad idea:
{"type": ["Group", "OrderedCollection"], "id": "example", "followers": "example"}
#
puckipedia wait this gets dangerously close to giving collections an inbox :D:
#
puckipedia mmh?
#
puckipedia cwebber2: you do know if you use the follow mechanism, tbh
#
puckipedia I mean
#
puckipedia hm
#
puckipedia HM
#
puckipedia I thought it'd be like origin -> group server -> sharedInboxes
#
beatrix-bitrot i was imagining the follow mechanism would be used for this yeah...
#
beatrix-bitrot and also like puck says just now
#
puckipedia wait, I think we are hitting the post forwarding mechanism now :D
#
beatrix-bitrot yes
#
beatrix-bitrot this is what i wanted to talk about
#
puckipedia https://www.w3.org/TR/activitypub/#inbox-forwarding this
#
beatrix-bitrot oh
#
puckipedia The values of to, cc, and/or audience contain a Collection owned by the server.
#
beatrix-bitrot ?
#
puckipedia mmh
#
puckipedia cwebber2: wait. are you thinking of the same thing
#
puckipedia cwebber2: I mean, if you have to: example, example/followers
#
puckipedia you deliver to example, and you can't deliver to /followers because you don't own it
#
puckipedia then example delivers it to all followers, using sharedInbox
#
puckipedia oh, you expect that group is sending it out
#
puckipedia I would suggest Not Doing That(TM) :P
#
puckipedia but yeah
#
puckipedia hm
#
puckipedia what if we drop the outbox on the Group
#
puckipedia and have it just have an inbox. which is the incoming messages
#
puckipedia beatrix-bitrot: right, we're now really looking at the nitpicky details, sorry about that
#
beatrix-bitrot i can't talk much about the details but i want to absorb what i can
#
puckipedia https://puckipedia.com/inbox
#
puckipedia tbh, inbox/outbox are just plain collections
#
puckipedia and only show public posts, so I consider it Fine(TM)
#
puckipedia would it be logical to announce another announce?
#
puckipedia tbh I would suggest not Announcing a non-activity
#
puckipedia cwebber2:
{type: Announce, to: group..., object: otherPost}
#
puckipedia *but* the message is sent as-is
#
puckipedia also smtp doesn't have retoots
#
puckipedia GNU Social groups require you to effectively tag a post
#
puckipedia cwebber2: we'd resign the object with http sigs, but the json-ld signature would stay
#
beatrix-bitrot the json-ld one is the one that verifies it really came from the alleged author?
#
puckipedia iirc Mastodon resigns objects when doing the mention forwarding
#
puckipedia ehm, resigns the requesT*(
eprodrom joined the channel
#
puckipedia honestly I haven't looked too closely at it
#
melody hrm
#
puckipedia I just kinda discard the entire contents of the object
#
puckipedia as I don't have JSON-LD validation yet
eprodrom joined the channel
#
beatrix-bitrot ehmmmm how does it differ from boosting?
#
puckipedia beatrix-bitrot: mention forwarding?
#
beatrix-bitrot or how groups ought to work
#
puckipedia
{type: Create, object: {type: Note, content: hi}}
#
puckipedia vs
#
puckipedia
{type: Announce, object: that_note_there}
#
puckipedia mention forwarding is a different thing. if you mention someone and it reaches their server, it will send it out to all followers, with json-ld
#
puckipedia cwebber2: :D
#
puckipedia yes most definitely
#
puckipedia also what if you announce an announce from a group back into the group :D:
#
beatrix-bitrot so this stuff being discussed now
#
beatrix-bitrot does it need to be written up somewhere?
#
puckipedia this channel's logged, but we might write up a more formal specification, I guess?
#
melody how would you know if a message is forwarded from a group?
#
beatrix-bitrot yes i was thinking of specifications
#
puckipedia melody: do you need to know?
eprodrom_ joined the channel
#
puckipedia oh that
#
puckipedia I thought 'announcing a post from a group'
#
melody UIs could have a good reason to distinguish
#
beatrix-bitrot UIs definitely have reason to distinguish
#
puckipedia yeah, I misunderstood again
#
melody if I follow a lot of people I might not recall offhand if I'm following somebody or if a post I've seen is in my inbox because it came from a group
#
melody i want to know the immediate source of any message i'm seeing usually
cdchapman joined the channel
#
beatrix-bitrot is there no way to include the information that it was relayed other than wrapping it up?
#
beatrix-bitrot your server will have to tell you somehow anyway no?
eprodrom_ joined the channel
#
melody i don't think it makes sense for the server to be acting on invisible info not wrapping the objects
#
beatrix-bitrot but you do not want to wrap, correct?
#
beatrix-bitrot right
#
melody i think creating a new type would require some additional thought, not that I'm advocating using Announce, but I'm not sure that the semantics of Forward really serve all group use cases
#
beatrix-bitrot i can only really take your word for it that Announce is not the right thing ^^;;
#
eprodrom_ cwebber, sorry I missed it. I was up with a sick kid all night.
#
eprodrom_ ok great
#
melody i mean that's what a group is doing in this scenario isn't it? reposting something by somebody else for its own audience?
#
eprodrom_ oh yeah
#
beatrix-bitrot yes
#
eprodrom_ announce is great there
cdchapman joined the channel
#
eprodrom_ Announce++
#
eprodrom_ oh
#
eprodrom_ yes!
#
melody arguably, yes
#
beatrix-bitrot or it should be up to the system displaying it to decide anyway
#
beatrix-bitrot system need only know tofu-lovers is a group right?
#
eprodrom_ between a share from the group, and a share from a person?
#
eprodrom_ that seems pretty clear
#
puckipedia what if you limit Activities to a Group to [Create, Announce]?
#
melody I'm not personally wild about the behavior of groups being treated as forwarding relays, I can't think of anything except mailing lists that works that way
#
melody should that be what groups are though?
#
eprodrom_ if you want groups to put stuff in your inbox
#
beatrix-bitrot i am interested in how else they might be
#
eprodrom_ melody they can be more
#
eprodrom_ but this is mostly how they work on FB
#
eprodrom_ possible also to tease out group from collection of members from collection of admins
#
eprodrom_ so
#
melody Like, I guess I'm unclear what groups in this context are supposed to be replicating maybe
eprodrom joined the channel
#
beatrix-bitrot it's a way to send stuff to some set of people that don't necessarily follow you conveniently right?
#
beatrix-bitrot as far as i am concerned it doesn't really need to replicate anything if it does that well
#
beatrix-bitrot like a mailing list, or a chat room, or probably lots of things
eprodrom joined the channel
#
beatrix-bitrot i would like to be able to have a conversation like this using a group
#
melody my concern is about things like permissions -- who can post to a group? groups should have membership semantics that don't necessarily dovetail cleanly with follow/forwarding semantics
#
puckipedia I think this is mostly unspecified, I guess?
#
melody i don't think we should be emulating mailing lists abuse prevention mechanisms
#
melody monumental disaster
#
beatrix-bitrot ok, so who can post to a group? is that even a protocol level thing?
#
puckipedia beatrix-bitrot: probably not
eprodrom_ joined the channel
#
beatrix-bitrot maybe some groups allow posts from anyone, maybe some only from followers
#
melody a client should have a mechanism to determine whether you can post to it or not
#
melody so that would need to be defined behavior
#
melody otherwise you get nasty UX with messages that just never materialize because you didn't know you couldn't post them
#
melody you should know if you can send messages generally though, regardless of if it also gets filtered out later
#
beatrix-bitrot i guess if you tried to post to a group you couldn't post to for whatever reason the server should give you a 403 or something
#
beatrix-bitrot that couples accepting messages and distributing them tho
#
melody what if a group wants to allow people to follow it but only allow admins to post?
#
puckipedia mmh. should it be possible to e.g. use a Group as e.g. a Facebook pagPage
#
melody like a broadcast list
#
beatrix-bitrot the group could possibly also follow you?
#
puckipedia beatrix-bitrot: yeah, thinking about that. but that means that your posts all arrive into the group's inbox
#
beatrix-bitrot that would be bad
#
melody i think that looks hacky, follow semantics aren't a good fit
#
puckipedia maybe have a `moderators` collection on the group
#
puckipedia and
{type: Add, object: user, target: group/moderators}
#
melody groups have membership and access control semantics that don't cleanly match a follow relationship
#
puckipedia or, just
{type: Accept, object: user, actor: group}
#
cwebber2 for really complex things, eventually https://w3c-ccg.github.io/ld-ocap/ may be a good fit, but I would say not yet ;)

eprodrom joined the channel
#
beatrix-bitrot i asked if it was going to be/needed to be written up
#
beatrix-bitrot i'm trying to determine whether the protocol as it is specified provides enough for us to implement groups
#
beatrix-bitrot or if more protocol needs to happen first
#
puckipedia anyways quick tangent: https://gist.github.com/puckipedia/fcd9c7e12d9d50897b9a16179abbd58a I wrote down a semi-formal thing for my suggestion for JSON-LD sigs
#
melody anyway the reason I'm being persistent about this is because access control and abuse prevention go hand in hand -- groups could very easily become spam or harassment relays if we don't treat it as more than an afterthought
#
beatrix-bitrot melody that is one of my main concerns
#
cwebber2 that was part of my motivator for working on https://w3c-ccg.github.io/ld-ocap/ (but there are other motivators)

#
melody i'm using "access control" very generally, substitute a less loaded term
#
melody at your discretion
#
melody the point is that having open-access forwarding relays that amplify your audience and (if not designed correctly) can circumvent blocking and you have a bad time waiting to happen
#
melody just wanna make sure all the angles are thought through
eprodrom_ joined the channel
#
beatrix-bitrot so should groups only forward posts from members?
#
melody arguably that should be up to the group
#
beatrix-bitrot right
#
beatrix-bitrot so it's a software thing rather than a protocol thing
#
melody but clients need to know whether you can post to a group
#
beatrix-bitrot that would be good yes
#
melody so that's a protocol t hing
#
beatrix-bitrot is there room in however we describe the group itself to specify that?
#
beatrix-bitrot whether posting is open or members only or some arbitrary set of allowed people?
#
melody idk, permissions are messy
#
beatrix-bitrot i don't have a very good knowledge of protocol things unfortunately, mostly just mastodon internals
#
beatrix-bitrot and even there i know less than a lot of others
#
melody i have more concerns than i have solutions, and haven't yet written a line of code for my eventual implementation, so you're three steps ahead of me
eprodrom and cdchapman joined the channel
#
@samim @fredwilson @Twitter it's early days, but check https://indieweb.org/ and all the action unfolding related to activitypub: https://www.w3.org/TR/activitypub/ a strong distributed social web would be in the interest of many ecosystem stakeholders (just not the centralised platform holders and their investors) (twitter.com/_/status/948634046678134784)
#
@csarven 📢 Happy to report that https://dokie.li/ is also a client implementation of https://www.w3.org/TR/activitypub/
Reports: https://activitypub.rocks/implementation-report/
Hot sauce: https://github.com/linkeddata/dokieli
#LinkedData #RWW (twitter.com/_/status/948646494575497216)
cdchapman joined the channel
#
puckipedia ooooooh
rowan joined the channel
#
Loqi [@kidehen] New @dokieli feature that reveals annotation activity of your contacts (objects of foaf:knows relations) https://gitter.im/linkeddata/dokieli?at=5a4584200163b028108b99f6. #RWW #RDFa https://pbs.twimg.com/media/DSPG1aFUMAAUtLP.jpg

rowan joined the channel
#
csarven The dev announcement/process: https://gitter.im/linkeddata/dokieli?at=5a4584200163b028108b99f6

cdchapman joined the channel
#
Loqi Aaronpk made 2 edits to [[Socialwg/push-name]] https://www.w3.org/wiki/index.php?diff=105459&oldid=100773

bengo joined the channel
#
@csarven @misuba @pfrazee Who exactly? #LinkedData Notifications https://www.w3.org/TR/ldn/ emerged out of the work on Solid servers and applications eg https://dokie.li/ . Specs that all play well together: https://www.w3.org/TR/activitypub/ https://www.w3.org/TR/activitystreams-core/ https://www.w3.org/TR/ldp/ https://www.w3.org/TR/annotation-model/ (twitter.com/_/status/948680677028958208)
cdchapman joined the channel