W3C

- DRAFT -

Social Web Working Group Teleconference

11 Jul 2017

See also: IRC log

Attendees

Present
sandro, rhiaro, tsyesika, ajordan, cwebber, tantek, ben_thatmustbeme, aaronpk
Regrets
Chair
SV_MEETING_CHAIR
Scribe
rhiaro, ben_thatmustbeme

Contents


<rhiaro> is webex working? it's not asking me for my attendee id number or doing anything else after I put the code in

<rhiaro> oh wait I heard something

<ajordan> rhiaro++ for general enthusiasm

<Loqi> rhiaro has 151 karma in this channel (269 overall)

<ajordan> even after last week!

<rhiaro> scribenick: rhiaro

<tantek> sandro++

<Loqi> sandro has 46 karma in this channel (53 overall)

<ben_thatmustbeme> thanks amy

<cwebber2> yesss?

<cwebber2> yeah I didn't move it I guess sorry

<cwebber2> I'll do ti

Last week's minutes

tantek: we're doing it next week, theyr'e not on the wiki yet

Summer schedule

tantek: we discussed having telecons every other week. what are peoples' feelings? What works for august?
... Telecon next week?

<rhiaro> Unclear if I can make it next week

scribe: lack of enthusiasm says to me we don't need one
... but if someone wants one we can do that
... anyone?
... unless something comes up or this meeting runs over, we skip next week
... What dates work in august?

sandro: two weeks from now is still july?

tantek: We should do two weeks from now, at least every 2 weeks
... No meeting on 18, yes meeting on 25
... Any objections?

<cwebber2> +1

tantek: some verbal +1s
... August?

<Loqi> Sandro made 1 edit to [[Socialwg/2017-07-11-minutes]] https://www.w3.org/wiki/index.php?diff=103704&oldid=0

<Loqi> Cwebber2 made 1 edit to [[Socialwg/2017-07-11-minutes]] https://www.w3.org/wiki/index.php?diff=103705&oldid=103704

<Loqi> Cwebber2 made 1 edit to [[Socialwg/2017-06-27-minutes]] https://www.w3.org/wiki/index.php?diff=103706&oldid=0

tantek: August 1 opinions?

<ben_thatmustbeme> i will be regrets for the 25th actually, but thats ok

sandro: at risk, schedule wise

tantek: -0, less convenient

<ajordan> +1

sandro: compared to the 8th?

tantek: I'm on vacation

<rhiaro> Should we find out if evan can chair on the 8th?

<ben_thatmustbeme> 8th is fine for me

tantek: 15th?

<sandro> For me 1=maybe, 8=good, 15=maybe, 22=bad, 29=maybe

<tantek> for me 1=maybe, 8=bad, 15=good, 22=bad, 29=good

<cwebber2> i'm good for all days afaik

sandro: doodle, we don't have to decide today

tantek: rough agreement for people here

<aaronpk> august is pretty open for me

<ajordan> I'm good for all days except the 22nd(?)

<rhiaro> probably all fine for me, maybe1st and 8th at risk

<ajordan> oh and the 15th

actually no 1st is fine

<ben_thatmustbeme> i'm good for whenever in august

<rhiaro> Can we assume people who didn't express opinions are fine for all?

<ajordan> clarification: bad the 15th

sandro: sounds like we should do the 1st as well

tantek: I wouldn't want to chair on that date
... So contingent evan can chair?
... and then 15th and 29th?

<ben_thatmustbeme> +1

<cwebber2> +1

sandro: Cancelling 22nd and 8th

<ajordan> I don't know what my day-to-day schedule will look like on the 29th

<ajordan> I think I'll have started classes then

<sandro> CANCELING July 18, ug 8, Aug 22

<tantek> for sure: 7/25, 8/15, 8/29. 8/1 contingent on Evan chairing

ActivityPub

cwebber2: implementation report from puckipedia, who has implemented nearly everything if not everything
... a bunch of PRs from aj that I haven't gone through yet
... Test suite.. I've done all client to server tests, execept Block requires that I implement federation in the test suite
... because there's no meaningful test of the block activity unless you are actually federating
... so thats' where I stopped. When that's done, client to server test suite will be done
... And got a bunch of issues to go through today

sandro: did puckipedia use your test suite?

cwebber2: they gave me access to their server and I haven't run it against the test suite yet, but we talked about it. I tested with my client
... Plan on doing that over the next week and a half
... As soon as I put the test suite up publicly that's that I'll do

