#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