#social 2017-07-18

2017-07-18 UTC
#
cwebber2
just implemented the signatures part of LDS
#
cwebber2
pretty ez
#
cwebber2
well, the normalization and crypto libs were already there, so ;)
#
xmpp-social
[ajordan] ???
#
saranix
Any chance you can export a normalized complex object with subojbects so we can see how it should look?
#
cwebber2
saranix: sure.
#
cwebber2
saranix: this is using the graph based normalization, not the simpler key sorting normalizer, fwiw
#
cwebber2
the simpler one's yet to be implemented
#
cwebber2
but should be possible
#
cwebber2
as you can see it was just one line of python to do the normalization
#
saranix
regarding content warnings-- since AP mandates html contents as default, I think it would be ok to do a microformats-esque '<span class="cw-warning">Might trigger furries</span><span class="cw-content">...</span>
#
cwebber2
like the crypto lib, all the hard work was already done for me :)
#
cwebber2
saranix: you could, though that's an extra layer of parsing to do to get metadata out of the html tho, it could just already be exposed in the already-parsed json structure
#
saranix
woah. I would've never figured out how to do that from reading the spec
#
saranix
cwebber2: abusing the json structure makes semantics where there aren't any
#
cwebber2
ok, I don't agree there, but I don't want to argue it
#
saranix
and plus.. this came about because I'm writing my html sanitizer, and I'm whitelisting tags... and I don't see why it would be a big deal to whitelist a class name (I normally strip class attribute)
#
saranix
I need a way to do spoilers, and that's what I'm going to do, but if mastodon does it too, then we'd have 2 implementations!
#
saranix
It looks like hubzilla is working on activitypub at least lowkey, so they'll need it for their [spoiler] bbcode tag as well
#
saranix
it makes an easy 1->1 translation from markup to markup instead of trying to abuse the json structure
#
saranix
hmm... after reading the normalization about 10 times I think I finally understand the algo
#
saranix
where does that come from? and why?
#
cwebber2
saranix: what you're looking at is rdf n-quads... that's the type of the object
#
cwebber2
it knows what the type is because of the context
#
cwebber2
saranix: if you read up on n-quads, it should be easy to read... they're very simple
#
saranix
I thought #published describes the type
#
saranix
and why are no other types ^^qualified
#
cwebber2
the complex part of that is really what order to put them in
#
cwebber2
saranix: they don't all have type annotations
#
cwebber2
saranix: so they're assumed to be either just what they look like: strings, integers, uris... basically the primitives
#
cwebber2
saranix: anyway, n-quads are pretty easy: they're really just subject, predicate, object
#
cwebber2
so if you have
#
cwebber2
alyssa.name = "Alyssa P. Hacker"
#
cwebber2
well okay, we have an alyssa
#
cwebber2
and we have a name
#
cwebber2
and we have the value
#
saranix
I just noticed it's word wrapping those . adjoined strings
#
saranix
line-wrapping
#
cwebber2
yeah that's the paste site's word wrapping
#
cwebber2
anyway, assume that alyssa has a uri
#
cwebber2
turns out name does too
#
cwebber2
<alyssa-uri> <name> "Alyssa P. Hacker" .
#
cwebber2
so maybe that's
#
cwebber2
anyway, that's the basics of n-quads
#
cwebber2
it's just a representation
#
cwebber2
if you pull down https://www.w3.org/ns/activitystreams and content-type request json-ld
#
Loqi
[Amy Guy] ActivityStreams 2.0 Terms
#
cwebber2
you'll see what the full as2 context looks like
#
cwebber2
now you can see how you can have two extensions with "name", and it'll be unambiguous to meaning
#
cwebber2
saranix: anyway, hopefully that clears things up
#
saranix
so now reading this, that signing method actually does nothing to address the issues I raised earlier...
#
cwebber2
which ones?
#
cwebber2
I didn't attach the signature :)
#
saranix
assurances
#
saranix
when I confused puck :P
#
cwebber2
saranix: you mean about assurance about the entire embedded object
#
cwebber2
vs having just a link to its id?
#
saranix
yeah, and doc versions, and which things you are or are not attesting to by calling out specific fields
#
cwebber2
this gives you the option of doing either... if I signed the example I had here, it has the object embedded
#
cwebber2
so it *would* be signing the embedded object as well
#
cwebber2
but, you could include just the uri instead
#
cwebber2
and then it wouldn't
#
cwebber2
"your choice, basically"
#
cwebber2
here it did include the object's contents
#
cwebber2
since the object didn't have an id, you can see it generated a blank node
#
saranix
yeah...it does NOT address it I guess. but any tiny update to any field invalidates the signature, and extensions become unpossible
#
cwebber2
okay I'm lost
#
cwebber2
if you want updates to not change the signature, then you link to the object without the id I guess
#
cwebber2
you either have to sign the object with the data
#
cwebber2
or sign it without
#
cwebber2
I don't see any other options
#
saranix
all or nothing is not the same as half-way in between
#
saranix
the other option is half-way :-P
#
cwebber2
what's half-way?
#
cwebber2
sign the child object, then the parent too?
#
saranix
only signing specific fields
#
cwebber2
shrugs!
#
saranix
you can make a lot of semantic choices by what fields you decide to sign
#
cwebber2
an RDF person might say you could choose to include or not include fields but I like to think of "you ought to include the whole object" I guess
#
cwebber2
and I'm not much of an RDF person :)
#
cwebber2
I'm off to make dinner!
#
cwebber2
happy hacking, *
#
saranix
good eats
#
saranix
!tell gargron regarding content warnings-- since AP mandates html contents as default, I think it would be ok to do a microformats-esque '<span class="cw-warning">Might trigger furries</span><span class="cw-content">...</span>
#
Loqi
Ok, I'll tell them that when I see them next
bblfish, Loqi, timbl, xmpp-social, raucao and newton joined the channel
#
ajordan
!tell cwebber2 at ben_thatmustbeme's suggestion I put a list of AP issues we're likely to cover at https://www.w3.org/wiki/Socialwg/2017-07-18; hope that's okay (and that you agree with my prioritization). there's also the mediaUpload issue (which is *not* on that list) which I *thought* we decided to punt to today, although I might have been thinking about the likes/shares question instead
#
Loqi
Ok, I'll tell them that when I see them next
#
ajordan
!tell cwebber2 also I was kind of thinking we should clean up the issue tracker a bit? some things everybody's collectively agreed to handle it in the CG (like the private messages issue) or we've resolved to not handle in the core spec (e.g. revision ids)... would be nice to open new issues in the CG tracker and close w3c/activitypub issues in favor of the new ones. dunno if you agree with that
#
Loqi
Ok, I'll tell them that when I see them next
#
ajordan
thanks Loqi
#
Loqi
you're welcome, ajordan
Loqi, newton, newton_, newton__, timbl, KevinMarks and KevinMarks_ joined the channel
#
jaywink
damn. got all ready for a meeting since a long time, even with audio - and it's not until an hour :D
#
Loqi
cwebber2: ajordan left you a message 6 hours, 55 minutes ago: at ben_thatmustbeme's suggestion I put a list of AP issues we're likely to cover at https://www.w3.org/wiki/Socialwg/2017-07-18; hope that's okay (and that you agree with my prioritization). there's also the mediaUpload issue (which is *not* on that list) which I *thought* we decided to punt to today, although I might have been thinking about the likes/shares question instead
#
Loqi
cwebber2: ajordan left you a message 6 hours, 52 minutes ago: also I was kind of thinking we should clean up the issue tracker a bit? some things everybody's collectively agreed to handle it in the CG (like the private messages issue) or we've resolved to not handle in the core spec (e.g. revision ids)... would be nice to open new issues in the CG tracker and close w3c/activitypub issues in favor of the new ones. dunno if you agree with that
#
cwebber2
jaywink: hey nice :D
#
cwebber2
ajordan: yeah it looks good, and yeah I think we should clean up the tracker... we need to be sure to apply the right labels though
Loqi and tantek joined the channel
#
tantek
greetings #social
#
tantek
I'm going to be joining the call ~10-15min late, so I'm hoping Evan is able to chair as we discussed last week - haven't heard one way or another. Otherwise I can officially chair as backup at 10:15
eprodrom joined the channel
#
cwebber2
hi eprodrom !
#
ajordan
alright let's do this thing
#
eprodrom
I thought we cancelled today's meeting à few weeks back
#
cwebber2
eprodrom: <tantek> I'm going to be joining the call ~10-15min late, so I'm hoping Evan is able to chair as we discussed last week - haven't heard one way or another. Otherwise I can officially chair as backup at 10:15
#
aaronpk
we did, and then un-cancelled it last week
#
ajordan
has, as usual, literally just woken up
#
cwebber2
eprodrom: we scheduled it because we had so much to cover :P
#
cwebber2
we keep thinking we can keep a break and work keeps piling up
#
cwebber2
just like my life ;)
#
aaronpk
unless you already covered it with all the conversations over the weekend?
#
eprodrom_
I was really surprised to see it on the wiki
eprodrom_ joined the channel
#
ajordan
dials in
#
ajordan
aaronpk: I mean we covered a lot of ground on the weekend
#
rhiaro
present+
#
rhiaro
is at another event with other people in the background, so staying muted
#
csarven
I can hear you typing
eprodro57 joined the channel
#
ajordan
present+
#
cwebber2
Zakim, start meeting
#
cwebber2
trackbot, start meeting
#
trackbot
is preparing a teleconference.
RRSAgent joined the channel
#
trackbot
RRSAgent, make logs public
Zakim joined the channel
#
RRSAgent
I have made the request, trackbot
#
cwebber2
present+
#
trackbot
Zakim, this will be SOCL
#
Zakim
ok, trackbot
#
trackbot
Meeting: Social Web Working Group Teleconference
#
trackbot
Date: 18 July 2017
#
jaywink
present+
#
rhiaro
present+
#
eprodro57
present+
#
jaywink
(irc only though)
#
cwebber2
scribenick: cwebber2
#
cwebber2
if someone can volunteer to scribe for AP up front
#
cwebber2
that would help
#
ajordan
present+
#
cwebber2
and *not* ajordan :)
#
cwebber2
since ajordan went through a lot of this stuff with me and I'll need their help
#
ben_thatmustbeme
i'll try to scribe the the AP section if needed, i don't know if i'll have to leave early or not though
#
cwebber2
topic: review previous meetings' minutes
#
cwebber2
eprodro57: looks like we have two weeks of minutes to review. I think for the 6-27 we have the wrong minutes... looks like the CG minutes...
#
cwebber2
ajordan: we do have some CG minutes that are missing
#
cwebber2
that seems like a concern to deal with tomorrow
eprodrom joined the channel
#
cwebber2
cwebber2: I think the CG can deal with the CG's missing minutes part
#
cwebber2
ben_thatmustbeme: I volunteer to track down the minutes for later
#
cwebber2
eprodrom: ok instead of proposing to review the minutes for 6-27 let's review the minutes for 7-11
#
cwebber2
sorry looks like I must have put the minutes in the wrong place... no idea what happened with the wg minutes...
Loqi joined the channel
#
cwebber2
and 8/22
#
eprodrom
PROPOSAL: cancel meetings for 8/9 and 8/22
#
eprodrom
PROPOSAL: cancel meetings for 8/8 and 8/22
#
rhiaro
+1 and +1 from sandro in absentia
#
cwebber2
cwebber2: -0 but i won't fight it
#
eprodrom
+1
#
rhiaro
cwebber2: schedule extra CG meetings to get it out of your system :)
#
cwebber2
to be clear, I don't *WANT* to do more WG meetings
#
eprodrom
RESOLVED: cancel meetings for 8/8 and 8/22
#
ajordan
rhiaro the problem is that there's too many normative changes
#
eprodrom
TOPIC: PTD
#
cwebber2
not yet
#
ben_thatmustbeme
ajordan, the group doesn't have to resolve on every normative change, only when its published
#
cwebber2
eprodrom: tantek is not here yet, so I'd like to push PTD to the end of the agenda
#
ajordan
a good pattern so far has been working things out in the CG and then bringing them to the WG, but things still *have* to be brought here for a resolution
#
cwebber2
eprodrom: let's talk about bridging
#
ajordan
oh ok ben_thatmustbeme
#
eprodrom
TOPIC: bridging ActivityPub and IndieWeb stack
#
cwebber2
ajordan: I guess that's me
#
cwebber2
ajordan: this is something that came out of indieweb summit, and basically we think we can find a semi-decent way to bridge activtiypub and the indieweb stack
#
cwebber2
ajordan: so the simplest by far is micropub, because we think it can be possible to write a website that can transform microformats into an ap activity
#
cwebber2
ajordan: the tricky thing is mentions, there are two parts of this; AP->IW sites, and IW->AP
#
cwebber2
ajordan: so AP->IW, my theory is that IW sites should be able to put a static paage on the root of the site
#
cwebber2
ajordan: so any time an AP site mentions the actor at that site
#
cwebber2
ajordan: all mutation and stuff will resolve to a bridge service that will construct things on the fly
#
cwebber2
ajordan: that sort of makes sense
#
cwebber2
eprodrom: for it would be a facade server doing AP on one side or IW on the other? C2S is simple on this system, you use your preferred provider, and the bridge does transformations
#
cwebber2
eprodrom: for S2S, what you're saying is that IW servers, if IW servers that support webmention, they should also have a way to expose AP server to server by handing that off to a bridge. that bridge would take anything coming to an inbox and translate it back
#
cwebber2
eprodrom: so yeah
#
cwebber2
ajordan: exactly
#
cwebber2
ajordan: this does require the IW site to put the JSON file at the root
#
cwebber2
ajordan: I should make it clear we put this at the root and then set the server to ?
#
ben_thatmustbeme
JSON file at the root, would be a problem for some
#
cwebber2
ajordan: so that's a worse UX but it should work
#
cwebber2
ajordan: if the IW site does not do this, you can have a situtation where you prefix this url with the bridge url, then you query the bridge url and get an actor back and all that
#
cwebber2
ajordan: even if the IW site hasn't opted in
#
cwebber2
eprodrom: from my point of view of discovery, if we're not solving on discovery, maybe we could have another discovery mechanism such as link headers, etc
#
cwebber2
eprodrom: you should be able to get the json descriptor currently in AP
#
cwebber2
eprodrom: if my site returns html you can do antoher discovery method
#
jaywink
thinking out aloud how possible signing requirements of AP or things like http signatures will affect this, as having these specified has been a hot topic in the last days here. Just thinking out loud.
#
cwebber2
eprodrom: so could we expand AP to say in the erroneous situation where they return HTML instead of JSON, this is what you will do
#
cwebber2
ajordan: what would you do in that case
#
cwebber2
eprodrom: so link rel=inbox, href=url of bridge, etc
#
cwebber2
<cwebber2> jaywink, I agree
#
eprodrom
<link rel="inbox" href="URL of bridge">
#
Zakim
sees ben_thatmustbeme on the speaker queue
#
cwebber2
feels like adding new discovery mechanisms adds a lot of complexity to ask implementers to do
#
Zakim
sees no one on the speaker queue
#
cwebber2
ajordan: if you're already going to do this if you're already adding this?
#
ben_thatmustbeme
evan covered it
#
cwebber2
eprodrom: if you're adding something with just html but can't do content negotiation
#
cwebber2
eprodrom: there's a big jump between them, I think
#
cwebber2
ajordan: I can file an issue about this
#
Zakim
sees ben_thatmustbeme on the speaker queue
#
rhiaro
q+ (irc only)
#
Zakim
sees ben_thatmustbeme, (irc, only) on the speaker queue
#
rhiaro
sighs
#
cwebber2
cwebber2: I think it would be nice, but it could be a MAY, it's already a lot of work
#
rhiaro
q- (irc only)
#
Zakim
sees ben_thatmustbeme on the speaker queue
#
cwebber2
eprodrom: it could be an extension
#
rhiaro
q+ to say (typing on irc only)
#
Zakim
sees ben_thatmustbeme, rhiaro on the speaker queue
#
cwebber2
eprodrom: also you could do rdfa or something similar
#
cwebber2
eprodrom: you could grab out the AS2 data
#
cwebber2
eprodrom: probably not the most exciting thing for MF2 folks, but a possibility
#
tantek
present+
#
rhiaro
the link rel would parse as rdfa
#
cwebber2
or even embed json-ld in the page
#
rhiaro
LDN already got that covered
#
ben_thatmustbeme
rhiaro maybe do rhiaro_irc_only
#
cwebber2
ajordan: seems like we're agreeing it's either a MAY or an extension
#
tantek
wait why are we talking about theoreticals? ("or even"?)
#
eprodrom
q?
#
Zakim
sees ben_thatmustbeme, rhiaro on the speaker queue
#
eprodrom
ack ben_thatmustbeme
#
Zakim
sees rhiaro on the speaker queue
#
cwebber2
ben_thatmustbeme: if you implement it as a MAY, doesn't it break federation?
#
tantek
At this point, it doesn't make any sense to include anything in the spec that's not at least semi-widely implemented / deployed like that
#
cwebber2
eprodrom: yeah I think that's absolutely right and if that's not something we want to do let's not build two diferent stacks
#
tantek
rather than trying to be politically correct (or we can be politically correct in informative Notes)
#
eprodrom
q?
#
Zakim
sees rhiaro on the speaker queue
#
cwebber2
wants to note that I think the AP items we already have are gonna take a lot of time, and are def nomative, and if this is MAY it's maybe not normative
#
cwebber2
ben_thatmustbeme: I don't think this is specific to bridging
#
Zakim
sees rhiaro, cwebber on the speaker queue
#
cwebber2
ben_thatmustbeme: if you're going to support it it should be required
#
rhiaro
2) Can we timebox this discussion and end it imminently because there's lots of AP stuff to go through?
#
rhiaro
1) This bridging stuff can go in SWP if we settle it, not needed in AP
#
eprodrom
ack rhiaro
#
Zakim
rhiaro, you wanted to say (typing on irc only)
#
Zakim
sees cwebber on the speaker queue
#
tantek
I think it can be in SWP if it's figured out, the point of the discussion is spec impacts
#
tantek
it's not figured out AFAIK
#
Zakim
sees cwebber, tantek on the speaker queue
#
eprodrom
q?
#
Zakim
sees cwebber, tantek on the speaker queue
#
eprodrom
ack cwebber2
#
Zakim
sees cwebber, tantek on the speaker queue
#
eprodrom
ack cwebber
#
Zakim
sees tantek on the speaker queue
#
eprodrom
ack tantek
#
Zakim
sees no one on the speaker queue
#
eprodrom
q?
#
Zakim
sees no one on the speaker queue
#
cwebber2
cwebber2: I think this shouldn't be rdfa, it could be embedded as json-ld as is done in schema.org things etc
#
cwebber2
tantek: +1 on not doing rdfa, we shouldn't do normative text that's not deployed
#
cwebber2
tantek: I agree with moving to SWP when it's figured out
#
cwebber2
tantek: that's what I'm interested in, if it requires spec changes then it needs to be figured out asap
#
eprodrom
call dropped
#
tantek
bridging++
#
Loqi
bridging has 1 karma
#
Zakim
sees no one on the speaker queue
#
cwebber2
eprodrom, you dropped out, tantek is temporarily saying we're moving on
#
eprodrom
Let's move on to the next topic
#
cwebber2
TOPIC: CR to PR items
#
eprodrom
cwebber2: yep
#
ajordan
eprodrom: we didn't discuss IndieWeb -> ActivityPub (the other direction) but it's at https://indieweb.org/bridge#ActivityPub and pretty clear if you want to look at it
#
Loqi
[strugee] Link to the Etherpad from the Mumble call: https://public.etherpad-mozilla.org/p/activitypub-implicit-explit Someone correct me if I'm wrong but I believe this was the consensus: 1. sharedInbox is used only for public and followers delivery, ev...
#
tantek
oh my
#
ben_thatmustbeme
scribenick:ben_thatmustbeme
#
tantek
oh dear to "database designs impacting features" seriously!?!?
#
ben_thatmustbeme
cwebber2: we are basically seeing DB / storage issues bleed in to spec
#
ben_thatmustbeme
... we have a public inbox vs private inboxes
#
tantek
that's REALLY bad
#
ben_thatmustbeme
to allow for delivery to large sets of users
#
ben_thatmustbeme
s/private/shared/
#
ben_thatmustbeme
breathe cwebber2
#
ajordan
^^^ lol
#
ben_thatmustbeme
is not even going to try to scribe that, there was WAYYY too much and too rably
#
tantek
couldn't actually follow that
#
ben_thatmustbeme
cwebber2: i would like to rename to shared inbox
#
ben_thatmustbeme
(request coming)
#
Zakim
sees no one on the speaker queue
#
cwebber2
PROPOSAL: Rename publicInbox to sharedInbox and allow it to both post public posts and posts to followers
#
tantek
ajordan: which summary in github?
#
Loqi
[strugee] Link to the Etherpad from the Mumble call: https://public.etherpad-mozilla.org/p/activitypub-implicit-explit Someone correct me if I'm wrong but I believe this was the consensus: 1. sharedInbox is used only for public and followers delivery, ev...
#
Loqi
[strugee] Link to the Etherpad from the Mumble call: https://public.etherpad-mozilla.org/p/activitypub-implicit-explit Someone correct me if I'm wrong but I believe this was the consensus: 1. sharedInbox is used only for public and followers delivery, ev...
#
ben_thatmustbeme
sandro: my one concern is if someone posts to this, thats malformed, it doesn't end up public when they didn't want it to
#
ben_thatmustbeme
sandro: the implicit action that creates, is that also true on this
#
ben_thatmustbeme
cwebber2: thats only on client to server
#
ben_thatmustbeme
sandro: no problem then
#
cwebber2
PROPOSAL: Rename publicInbox to sharedInbox and allow it to both post public posts and posts to followers
#
aaronpk
this is a breaking change to all implementations, right?
#
rhiaro
all implementatins that implemented publicInbox which I don't think is required..? (correct me..)
#
ajordan
aaronpk: not technically
#
ajordan
we're changing semantics but we're also changing the name, and the existing publicInbox is a MAY
#
ben_thatmustbeme
tantek: where is the actual change to the spec here
#
eprodrom
is back
#
ben_thatmustbeme
cwebber2: this is allowing for if you are posting to all of your (millions of) followers but not posting publicly
#
tantek
is this implementable? prototyped?
#
ben_thatmustbeme
cwebber2: the receiving server will see that this is to their followers collection and it knows who the followers are on your server
#
ben_thatmustbeme
cwebber2: you can already do that, but you currently also have to post it publicly
#
ajordan
tantek: I'm not sure about implementations but Mastodon has made it clear that they need this
#
ajordan
and are planning to do it
#
ben_thatmustbeme
tantek: i'm a little concerned that we are making changes to a CR that no one has implemententd
#
ben_thatmustbeme
cwebber2: mastodon is already implmenting it, and puckipedia is implementing it
#
jaywink
thinks we're seeing these things exactly because of implementations
#
ben_thatmustbeme
tantek: thats a good thing to capture in an issue, not to make it a change in the CR
#
jaywink
before it was all just theory
#
ben_thatmustbeme
tantek: you think this is a change to existing functionality, not adding?
#
Zakim
sees ajordan on the speaker queue
#
eprodrom
q?
#
Zakim
sees ajordan on the speaker queue
#
ben_thatmustbeme
cwebber2: it is a slight add of being able to not post publicly
#
tantek
ack ajordan
#
Zakim
sees no one on the speaker queue
#
ben_thatmustbeme
cwebber2: it is breaking
#
eprodrom
tantek: I'm back, can chair from here
#
ben_thatmustbeme
ajordan: afaict its not breaking
#
ben_thatmustbeme
... it was a may before and its a may now
#
ben_thatmustbeme
... so any that didn't do it before, it doesn't matter, and anyone who did it before will still be compliant (just without that feature)
#
ben_thatmustbeme
... we both shared the same concerns as you (tantek) had, but its really just refining this feature
#
ben_thatmustbeme
tantek: i am not questioning the Why at all, i am just trying to make sure we do the right thing for our CR
#
ben_thatmustbeme
sandro: your concern is that we are making this change but we are going to have to change it back
#
ben_thatmustbeme
tantek: i think we may need to change it again
#
ben_thatmustbeme
... in order to minimize issues, its better to implement it before it goes in to the CR
#
rhiaro
If we made this change now and had to fix it in a month, or if we wait a month and make it then, it doesn't make any difference to CR.
#
rhiaro
tantek cwebber2 ^^?
#
ben_thatmustbeme
tantek: you can land the text in the ED of how this will work
#
ben_thatmustbeme
... but before it lands in CR, it should have prototypes
#
eprodrom
PROPOSED: for https://github.com/w3c/activitypub/issues/242 rename publicInbox to sharedInbox and allow sending to followers only
#
ajordan
rhiaro: by "make this change" do you mean the WD or the published CR?
#
rhiaro
ajordan: CR
#
eprodrom
+1
#
ben_thatmustbeme
tantek: in general thats a good bar for AP changes at this point
#
eprodrom
PROPOSED: for https://github.com/w3c/activitypub/issues/242 , group supports renaming publicInbox to sharedInbox and allowing sending to followers only IFF implementation support
#
cwebber2
sandro: +1
#
tantek
back to you chairing eprodrom
#
tantek
defer PTD to next call
#
jaywink
but it can still land in the editors draft to not confuse current wip version?
#
eprodrom
tantek: thank you
#
ben_thatmustbeme
eprodrom: is it okay if we defer 244?
#
ajordan
tantek++
#
Loqi
tantek has 66 karma in this channel (370 overall)
#
Loqi
[cwebber] #242 sharedInbox / siteInbox type endpoint (publicInbox, but not just for public posts)
#
Loqi
[cwebber] #242 sharedInbox / siteInbox type endpoint (publicInbox, but not just for public posts)
#
rhiaro
I can't stay
#
ben_thatmustbeme
<ben_thatmustbeme> i cannot stay late on audio
#
tantek
me neither
#
eprodrom
TOPIC: WebSub
#
cwebber2
scribenick: cwebber2
#
cwebber2
aaronpk: I think the only topic is the one in the notes
#
ben_thatmustbeme
my audio cut out
#
cwebber2
aaronpk: the person does not want to submit an implementation report because they're unhappy with EME
#
cwebber2
sandro: I think there's not a lot we can do about it and we should move on
#
ben_thatmustbeme
thanks cwebber2
#
Zakim
sees ben_thatmustbeme on the speaker queue
#
eprodrom
ack ben_thatmustbeme
#
Zakim
sees no one on the speaker queue
#
cwebber2
ben_thatmustbeme: on another point, as in terms of websub implementation reports, an fyi that diaspora did an implementation of websub but might not submit an implementation report because they may drop OStatus
#
cwebber2
sandro: I think it would be nice to have impl reports that speak to just that it's compatible with classic PuSH
#
cwebber2
sandro: for me that's valuable
#
cwebber2
tantek: good point
#
cwebber2
eprodrom: that sounds reasonable
#
tantek
sandro++ for seeing the positive. thank you
#
Loqi
sandro has 47 karma in this channel (54 overall)
#
rhiaro
Adding for the minutes that sandro said he will report the EME thing to Team and tantek will report to AB
#
cwebber2
eprodrom: do we have ways in impl report template for 3rd party supporters?
#
cwebber2
aaronpk: there's nothing in the template right now but I know there's a line with author / etc
#
cwebber2
aaronpk: nothing else for websub
#
cwebber2
TOPIC: JF2
#
cwebber2
ben_thatmustbeme: looking for more info for impl reports
#
eprodrom
PROPOSED: publish new working draft of JF2 based on editor's draft at http://dissolve.github.io/jf2/#changes-from-27-june-2017-wd-to-this-version
#
eprodrom
+1
#
cwebber2
tantek: I'm saying validator impl reports linking to jf2.rocks, is that right?
#
cwebber2
ben_thatmustbeme: that's the landing page for now that links them all
#
cwebber2
tantek: ok just checking
#
tantek
s/saying/seeing
#
ajordan
are .rocks domains just a thing in the W3C now?? or is it just this WG?
#
eprodrom
RESOLVED: publish new working draft of JF2 based on editor's draft at http://dissolve.github.io/jf2/#changes-from-27-june-2017-wd-to-this-version
#
cwebber2
a this wg thing
#
tantek
s/validator impl reports/validator, sample set, implementation reports
#
rhiaro
has to run
#
cwebber2
tantek: 30 sec update, I'm successfully using JF2 to do social embedding on my site
#
cwebber2
tantek: just as an FYI
#
ajordan
rhiaro thanks for being here!
#
cwebber2
tantek: it's working very well as a transport format
#
cwebber2
tantek: that's how I'm showing rsvp's on my site
#
eprodrom
TOPIC: PTD
#
tantek
does want to discuss https://github.com/tantek/post-type-discovery/issues/25 but would rather we spend time on call on the AP issues first
#
Loqi
[tantek] #25 Response Type: consider "reply" for 2nd to last for fallback use-cases
#
tantek
zakim, who is here
#
Zakim
tantek, you need to end that query with '?'
#
tantek
zakim, who is here?
#
Zakim
Present: cwebber, jaywink, ben_thatmustbeme, rhiaro, eprodro, ajordan, tantek
#
Zakim
sees on irc: Loqi, eprodrom, Zakim, RRSAgent, tantek, timbl, raucao, xmpp-social, bwn, dwhly, astronouth7303, saranix, JanKusanagi, albino, jaywink, ben_thatmustbeme, csarven,
#
Zakim
... cwebber2, michcioperz, wilkie, ajordan, trackbot, rhiaro, sandro, MMN-o, nightpool, DenSchub, puckipedia, tsyesika, jet, lambadalambda, tcit, aaronpk, bitbear, mattl, sknebel,
#
Zakim
... Gargron, bigbluehat
#
tantek
has to go, apologies
#
Zakim
sees ajordan on the speaker queue
#
eprodrom
ack ajordan
#
Zakim
sees no one on the speaker queue
#
ajordan
scribenick: ajordan
#
ajordan
cwebber2: this one's big but it's short
#
Loqi
[cwebber] #244 Accept / Reject a Follow
#
ajordan
... people want to be able to accept and reject followers
#
sandro
present+
#
ajordan
... we propose that everyone always sends an accept/reject
#
ajordan
... for people that always want to accept, you just automatically send an accept back
#
ajordan
... this makes it mandatory that you always send an accept/reject to a follow request
Loqi joined the channel
#
ajordan
... follows/unfollows are for this
#
ajordan
I can't tell who that is?
#
ajordan
s/???eprodrom/
#
ajordan
cwebber2: that could work...
#
ajordan
... I didn't realize this was in the spec, this seems kind of reasonable
#
ajordan
... I'd move towards figuring out how to do this in the spec
#
ajordan
... it'd be a normative change but wouldn't break backwards compat
#
ajordan
... it'll take time; I'll work on this
#
jaywink
isn't a Follow nothing to do with friend request? it's jsut "I follow that person if they send me something they will"
#
ajordan
eprodrom: it lets you have a regular following mechanism like other social networks have
#
ajordan
... without all the acks and nacks and stuff
#
ajordan
cwebber2: 5 minutes late, I want to get to the one other related thing
#
ajordan
... big debate in e.g. Mastodon/AP as to whether you federate a Block
#
ajordan
... Mastodon *has* to federate a Block because they don't explicitly ???
#
ajordan
... we had a conversation and realized we were kind of overloading Block
#
ajordan
... there's disallowing side effects, and there's basically a "request to unfollow"
#
Loqi
[strugee] Link to the Etherpad from the Mumble call: https://public.etherpad-mozilla.org/p/activitypub-implicit-explit Someone correct me if I'm wrong but I believe this was the consensus: 1. sharedInbox is used only for public and followers delivery, ev...
#
ajordan
... "I don't want to deliver to you anymore"
#
ajordan
... I want to get a sense as to what people, especially eprodrom, think about this
#
ajordan
... is this reasonable to put in the spec, should we do this with an Undo, a Reject, etc.
#
ajordan
eprodrom: we have an activity type called Block which is specifically to implement social media block
#
ajordan
... it seems to me what would happen in that situation
#
ajordan
... on the sender's server you'd expect to have that kind of mechanism
#
ajordan
... on the receiving server things get trickier, it's advisory
#
ajordan
... if alice and bob are both on example.com and charlie is on foo.example and charlie blocks bob
#
ajordan
... foo.example will still be sending updates to example.com because of alice
#
ajordan
... the expected behavior for example.com is that it not show that info to bob, but if it's hostile it could do that
#
ajordan
cwebber2: you've got it exactly
#
ajordan
... one of the things we discussed on this call is that there are two separate things covered by Block and they're separate
#
ajordan
... some people want to send a Block-type thing across the wire to say "don't send my stuff to this person"
#
ajordan
... some people don't want to send something across the network for safety reasons
#
ajordan
... we separated out an ignore-style block and retroactively undoing a follow
#
ajordan
... we want to separate these cleanly into two different things
#
Loqi
[strugee] Link to the Etherpad from the Mumble call: https://public.etherpad-mozilla.org/p/activitypub-implicit-explit Someone correct me if I'm wrong but I believe this was the consensus: 1. sharedInbox is used only for public and followers delivery, ev...
#
ajordan
... if you look at the issue summary it'd make it so you never have to federate a Block
#
ajordan
... the only thing you'd end up federating is the other one (the "don't forward stuff to the follower's inbox" type thing)
#
ajordan
... and you could choose whether to do that or not
#
ajordan
... does that make sense that there's two separate actions here?
#
ajordan
eprodrom: no
#
ajordan
... I don't see the point in teasing out two different things when there's already Block
#
ajordan
eprodrom: it's a single activity type and you could just do it
#
ajordan
... I don't see what the additional complexity buys you
#
ajordan
cwebber2: scenario from Gargron:
#
ajordan
... people push the block button and then unclick it
#
ajordan
... they call this a "soft-block"
#
ajordan
... it stops the soft-blocked person from following them but still allows them to interact with posts
#
ajordan
... the scenario here is that you don't want them to see the private messages you're sending out to friends and family, but you don't mind if they interact with your posts
#
ajordan
eprodrom: currently sends a block and an undo block right?
#
ajordan
... I've been writing social software for 10 years and I don't care about this usecase
#
ajordan
cwebber2: the motivator is that currently in our spec for a reason we decided to say don't federate a Block
#
ajordan
... we don't want to put people in danger of knowing that they're blocked by somebody
#
ajordan
... this is a problem because of the way Mastodon does delivery
#
ajordan
... it's an explicit vs implicit problem
#
ajordan
eprodrom: my opinion is not only should you federate blocks this is not a good idea
#
ajordan
... complicated and messy and I don't get it
#
ajordan
... I don't see why you wouldn't federate blocks
#
ajordan
eprodrom: wait
#
eprodrom
+0
#
ajordan
<ajordan> my audio is totally screwed
#
sandro
eprodrom: I don't want to think about this
#
ajordan
<ajordan> I'm gonna have to redial
#
sandro
eprodrom: you want to make a proposal?
#
sandro
cwebber2: not a lot of people on the call
#
sandro
eprodrom: I think I understand why you're trying to not federate blocks, but I don't find it motivating
#
Zakim
sees ajordan on the speaker queue
#
eprodrom
ack ajordan
#
Zakim
sees no one on the speaker queue
#
ajordan
sandro: you implicitly asked my opinion
#
ajordan
... my opinion is that Mastodon users are the bulk of decentralized social media
#
ajordan
... by 10 to 1
#
ajordan
... so we should pay attention to their usecases
#
ajordan
eprodrom: that's a compelling argument sir
#
ajordan
eprodrom: cwebber2 what do you want to do here
#
ajordan
cwebber2: I'd like to draft up an actual PR to describe how this is done
#
ajordan
... I got a sense about how you feel about it which was my main goal here
#
ajordan
... I'll just draft up a PR, we'll see how it is after it's drafted
#
ajordan
... I'll also need to draft up a PR given the accept/reject convo we had earlier
#
ajordan
sandro: I hope you mean pushing something to the editor's draft with a note so people don't have to dig through GitHub
#
ajordan
cwebber2: uhhh yeah I could do that
#
ajordan
eprodrom: thanks for taking extra time here, let's plan on talking next week
#
ajordan
... cwebber2 do you feel like we need a bit of extra time next week?
#
ajordan
... I'll circulate 90 minutes
#
ajordan
cwebber2: that would be appreciated
#
ajordan
eprodrom: I'll do that then
#
cwebber2
trackbot, end meeting
#
trackbot
Zakim, list attendees
#
trackbot
is ending a teleconference.
#
Zakim
As of this point the attendees have been cwebber, jaywink, ben_thatmustbeme, rhiaro, eprodro, ajordan, tantek, sandro, aaronpk
#
trackbot
RRSAgent, please draft minutes
#
RRSAgent
I have made the request to generate http://www.w3.org/2017/07/18-social-minutes.html trackbot
#
trackbot
RRSAgent, bye
#
RRSAgent
I see no action items
#
ajordan
eprodrom: could you make a pump.io meeting a week from this Friday?
#
eprodrom
ajordan: yes!
#
ajordan
okay I *think* I can do that, I'll email you otherwise
#
ajordan
okay just confirmed it works for me too
#
ajordan
thank you!
#
ajordan
so what I was trying to say on the call (albeit at the wrong time) is that what frustrates me is that we spend a lot of time reviewing stuff that's just on GitHub
#
ajordan
like if we could collect issues we want to cover in the wiki and then have people review them beforehand that'd be awesome
#
ajordan
because then we could jump straight into "can you clarify what you meant by 'xyz' in this issue" or even "I disagree with such-and-such a proposal"
#
ajordan
idk maybe it's just me but I feel like we would save a ton of time
#
ajordan
instead of things like "here's the problem, here's the rationale, etc."
Loqi joined the channel
#
cwebber2
ajordan: it would... I guess in reality it turns out to be hard to make that happen, I'm not sure why
#
cwebber2
it probably doesn't help that I know I try to compress a lot of information when I describing an issue instead of giving the most succinct explaination
#
cwebber2
it's not one of my strong suits, I'd like to get better at it.
#
cwebber2
this week in particular was hard because we literally had a 3.5 hour meeting this weekend about it
#
cwebber2
and trying to convey the relevant info, and decide what was even relevant to the group, was hard.
#
jaywink
cwebber2++ for pushing the hard fight :)
#
Loqi
cwebber2 has 94 karma
#
cwebber2
thanks jaywink :)
#
ben_thatmustbeme
minutes are up
#
cwebber2
thank you ben_thatmustbeme
#
cwebber2
sorry for putting the wrong minutes on that page
#
cwebber2
I remember they weren't there in the first place and
#
cwebber2
I was trying to backfill both the missing socialcg minutes
#
cwebber2
and the missing socialwg minutes
#
cwebber2
at the same time
#
cwebber2
and obviously I failed
#
ben_thatmustbeme
heh, it happens
#
saranix
crap. I had a conflicting call so I missed everything. Looks like my position wasn't represented either
#
saranix
RE: sharedInbox, there is not consensis, the issues I raised are ignored by the current "consensus"
#
saranix
RE: Reject, it can't be made a MUST because of the security implications as discussed
#
saranix
it must be a MAY
Loqi joined the channel
#
cwebber2
saranix: that was a Working Group call anyhow, which is limited to WG members
#
cwebber2
the CG call is tomorrow
#
saranix
yeah, but still not cool that it was said consensus which isn't true
#
cwebber2
ah that was from the issue
#
cwebber2
Loqi was copying the "consensus" bit from the linked part of the issue, I don't think that word was said on the call itself
#
cwebber2
Loqi is a bot
#
cwebber2
btw, I've been thinking about decentralized identifiers, I wonder if someone's willing to listen to me ramble for a moment
#
cwebber2
it's again, not something I'm trying to push in our current specs
#
cwebber2
just thinking about how it can be used / the right approach
#
saranix
I'll discuss. I don't have any particular objections other than complexity
#
saranix
my memory of the details is foggy though
#
cwebber2
ok, brb I'm running to the bathroom, then I'll ramble
#
saranix
I looked at their example DID again and was like "woah! I didn't realize they implemented acls already" then I saw they just hastily tacked it on half-arsed to https://w3id.org/identity/v1 and it points to https://w3id.org/permissions# which doesn't exist :-P
#
cwebber2
okay, yeah this takes a bit of a different approach
#
cwebber2
so imagine we have uris like:
#
cwebber2
foons:510A8628E2A776788F8C709C4BC025925FF8F4D3
#
cwebber2
what this really is:
#
cwebber2
foons:FINGERPRINT-ID
#
cwebber2
that's the public key fingerprint of my gpg key, in this instance
#
cwebber2
okay fine, great, what's the big deal?
#
cwebber2
this is inspired by the distributed VoIP system ring, where your fingerprint *is* your username
#
cwebber2
so it's easy to claim a unique actor id
#
cwebber2
fine, but that doesn't give us much
#
cwebber2
it's your fingerprint.
#
cwebber2
objects look like:
#
cwebber2
foons:FINGERPRINT-ID/object/HASH
#
cwebber2
we need objects!
#
cwebber2
HASH is a signature of the following:
#
cwebber2
a hash of the following
#
cwebber2
the object contents *itself*, plus the signature of the object appended
#
cwebber2
which, as it turns out, is what's stored there
#
cwebber2
now you have an easy way to store objects uniquely in a content addressed storage system, and have them be owned to and definitively signed by an object
#
cwebber2
fine, that's great, now we can store things, but!
#
cwebber2
they're immutable
#
cwebber2
immutable is great, except when it isn't
#
cwebber2
sometimes you do want things to change
#
cwebber2
even git branches point to the latest revision
#
cwebber2
so, in fact, why not have these objects have revisions? adjust our previous idea, HASH is now a hash of <object-contents>+<prev-hash>+<signature>
#
cwebber2
okay great, now we have revisions, but we don't have something pointing at the object
#
cwebber2
we don't have the mutable "branch"
#
cwebber2
so that's where we have:
#
cwebber2
fooid:FINGERPRINT-ID/pointer/UUID
#
cwebber2
maybe choose a better name than "pointer", but
#
cwebber2
this is an object that is mutable, but append only
#
cwebber2
when you make a new object at that revision
#
cwebber2
first you make the object that it will point to, the initial object
#
cwebber2
in my case that may be
Loqi joined the channel
#
cwebber2
the only thing it lacks afaict is a built-in privacy thing
#
saranix
No need for a 50GB java blob to even get started with a hello world :-P
#
cwebber2
if you have the ID of something, you have it
#
cwebber2
of course objects can be themselves encrypted
#
cwebber2
but they aren't implicitly so in the design, that would be another layer
#
cwebber2
and of course a petname/human readable naming system :)
#
cwebber2
thanks for reading, saranix & jaywink
#
cwebber2
even if all jaywink said was "ship it", guessing you aren't being serious ;)
#
Zakim
excuses himself; his presence no longer seems to be needed
#
Loqi
blows Zakim a kiss
#
jaywink
not really my area, but I did read it :P
#
ajordan
cwebber2: re: reading issues ahead of time
#
ajordan
definitely understand it being difficult to summarize :)
#
ajordan
I wonder if it would help to have an email go out on Friday or something with a list of issues for people to read
#
cwebber2
ajordan: we've done something like that before
#
cwebber2
before you were here, elf Pavlik was pushing hard on this
#
cwebber2
but it never really happened back then
#
ajordan
why didn't it, that is
#
cwebber2
unfortunately, I think it also speaks to a problem with the group structure
#
cwebber2
we have several overlapping specs in the WG, and different groups of people are paying more attention to the trackers of certain ones
#
cwebber2
which means people end up getting caught up on time for the meeting, at the meeting
#
cwebber2
split focus
#
cwebber2
I mean it's already hard to get people to read things ahead of times, but that makes it extra hard
#
ajordan
yes I was just thinking that
#
ajordan
which is why I suggested email instead of something on the issue tracker
#
cwebber2
ajordan: not everyone in this group reads email
#
cwebber2
which was part of the battle
#
ajordan
yeah that's the other problem
#
ajordan
I myself don't make a huge effort to pay attention to the list
#
ajordan
maybe we could use GitHub's projects feature for this?
#
cwebber2
I don't think it's an infrastructure problem
#
ajordan
I don't either
#
cwebber2
and I'm not sure more catherding will work
#
cwebber2
so really
#
cwebber2
I think we just need to make time to make sure normative issues are addressed
#
cwebber2
and on that note, I need to do better to be coming in prepared probalby
#
cwebber2
I'm trying tho
#
ajordan
when does our charter expire?
#
cwebber2
end of the year
#
ajordan
exactly
#
cwebber2
which is coming up fast
#
ajordan
you know if we got buy-in from everyone, especially chairs, that we would skip explaining issues, and if you hadn't read the issue you'd have to catch up while other people were discussing, that would help
#
ajordan
probably not
#
ajordan
but idk if that'll happen
#
cwebber2
I think the reality is that the SocialWG is JIT compiled :)
#
cwebber2
and that includes supplying a summary before an issue
#
ajordan
I guess
#
ajordan
bummer though
#
ajordan
cwebber2: completely unrelated, thinking about your identity thing
#
ajordan
offhand, without knowing a *ton* of details about either system, it kinda sounds to me like you just invented IPFS
#
cwebber2
ha it may be
#
cwebber2
that it's likely it has overlap
#
cwebber2
I think the main difference is that this is namespaced in a way where you can have a mutable pointer
#
cwebber2
I mean, the idea is so simple
#
cwebber2
whereas ipfs is totally immutable right?
#
cwebber2
so this adds a git-like layer to it
#
ajordan
no, they have a DNS-like layer on top of the immutable stuff
#
ajordan
IPNS I think
#
cwebber2
where "branches" are effectively owned by a single user
#
ajordan
which basically is a name:pointer mapping
#
ajordan
very very similar to what you've just described
#
cwebber2
yeah, they don't have the git-like chain
#
cwebber2
they do have a namespace though
#
cwebber2
ajordan: yep, looks similar without the revision history
#
ajordan
when you say "git-like chain" you mean the property where each object references the previous one?
#
cwebber2
ajordan: anyway I agree it's similar
#
ajordan
gotcha
#
ajordan
well, it's a good design :)
#
ajordan
not surprising that people come up with it (semi-)independently
#
cwebber2
ajordan: I'm not claiming it's unique in ideas, just that it seems to me that it could be usable for the same kind of thing that DIDs are being worked on for
#
ajordan
right, I didn't think you were
#
cwebber2
at any rate, having an overlap of ideas here is a good sign IMO :)
#
cwebber2
I'm not trying to be original, just solve problems :)
#
cwebber2
if the solution turns out to be obvious enough to be reinvented, sounds good to me
#
saranix
in order to be hipster-compliant it must be embedded inside of IPFS, and issued with Ethereum contracts, and verified with DogeCoin hashes or something
timbl joined the channel
#
ajordan
yea :)
#
cwebber2
I'd claim it's so boringly simple it might not be hipsterish, but maybe every hipster would claim that
#
cwebber2
hipster recursion, a real thing
#
cwebber2
nobody self-identifies as hipster, and accusing someone of being a hipster is a hipster activity, so this is a 2-level deep hipster topic itself
#
cwebber2
there's an identity problem for you ;)
#
saranix
oh I forgot that the whole thing has to be solely publicized on twitter and github. *then* it's hipster compliant.
#
ajordan
I wonder if there's something like cuil but for hipsters
#
saranix
and even though it's a decentralized protocol, it has to be hosted on a centralized server, with some kind of 5-man business model
#
cwebber2
saranix: :)
#
cwebber2
are we talking about hipsters or techbros now?
#
saranix
aren't they the same these days :-P
#
cwebber2
there may be no difference (I think nobody identifies as that either outside of the Klout devs, infamously)
#
ajordan
now I'm really mad cause I can't find the original Cuil thread
#
saranix
totally forgot I was looking for a clipart. 22nd page of results and still can't find the look I'm going for
#
ajordan
goes to take a nap
#
ajordan
bye all
#
cwebber2
bye ajordan
#
cwebber2
oh wow 5 already
#
cwebber2
time to play some DCSS to unwind.
Loqi, Loqi_, raucao, Loqi__, Loqi___ and aaronpk joined the channel