sandro: When other people use the test suite that helps us get feedback on whether it's working

tantek: Anyone able to play with the test suite, or right now it's just in a place where only you can run stuff against it

cwebber2: I can expose it but haven't because I've been working on it

tantek: On ething I remember from webmention and micropub test suite development was that even while in development was having the tests incrementally added publicly helped people find problems in their implementations and in the test suite sooner rather than later
... Woud highly advise doing the same
... Even an incomplete test suite is is better than none
... even if it's not testing the right things

cwebber2: By the next call in two weeks I will have it exposed and tested against puckipedia

sandro: you can say no.. but.. would you be willing to commit to definitely releasing it before the next meeting, whatever state it is in
... to get over the hurdle of the release

cwebber2: I can do teh thing where I'm proxying to my home machine and people can see my tests locally
... I will have it up and demonstrate it to the group by next call

sandro: If you need a server I think I can give that out

cwebber2: I have a server.. that's not the issue
... Issues?

ajordan: Questiona bout the Block thing
... Why you can only meaningfully test it if it's federated?
... Seems like you should be able to test someone on a local instance?

cwebber2: It would require that I have users put in two accounts rather than one, and I'm going to need to put in support so I can .. I would have to have people enter in two accounts even though that's not normally really necessary. Feels like a lot of extra input
... Going to need to put the federation support up anyway
... It would be extra/other work to add support for that
... I need add federation anyway.. I don't think it would be a lot less work to do it that way and would be more irritating for the user of the test suite
... Figured I might as well just get this in

ajordan: that makes sense

tantek: Anyone else have test suite questions?

<rhiaro> I have some stuff to run, needs some fixing up

<rhiaro> (clients)

tantek: I would encourage everyone to implement some other pieces to implement and run against the test suite
... Most normative issue first

<cwebber2> https://github.com/w3c/activitypub/issues/239

<Loqi> [puckipedia] #239 mediaUpload: only post to outbox if it's a Create activity?

cwebber2: This is a suggestion from puckipedia. Saying well they would like to attach multiple images to a post
... attach multiple media items to one object, like how twitter has multiple images
... So the idea is if you upload a video it uploads to the media endpoint it doesn't post to your outbox right away, so youc an attach them as attachment to posts later
... I thought this was a good way to do it
... I want to incorporate this, but wanted opinions

sandro: any problem with me uploading a few tens of thousnads of photos and never putting any of them in a stream?

cwebber2: Could be an issue that I imagine.. one thing tha toriginally I thought you could get around.. but I know that this would also be working with the way twitter and micropub does things
... youd' have to garbage collect if you were concerned about that

sandro: you could garbage collect if something hasnt' been referenced by a post for some period of time

<ben_thatmustbeme> that is what twitter does as well

cwebber2: pump.io does that

tantek: and micrpub

cwebber2: are people fine with this?

tantek: normative change?

cwebber2: Specific condition about whether or not something is wrapped in ..??
... Whether or not somethig is wrapped ina create is whether or not it is posted to the outbox
... if it's not wrapped in a create, it indicates it's meant to be attached to another object
... if it is, it's a full fledged post

sandro: that seems like a bad thing to use an implicit action
... making everything as explicit as possible usually plays well

cwebber2: the alternate that tsyesika suggested is that ??
... Two other routes are you can have a multipart form ??? outbox or maybe you could have one post with multiple file fields and refernecing that in the current object some way. The latter is trickier
... The alternates are to have the multipart form that has a boolean field that says whether it's going to the outbox. Or to allow it to be all in one go and upload multiple file objects in one post but then you'd reference them some way inside the activitystream object, but trickier to slot in temporary names

<sandro> I like Boolean, but lets hear from q

<ben_thatmustbeme> i can scribe

<ben_thatmustbeme> scribenick: ben_thatmustbeme

rhiaro: not providing a solution, but how i do things right now, i upload images seperately, and i have a client that lets me choose the images i already have on the server and that creates the create object
... i don't have a media-endpoint, but if i did, i would have it create the 'create' object

<tantek> https://github.com/w3c/activitypub/issues/239

<Loqi> [puckipedia] #239 mediaUpload: only post to outbox if it's a Create activity?

cwebber2: i'm not completely sure how you would add to a note object

rhiaro: yeah, i reference the url in the body

<rhiaro> scribenick: rhiaro

ben_thatmustbeme: I was wondering more, rather than break anything for anyone, could you just do the micropub route of having a separate endpoint and what the problem would be there?
... you can use the attachment for a single item, and if you want multiple you upload them to the media endpoint first and then you add them
... and then could it be exactly the same as micropub and we only have to implement it once?

cwebber2: Unlike micropub, you give the shell activity. The uploading process, especially for video, might be adding extra data attached to the object. In micropub I think that's not the case
... We could do it where it's exactly like micropub. Part of the motivation here was that you were explicitly making .. I don't know, a certain amount of going back on the issue to the drawing board. I feel like we need a clean description of how this would be done in this issue, and we need to thrash this out on the issue cos it's pretty different

aaronpk: I just want to clarify some of the goals around mediaendpoint in general

<ajordan> aaronpk: this is micropub's mediaendpoint?

aaronpk: THe idea is that it is just for the file itself, which is potentially very large and the rason it is separate is because of things like retrying failures, pausing and resuming, and to get the file up to the server so that it can be used in a post in the future

<sandro> https://www.instagram.com/developer/endpoints/media/

aaronpk: With micropub we looked at the twitter api, and saw the separate endpoint and based it off that design
... twitter also have a chunked media endpoint where you can upload files in parts, which lets you do very large files in small pieces, which is way better for the client
... We could extend the micropub media endpoint to use the chunking idea
... What I'm getting at is that there's value in completely separating the file handling from the rest of the data
... I think AP woudl benefit from that as well

<sandro> +1 binary attachments going to a separate endpoint

aaronpk: I think handling media in a media specific way would benefit it

<ben_thatmustbeme> twitter has a media-metadata endpoint too i think doesn't it?

cwebber2: I'm open to reapproaching this, but doing so would mean we're going to have to take some time to work through what that would look like

<aaronpk> ben_thatmustbeme, i think so, and in activitypub that would be done in an activitypub-specific way

cwebber2: One case where this would be tricky - you upload a half a terabyte video file, and you need to give it a title etc

<aaronpk> twitter api docs: https://dev.twitter.com/rest/media/uploading-media

cwebber2: You're not actually just attaching a single URL to the thing that's uploaded, youre' attaching 4 urls that get extracted and several bits of metadata extracted from the video itself
... three different transcoded versions
... that's where it gets tricky
... I would like to see how that case where you have somehting that gets split up to multiple resolutiosn of the same file, and each of their metadata, incorporated into an object that you upload later

<ben_thatmustbeme> i think twitter does that as well, multiple version after upload

aaronpk: Worth looking at how twitter and flickr and places that handle transcoding do it
... twitter transcodes gifs to mp4s

cwebber2: do they have a single canonical file that exists? or youtube style where there's multiple outputs with their own individual metadata

aaronpk: I haven't looked at that in enough detail to know

cwebber2: that's the quesiton because that's the motivation for having this shell object for the metadata

aaronpk: in any case, I think you can do that with AP, creating a shell/meta object, and still handle binary uploads separately

cwebber2: would require two separate uris at that point.. even if you're posting it to your outbox, you need some way of indicating that this ojbect needs to be completed in some way by this previous media that I uploaded
... One thing I liked about the design puckipedia suggested is that it permitted having multiple uploads of different objects is that it had ac lear way of having multiple attachments for even something as complicated as what we just discussed, which I'm not seeing in these other designs
... If anyone has clear thoughts on how this alternate route would work I'd like to look at it
... I'm hearing that there are reasons to have an endpoint just for files, that's potentially fine, if it can do the things we need. It doesn't seem like we have all the answers to show that it can yet.

sandro: Multimedia resource management is an orthogonal service and all the transcoding and multiple representations and potentially metadata and sometimes metadata about only a particular representation.. all of those are issues that have been around for a while, not necessarily a clean solution, but largely orthogonal to social networking
... So to the extent that we can treat that as an orthogonal problem.. maybe there's nothing off the shelf, but somehow tryign to keep them separate and separate extensibility points and all that seems like a good idea

tantek: Chris, how many more issues?

cwebber2: 2

<cwebber2> https://github.com/w3c/activitypub/issues/236

<Loqi> [strugee] #236 Perhaps move Likes/Shares Collection to an AS2 extension

cwebber2: This was raised by strugee at the end of last weekend
... We agreed that vocab extensions are unrelated to the protocol and shouldn't be handled by the protocol
... So why not move likes/shares collections out of the spec?

<ajordan> since I'm having a bit of trouble keeping them straight

cwebber2: The reason why I don't want to do that is that they are referenced by the protocol

<cwebber2> https://www.w3.org/TR/activitypub/#like-activity-inbox

cwebber2: the like activity here in the server-to-server specifically says you increment the likes collection counter as a side effect
... so it's relevant to the protocol and thus we shouldn't remove it

<rhiaro> +1 what chris said

<ben_thatmustbeme> speaker died again?

tantek: if we accept your proposal chris, the outcome is no change?

cwebber2: right

tantek: unless there are objections to that I'd like to move forward with that. if there's new information we can reopen the issue

ajordan: my point is on the issue

<ben_thatmustbeme> i was going to say that, the idea is the LIkes and Shares are useful outside of AP

<ben_thatmustbeme> which was sort of the reasoning to moving it out of the spec

<rhiaro> ben, there's no reason nodoby else can use them just because they're in AP...

cwebber2: my point is that if you take this resolution you're saying it's within scope because its part of the protocol

tantek: I can see it argued either way, looking forward to seeing comments on the issue

ben_thatmustbeme: likes and shares are useful outside of AP, which was the point of moving it to an extension

<ajordan> async++

<Loqi> async has 1 karma in this channel (2 overall)

tantek: let's discuss this written down on the issue

<ben_thatmustbeme> async++

<Loqi> async has 2 karma in this channel (3 overall)

Websub

aaronpk: Two new implementationr eports this week. One is from a system that implements all thre epieces. One is from a hub

<ajordan> \o/ whoooo!

aaronpk: the other news is that I can't merge the PR because I no longer have write access to the repository..

tantek: do we have 2 of each publisher, hub and subscriber?

aaronpk: we do now

sandro: any comments or feedback or issues?

aaronpk: they just went through the test suite and checked off the ones that they supported. I don't see any specific notes in here

sandro: are these new?

aaronpk: One I recognise from a couple of years ago
... the other one I haven't seen before

tantek: good.. we should start discussing PR transition at some point
... that takes a little while anyway

aaronpk: I still have to correlate the individual features

tantek: coverage is important

sandro: do we have implementation reports from any of the ostatus type folks? GNU Social or Mastodon?

aaronpk: does not look like it

sandro: that would be nice.. we should make some effort there

tantek: aaron, could you reach out to the implementations that sandro mentioned and ask for an implementation report?
... Or at the CG
... They're outside the WG?

aaronpk: correct

tantek: we need a summary for the PR transition

sandro: there was that private email..

tantek: I wasn't going to bring that up

sandro: I'd like to wait for them

tantek: we can ping them again and say we're about to transition and ask for ETA

sandro: I'll do that

JF2

ben_thatmustbeme: there is a validator up and some sample test files that need expanding
... I have feedback on potential implementations, but no template yet. Not sure what that will look like
... I know AS2 went through all the vocabulary, but jf2 doesn't use its own vocab it uses microformats
... I could list the stable microformats
... But i'm not quite sure if that's really enough of a report
... or exactly what that should look like

tantek: if you can show multiple implementations doing the same thing, demonstrating interop for publishing and consuming, think about that as the objective of the reports

<ben_thatmustbeme> jf2.rocks for the validator

<ajordan> I can extend

<tsyesika> I have to go also, but folks can continue

<ben_thatmustbeme> i'm okay

ajordan: does this mean we should schedule for next week?

tantek: potentially

<cwebber2> I'm fine with a meeting next week

<ajordan> +1

tantek: Meet next week??

<ben_thatmustbeme> +1

<cwebber2> +1

<rhiaro> +0 not sure if I'll make it

<cwebber2> my promise to have the test suite up "by next meeting" applies to the 25th though :)

tantek: telecon next week, hoepfully evan can chair

<ben_thatmustbeme> ajordan++

<Loqi> ajordan has 12 karma

<ajordan> :-)

ben_thatmustbeme: section about conformance classes needs adding
... to say that they actually are consuming or producing
... the rest is just what do you publish and do you validate
... I don't know what else there is to say

tantek: okay
... any other input?
... Informally in irc .. chair hat off.. there was a whole discussion about social embedding widgets and the charter, but I promised I'd have something working by this week that uses jf2 to do social embedding

<tantek> http://tantek.com/2017/193/e1/homebrew-website-club

<Loqi> Homebrew Website Club SF

tantek: with federated RSVPs via an embed of a series of services that are processing things including jf2
... scroll down
... the rsvps are originating on the facebook copy of the event. Bridgy is picking them up, sending a webmention
... and then I'm using webmention.io receiving service, and that service provides an API that returns jf2 of all the received rsvps
... and I'm pumping that jf2 result through another service, the stream that turns jf2 into html+mf2
... including an optional stylesheet
... and I was able to with some CSS style the rsvps that you're seeing, with peoples' faces and checkmarks

<ben_thatmustbeme> tantek++

<Loqi> tantek has 64 karma in this channel (365 overall)

tantek: it's a social embed in an iframe

cwebber2: it's great to see the functionality, but it seems to me that the syntax and vocab are not really the discussion of embedding right? We can do it via jf2, and we can do it via AS2, doesn't matter which we end up using
... The challenging thing is the API and workflow
... like the whole workflow of using the iframe and stuff
... It's great to see the implementation, but ti doesn't seem like the syntax and vocabulary is the big challenge of this

tantek: mostly I just wanted to see if I could get it working, and then I was surprised I was
... I agree, those are the more important issues
... The cool thing here is there is no js involved
... just iframes, services, declarative markup, which is super powerful
... the specific APIs are something that needs to be figured out. more of a tech demo than any kind of design

cwebber2: cool

tantek: anything else?
... I dno't have any PTD updates. Any others?
... Update from SWCG?

<ben_thatmustbeme> it met, informally

cwebber2: if I can remember what we did..
... We ended up talking about how you do embedding
... Not far off what you did tantek.. via iframe, and general agreement that having either a browser extension or reader would be best, but for embedding things on a page using the iframe route makes a lot of sense

<ben_thatmustbeme> thats sort of out of context

<ben_thatmustbeme> context being for like/reply/etc

cwebber2: one of the big challenges was should you pu tthe widgets at the top of a page or should you have a bar that lets you do like and reply for the entire page.. or buttons on each sub item on a page..

<ben_thatmustbeme> buttons/actions

cwebber2: Deicded it was an implementation detail

<cwebber2> https://www.w3.org/2017/07/05-social-minutes.html

sandro: after the meeting I tracked down the implementation of this that google did for web intents, and that Digital Bazaar did for identity credentials and web payments, all of which use the trusted domain iframe technquie
... viewing that as a polyfill until the browsers have support
... probably the way forward
... don't think this is chartered for this WG, CG problem from my perspective

tantek: that discussion helped inspire me
... glad to see cross pollination
... Last topic is about bridging indieweb and AP.. you want a general discussion or something specific?

ajordan: Last call Evan requested that we talka bout it in depth on a call, that's why it's on the agenda
... Fine to move to next week

tantek: probably should have evan here for that

ajordan: nothing urgent

<ben_thatmustbeme> kick it down the road again

<ben_thatmustbeme> :)

tantek: postponing that
... VICTORY

<ajordan> rhiaro

<ajordan> :/

<ajordan> rhiaro++

<Loqi> rhiaro has 152 karma in this channel (270 overall)

<tantek> rhiaro++

<Loqi> rhiaro has 153 karma in this channel (271 overall)

<ajordan> tantek++ for chairing too!

<Loqi> tantek has 65 karma in this channel (366 overall)

<tantek> trackbot, end meeting

Summary of Action Items

Summary of Resolutions

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.152 (CVS log)
$Date: 2017/07/11 18:20:04 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.152  of Date: 2017/02/06 11:04:15  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: Irssi_ISO8601_Log_Text_Format (score 1.00)

Succeeded: s/talkeda bout/talked about/
Succeeded: s/ajordon/ajordan/
Succeeded: s/??/youd' have to garbage collect/
Succeeded: s/??/conformance classes/
Default Present: sandro, rhiaro, tsyesika, ajordan, cwebber, tantek, ben_thatmustbeme, aaronpk
Present: sandro rhiaro tsyesika ajordan cwebber tantek ben_thatmustbeme aaronpk
Found ScribeNick: rhiaro
Found ScribeNick: ben_thatmustbeme
Found ScribeNick: rhiaro
Inferring Scribes: rhiaro, ben_thatmustbeme
Scribes: rhiaro, ben_thatmustbeme
ScribeNicks: rhiaro, ben_thatmustbeme

WARNING: No meeting chair found!
You should specify the meeting chair like this:
<dbooth> Chair: dbooth

Found Date: 11 Jul 2017
Guessing minutes URL: http://www.w3.org/2017/07/11-social-minutes.html
People with action items: 

[End of scribe.perl diagnostic output]