Socialwg/2016-06-06-minutes
Social Web Working Group Face to Face
06 Jun 2016
See also: IRC log
Attendees
- Present
- Lloyd_Fassett, rhiaro, sandro, cwebber2, eprodrom, aaronpk, tantek, paul, taehwan
- Regrets
- AnnB, wilkie
- Chair
- eprodrom
- Scribe
- Lloyd_Fassett, rhiaro, sandro, cwebber2, eprodrom, aaronpk
Summary of Resolutions
- approve minutes for 2016-05-31
- Close issue #22 without changes. Use current micropub syntax and not adopt AS2 syntax
<eprodrom> https://www.w3.org/wiki/Socialwg/2016-05-31-minutes
<eprodrom> PROPOSED: approve minutes for 2016-05-31
<eprodrom> +1
<rhiaro> +1
<cwebber2> ~1
eprodrom: 7 resolutions in the last minutes
<cwebber2> ugh
<cwebber2> +1
<aaronpk> +1
<sandro> +1
<paul> +1
<taehwan> +1
RESOLUTION: approve minutes for 2016-05-31
eprodrom: next important thing is to build the agenda for the next 16 hours of F2F.
... Review documentation
... Implementations
... Are there preferences on time for thosse?
... ...sounds like not...editing wiki
with schedule details
eprodrom: maybe we should do a strategic review 9:30 - 10..or once Tantek arrives..strategy for next 6 months. Then 30 minutes for future development of IG.
<eprodrom> https://www.w3.org/wiki/Socialwg/2016-06-06#June_6
<aaronpk> can you hear okay?
<ben_thatmustbeme> yes, fine
eprodrom: <scheduling and updating tomorrow's schedule>
... As chair I approve the agenda..I don't think we need a vote..we'll see what Tantek thinks when he arrives
Strategic overview and future work
Sandro: We don't have pubsubhubbub on the list.
rhiaro: or a subscription service
eprodrom: we'll put that on tomorrow afternoon with a question mark...it seems to come up a lot without a lot of action
eprodrom: where we get into PuSH is IP issues with Google...they were going to put the IP under public license but their isn't documentation that they've done so...conversation seems to get into a grey area around IP.
... that leaves us about 3 hrs of buffer tomorrow afternoon
... anymore agenda building or agenda issues?
... I have 9:20 lets talk about our strategy for the next 6 months. I can start with a STate of the State on WG
... As of now we have 4 specs on track for recommendation
Sandro: formally we're keeping Social Web Protocols on Rec Track
eprodrom: One has made the transition to recommendation (Webmention)...one that we are moving AS2 is being moved to Recommendation
... Question for Sandro, we have 7 months left on our charter, is it reasonable to get it done?
Sandro: if we stay on target, yes.
eprodrom: If we throw something over at last second...
Sandro: I'm not sure, management is getting more strict.
eprodrom: The clock is ticking, good
<ben_thatmustbeme> according to the process doc (from memory) anything not a REC when the group closes, becomes a note
eprodrom: It seems like we have the documents with the most momentum have made it. There is some issue if we should keep supporting all 4, or select 1 or 2 or 3. I think it's unlikely
Sandro: We don't have a lot of resource contention
eprodrom: We have a F2F in Sept
Sandro: this is important. It's in Lisbon. Who will be there? I will go if we meet there.
... 22 - 23 Sept
<sandro> https://www.w3.org/2016/09/TPAC/
<sandro> (but go for the 21st if you're going)
eprodrom: It would be useful for our group to have a presence there and promote documents to CR status.
Sandro: We should be at CR for all the documents in this meeting
... might be an issue is AS2 doesn't include all the vocabulary terms.
Aaronpk: How much of a document can change after CR?
Sandro: editoriral...anything that changes an implementation is not ok.
eprodrom: It's a catch 22..we'd only drop vocab if they weren't being implemented...
<ben_thatmustbeme> that was going to be my next question, marking at risk
Sandro: We used an At Risk flag before to signify things that might come out after CR
<Tantek arrived>
Tanktek: I thought that was only for the first CR?
Sandro: possibly
Tantek: if you wnat to make non-normative changes that are not At Risk...if there are specific features as the editor, would you want to wait, or go to PR? It's a judgment call. If you get one implementation that's one thing, if you get two.
<sandro> https://www.w3.org/2015/Process-20150901/#revised-cr
eprodrom: Sounds like it's a likely situation for AS@ that we will have a large part of vocab not implemented, then we'd have to have another CR, which we should be prepared for.
Sandro: you still need 4 weeks.
Tantek: you can communicate that as your intent.
eprodrom: We have said that we want to see each of the vocab terms to have 2 implementations that show meaningful understanding
Sandro: we came to this because we're discussing if we should meet at TPAC
Tantek: we can turn documents into Notes too, which is useful if we don't get rechartered or another group brings it up.
eprodrom: I believe the energy and resources of this group are at best to publish the 6 documents. I don't think we have resources to take on new tasks.
Tantek: as background, each of the documents had work in them before coming to the group...as an outside Open Source project or other...if someone has a new idea the chances of success are greater if it's incubated informally before being brought to the group.
Paul: (contributions I missed on clarity around the process)... after CR can we add new features?
Sandro: we would need a new CR
Tantek: I've seen implementations with existing interop go back to CR. We can debate it. I"m just giving you the background
Sandro: Micropub and Activity Pub are what we are looking at for tomorrow
Cwebber2: I don't think that's possible. Both Jessica and I have had life changing things....can we really go to CR without implementations of Acitivty Pub? I think we need implementation
rhiaro: I implemented it last week and had question.
<tantek> rhiaro++ for helping implement ActivityPub and surface implementation issues
<Loqi> rhiaro has 206 karma
eprodrom: Will it be ready for CR before Sept? Maybe?
... We have a partial implementation for Wordpress. I count that because it's outputting the feed.
Tantek: conceptually it's in good shape, editorially it's lagging.
... Since we're going forward with no At Risk features in AS2 are we going ahead with it? This is a good signal to implementors, we telling them that they need to implement things they really want as warning and incentive they know they need to ship.
<ben_thatmustbeme> broadcasting that implementors NEED to implement features they want, sounds good
Sandro: as an implementor I'd like to see that as a note that calls out what's being watched,
<eprodrom> http://jasnell.github.io/w3c-socialwg-activitystreams/activitystreams-core/#exit-criteria
Tantek: I would take that as a signal to really implement an item. This is a suggestion to Evan, not a request
eprodrom: In terms of exit criteria, the note says you have to have a meaningful implementation
Tantek: As I read it an implementor would not feel the urgency.
... It's common in W3C to have a spec last for years in CR.
... now every Charter renewal goes to Advisory because they saw groups not making progress...wanted to force WG's to show progress. We are showing progress, but we need to show interest from membership companies. We haven't been successful with that to date.
Sandro: We should be public with deadlines.
... something like the end of the summer
... AFter we go to CR, that takes 2 weeks, 4 weeks in CR, 2 weeks to go to PR. We need to decide to go to CR 12 weeks before our charter ends.
eprodrom: Expecting optimal behavior
Sandro: We publish in January
eprodrom: to summarize, last chance, with an *, is at the F2F in Lisbon to go to CR. Much better option is to go to CR before that.
... My expectation is that there will not be significant social work after CR until implementations come back. It doesn't feel like there's anything in chute for January 1.
Tantek: there has been an uptick in Webmention since it went to CR. I imagine the same effect with AS2. Optimistically I hope to see people come out of the wood work. We should look for that and ride that wave. RIght now I agree with Evan, but I hope we're altering it
eprodrom: We've built up institutional knowledge about the social web landscape. Is there something we can identify as reasonable and useful to recommend.
Tantek: like Social Web Protocols
Tanktek: I want to see PuSH
eprodrom: with the necessary humility that we don't know what the world will look like in 2018
Sandro: 2017 workshop at the earliest May? W3C measures success by how many people show up...one could do a state of the Social Web...I don't know when there will be energy for that, but it's a thing someone could start to figure out.
Tantek: do we want to aim for the path to get charter renewal, or plan for letting the group close and start a new group. Something this group has achieved is a culture of moving multiple approaches forward where they a more than civil but synergistic. I think that's a unique thing and I don't want to lose that.
cwebber: I strongly agree. Would it be better to decide this at the next F2F?
Tantek: it will be much clearer in 3 months.
Sandro: At TPAC there's a time where we can popularize the work
Tantek: like the last last Plenary. If we do another one I expect a group. We can tell them our charter expires in 3 months. We can ask for support. If we got enough AC support, that's all we need.
Sandro: I heard Sapporo was contentious. It heard it was about personalities.
cwebber2: Was it about different stack type of argument? We might be able to keep things pretty happy
<ben_thatmustbeme> i think the collaboration we are getting between the different communities is actually one of the really great reasons to keep the WG going
Tantek: I agree we were underrepresented. We got a lot of folks that were not involved with the WG but were strongly objecting.
rhiaro: I remember the meeting going better than expected. There was debate but I didn't see anyone was particularly aggressive.
eprodrom: On a practical level on extending a Charting. I think we'll lose Arnaud and James Snell. They've said that. It would be a different kind of chartering process.
Sandro: usually you see the large industry players show up and you know you're in good shape. We had Sam Goto
eprodrom: We've drifted..if we get documents to CR, I'm not sure we have a burning purpose for this group beyond that. If we do have a purpose, we might want to identify that. Webextensions? additional vocabularies?
Tantek: If we want to extend we need a new charter with new work items, We need that to be prepared in advance. If it 's not clear by Sept. We can't really justify a renewal, but if there is a list we should go for it. I think there will be a need sooner rather than later for Vouch.
eprodrom: What about a situation where Micropub has been going through implementations, changes, exciting, but we need more time?
Tantek: We'd ask for a 3 months extension, not a Charter renewal. It might go to AC, but it's less contentious. The point is to let the group wrap something up.
eprodrom: the outcome ....let's talk about IG.
<aaronpk> http://www.decentralizedweb.net/
Tatek: one last thing about the prospect of change...the two days after this meeting is a Decentralized Web Summit, Tim is also attending, in addition to Vint Cerf. I could see some critical mass coming out of that, though it's unpredictable. The probably goes up with the profiles of the poeple attending. I'll be there. Sandro will be there. It's not W3C. It's being hosted by the Internet Archive.
<eprodrom> http://www.decentralizedweb.net/
We moved this meeting so it wouldn't conflict.
eprodrom: I'll try to attend one day
cwebber2: I'd have to rebook flights... I'll have to see
<sandro> https://www.w3.org/2016/04/blockchain-workshop/
Tantek: W3C is hosting a blockchain workshop at MIT
eprodrom: Bitmessage...microblogging over the blockchain.
... Blockchain is very unwebby.
Tantek: who knows what can happen over the next two days.
<KevinMarks> There is a "builders day" tomorrow before the public day weds
Sandro: my point was about industry participation. It used to be Microsoft ruled the world..then we got around the internet...I was expecting people to team up against Facebook....Google seems like the obvious candidate, but they have internal conflicts.
eprodrom: Google Buzz covered AS and PuSH pretty well.
<rhiaro> scribe: rhiaro
<tantek> KevinMarks are you going to the builders day?
Lloyd_Fassett: I spoke with AnnB, she thinks we'll close the IG as I was the only one who responded about who wants to keep going
... I expect something formal will come from her
sandro: the IG is shutting down. Turning into a CG?
Lloyd_Fassett: Yes
... I think the purpose of the next two days is to comment about wrapping up the IG's input into the process
... It does have some indication of things that could help for a new charter
... Particularly recent comments about MS to internet to facebook, are we building something that can challenge facebook? THe w3c is largely still being directed by large industry players, but I think the social web is about challenging what industry does and hwo they make their revenue
... I think there's a core conflict that would be hard to overcome
... I haven't thought about the distributed web as strongly as tantek, but there might be a really good opportunity to look for something for this group to coalesce around for distributed web standards
... For the two years I've been involved, I'm coming at this as an entrepreneur figuring out decentralised collaboration
... This group felt more like social networking
... I'm trying to build something that changes a function, a process
... So for me, if IBM is only going to do it if it's in their interest, or google, they've moved to just defending revenue streams
... That's in conflict with enabling individuals to collaborate
<KevinMarks> Yes, I'm going to builders day tomorrow. Will record what I can (not sure if Chatham House Rules)
Lloyd_Fassett: The thing about the decentralised summit.. maybe the people there and their interests, can further move what this work has been
<sandro> maybe a Decentralized Web Applications Working Group :-)
Lloyd_Fassett: Just hard to get people who want to fund it and put time in when there isn't some revenue stream
... The things that are of interest to me are trying to figure out ways to crowdsource and standardise vocabularies
... The decentralised web is decentralising the way industries are set up
... It's gonna be somewhat hard to find interest
... I think if we reach out to people that have objectives to do something like that
... There's a better chance of getting things adopted and better used
... There's a lot to unpack
... THe subtext is that the IG didn't contribute a lot. We did put forward use cases that were specifically about collaboration
... My personal industry is healthcare recruiting, but that's a figment. The asparagus seller use case is the same thing
... that's very different than tagging people in a picture
... However, very impressed to see the implementations from the IndieWeb these past few days
... Those types of things can be a good step towards doing something that's about making processes more efficient
... and enabling individuals
... but the whole thing about enabling individuals, the decentralised web is about decentralising the power of big businesses
... The w3c is being directed by members who are not so jiggy with that
eprodrom: When we were chartered we had this continuation of the open social concept, a backbone within enterprise, you could buy these social applications from different vendors and they would all work together
... You could swap out backbones and they'd still work together
... I think the combination of the fact we haven't had a lot of participation from opensocial implementors so that voice has not been brought out here
... This might be a little bit predictiony, but my idea is that social within enterprise has changed from the activity stream model to more along the conversation format that you see in say a slack or a hipchat
... We're seeing a sea change in the enterprise use of social from streams to chat
... Which has made that story of having applications that run in the stream work together less compelling
... All of which is to say that I think the story that we had about developing business cases from the IG at the chartering time has reflected that world
... I don't think it's necessarily our job to force the hand of anyone to change that
... We can't necessarily whip up enthusiasm if it's not there
Lloyd_Fassett: I think a part of coming in to the whole process a couple of years ago is an innovation period
... The best process when something has been incubated from the outside and then brought to w3c
... Probably a lot of people in the world they would like to share and have standardised so it can gain adoption. Maybe more outreach could be a useful thing
tantek: I expect a bunch of us will be trying to do outreach the next couple of days after the f2f
... sandro, rhiaro, kevinmarks, eprodrom for a day, me, we're all pretty active
... If we're all talking to people
Lloyd_Fassett: I think there's a real need for that
... If there's non-large-compnay interest in doing some decentralisesd web
... I just want to direct it towards a use case in collaboration, crowdsourcing
... If we can standardise crowdsourced information in a way that it can be reused
... Something that enables people to solve a problem for less cost or allows you to aggregate more information
tantek: may just be a problem space that's more social, political and economic than it is technical
... It may be a space where a technical solution no matter how awesome won't work and you end up siloing that information however
... like wikipedia
sandro: a lot of people think of wikipedia as highly decentralised
tantek: ?!
sandro: in a technical sense it's not
... but distributed control. eg. compared to Britannica it's radically more decentralised
... I've seen wikipedia used as an example of decentralisation
eprodrom: We have got to our limit for this topic
... Do we have action items from this discussion?
... Seems that we have at least an expectation that we'll be putting into SWP future directions
... Are there other concrete actions that we have coming out of this discussion?
tantek: the one new thing is to suggest that for those who think we're going to want to recharter in december that any time between now and december would be a great time to be incubating things that you would expec tto put into the charter
... If you look at the charter now, written 2/3 years ago, what actually came of the group was something that was mentioned explicitly in the charter
... For the most part what we've produced is stuff that was mentioned by name
... So looking forward I would expect a future charter to succeed based on explicit things named in that
... So anyone who wants to put things there should start incubating asap
eprodrom: would it make sense for us to collaboratively produce a next charter?
sandro: that is commonly done
eprodrom: if we were to recharter, this is what we think it would be like
... We don't necessarily take that forward, but if we put that together
tantek: we could block out time at september tpac
... half or full day on rechartering
sandro: my concern is we have to actually talk to people who might want to sign on
... If it's just us we're not going to have enough people
eprodrom: but if we have one that *we* don't want to sign on for, it's unlikely we can convince anyone else
tantek: our f2f is after the plenary, thu-fri
... if we can plan on doing a breakout session at tpac that's a place where we can float potential charter items to a broader set of people
sandro: I'd like to understand whether we're trying to appeal to people as individuals with political and moral stances, or more traditional w3c space appeal to business and what makes good business sense
... Making this stuff make good business sense is pretty hard to do
... open social did it for a little while, but we seem to have not been able to tell that story
... facebook has not turned into an existential threat for others
tantek: times are not desperate enough
Lloyd_Fassett: I think there's a conflict between being driven towards businesses vs being driven towards individuals
... Some more methodological way of finding people might help
... I think a recharter would be more exciting if it included some data
... a lot of the work here is social first
... but I don't have magic bullets for that
... maybe something will come up ath the decentralised web summit about that
... there are people who have a lot of battle scars from semantic web which was data-first
eprodrom: We're past time, but I'd like to amend our agenda so we do implementation updates starting at 11 then half hour for SWP then possibly more this afternoon
... And we can take a 15 minute break before 11. Whatever time we save before 11 can be a break
... I mentioned earlier that social interactions within enterprises has been moving towards conversation/chat oriented. Slack is the leader here
... is there a place for us in providing specifications around that?
sandro: the bizarre thing there is that what does slack do that irc doesn't?
various: a lot
cwebber2: the main thing is an interface that makes it really friendly
... integration with contacts
<ben_thatmustbeme> it looks pretty
aaronpk: the main thing it does is run everywhere, which is not to be undervalued
... The only reason slack works is because slack the company built all for the apps. If it were a standard anyone could build apps on any platforms
tantek: irc is too shitty a standard for a healthy app ecosystem to exist
aaronpk: slack went beyond a provides webhooks to get more
<ben_thatmustbeme> very very easy set up too
aaronpk: irc bots are a hack on top of irc
... slack has it built in
cwebber2: if we used xmpp multi-user chat from a standards perspective is phenomenally written
... but the clients are terrible
eprodrom: a poor developer experience too
cwebber2: it's a library thing and things like that
... the standard is actually quite good
aaronpk: So many more people write slack integrations. I think that's a measure of success
cwebber2: if slack had used xmpp multi user chat, I don't think the standard is the thing, it's pouring billions of dollars into UI
aaronpk: if xmpp multi user chat had as simple interface as slack it would be as used
eprodrom: if we wanted to chase the trendiest thing..
sandro: we need a blockchain slack.
eprodrom: conversational interfaces
<tantek> no
aaronpk: irc protocol is being actively worked on
<tantek> no Slack is not a member of W3C
<ben_thatmustbeme> thats a shame
aaronpk: doing things like adding proper identity
eprodrom: this would be a stretch, though it would be fun, a stretch for what we're doing
... but maybe something to consider
... may be worthwhile for us to think about in terms of is it something that membership would want to happen
... That said, big effort to do
sandro: depends if they view slack as being sufficiently evil
... as long as everyone is okay using slack, they don't need to standardise in that space
... all the businesses building their business around slack seem comfortable with that
tantek: we have seen with the examples of twitter and facebook there have been tons of business that have been built around either one of those, and ther ehas been a slow attrition of tightening apis, cutting off, etc
sandro: all the media companies that are built around twitter don't feel threatened or endangered by twitter
... if its started to be an unreliable or evil utility they would want some open replacement
eprodrom: I feel like we've covered the issue of where we stand today, what we're doing over the next 6 months, and what future directions would be
... We have some action items to look towards doing a draft charter at the next f2f, that we have some expectations of what will go into SWP, as well as some urgency to move the documents we have along as fast as we possibly can. And implementations
... Anything else we need to talk about in terms of strategy for the WG?
<aaronpk> here's the IRC v3 working group http://ircv3.net/
tantek: If you want something in a charter renewal, an item, scope or deliverable, you need to be incubating it today and be prepared to present it at a breakout session at tpac
eprodrom: break until 11am
... 12 minutes. Then reconvene for demos
ActivityPub demo
eprodrom: We might go over and move SWP until later
rhiaro: I dump all my photos on my server
... this is activitypub updates
... curl with activitystreams+json of my /food to get AS2 list of photos
... on this server (a DO droplet) I made endpoint that accepted update activity
... no real auth
... made publishing app running on another server
... I can edit stuff about photos, name, date, tags
... it just does AS2 updates
... last f2f I demoed create
... showing again
... four clients that do creates
... food logger
... uses AS2 extensions in my namespace
... check-ins
... tracking purchases
... I take a photo, scp it to my server, then it appears in this collection
... events + travel plans ---- as events, arrives
... travel activity
... with in-reply-to it's an rsvp
... that's it for as2
Lloyd_Fassett: Are you signalling that it's an RSVP
rhiaro: using webmention
... shows up indieweb summit rsvp's list
... microformats, turtle, AS2
eprodrom: questions!
... feeds? you seem to post things in different feeds. Do you have an amy-everything?
... I think that's in AP. A Feed Of Me
rhiaro: I used to.
... My home page is page by month, but it excludes checkins, purchases. It drops things with explicit types.
sandro: every feed is both human-readable HTML + any data feed
rhiaro: Yes. All con-neg. This is all super simple PHP
eprodrom: Some of this stuff is personal. You've chosen to make it public. When I'm publishing, I publish some things only to some audiences.
rhiaro: I use "to" for targetting, but not currently for access control
... could have a /to-me page if you're logged in with indieauth
tantek: This is an amazing accomplishment. I like how you've thought through and combined elements, and you've made it look nice
rhiaro: explanation of microformats + AS2 magic
... All of this is blogged about
cwebber2: Nice to see something done on an individual basis
rhiaro: Very much doing it because I wanted it
cwebber2: inspiring :-)
eprodrom: Images on flickr, blogs on wp, ... separate feeds. could/should we have multiple feeds?
cwebber2: stream property, in last meeting
... plugin for blog.... turned out a bit problematic
rhiaro: I want to publish things in separate feeds
<KevinMarks_> classically activity streams have a query api
<ben_thatmustbeme> rhiaro, i'm having a hard time getting the AS format
sandro: having separate feeds is nicely more efficient for rare items
<ben_thatmustbeme> tried curl -H "Accept: application/activity+json" http://rhiaro.co.uk/
rhiaro: This is just client-to-server updates.
... Completely different from subscription
cwebber2: Should AP be two separate specs, c-s and s-s ?
... Or at least clearly separated.
rhiaro: Push should be different
eprodrom: What you did was create a rich set of client-server apps
... Probably after the first one they were pretty easy
rhiaro: Yes, I made burrow first then copied & modified
... Apps auth with indieauth
eprodrom: So you've really addressed client-server, and you have some server-to-server in json-out.
... so I could implement a pull-based s-s to see what amy's been eating, but you don't have the push mechanism that we have AP
... strong use case
rhiaro: At least F2F we talked about negotiating push-pull model
sandro: How does this connect with implementation report
rhiaro: I ran it against as2.rocks, and I can list features
eprodrom: How did we not do an implementation report template? Oops!
aaronpk: You can copy what I did with webmention
tantek: We should have this ready for the CR transition call
sandro: What about testing consumers?
rhiaro: My consumer is mostly blind, but it knows an update is an update, and the obtainium album is built off AS2
eprodrom: Nice to list extensions, too
sandro: Can we put this feed data in the sample feeds repo?
rhiaro: Yes
tantek: the way you're using AS1 in the AS2 feed is important to note, for people doing the transition.
... rhiaro can you also try doing an implementation report of webmention?
rhiaro: I don't have a current implementation, I'm using other products (webmention.io and telegraph)
Webmention tests demo
aaronpk: With webmention.rocks
... I've had for a while tests on your ability to send wms
... now there's incomplete support for testing your ability to receive wms
... I went through the spec and turned it into check boxes
... you can self-report everything
... login with indieauth
... demo test post
... demo in wm.rocks
... in browser
... it makes a comment on my post
... but only because I'm signed in
... on the same host
... testing that you reject invalid webmentions
<ben_thatmustbeme> huh, the second test i fail because i queue everything and actually respond with 449
aaronpk: Receiving and Request Verifications
sandro: what happens when someone clicks check boxed?
<tantek> ben_thatmustbeme, interesting, that may highlight a place where the spec should be updated to explicitly allow for the Vouch extension
aaronpk: Really you submit the markdown
<ben_thatmustbeme> well presumably thats in the vouch spec
aaronpk: update via pull request
<ben_thatmustbeme> but a good question for aaronpk
aaronpk: I'll add a sentence encouraging Submit Early Submit Often
tantek: Nice, new
<ben_thatmustbeme> aaronpk, you'll mail them to me?
aaronpk: I make stickers for people who pass at least one test
Demo of Micropub
aaronpk: last F2F we talked about media endpoints
... because the create JSON section, there's no clear way to sent JPEG data.
... you could do form encoding, but no standard way to do that with json
... so a media endpoint helps solve that
<ben_thatmustbeme> this is how twitter does it as well correct?
<tantek> I was just going to ask about that
aaronpk: you sent a form-encoded file-upload with your jpeg to the media endpoint; it returns the URL of the new media resource.
... then when you're posting micropub, you can just use that URL
<Zakim> sandro, you wanted to ask about testing
aaronpk: implications on UI side
sandro: so the endpoints COULD be the same if you want?
aaronpk: sure
tantek: All the research of proprietary APIs led to this
aaronpk: Here's Quill, showing how I add a photo
... Quill posted the photo to my endpoint, then showed it in this HTML
<ben_thatmustbeme> aaronpk++
<Loqi> aaronpk has 159 karma
aaronpk: so when we publish, it's just a little json, the photos are already elsewhere
<tantek> is it a little json? or is it a form encoded response?
sandro: if you don't post blog?
aaronpk: twitter's media endpoint deletes items if they don't appear in a tweet
... but that standard doesn't need to know
sandro: is there a security consideration that the URLs be unguessable?
aaronpk: probably should be. But they can be emphemeral.
... In my case my micropub endpoint copied the media from the media server!
... The only reason we'd want this spec'd is if there are commercial media endpoints, eg on S3
<ben_thatmustbeme> aaronpk, are you posting html to your endpoint then, since you included multiple images in place in the post?
sandro: This is in micropub spec now?
aaronpk: In discovery -- you GET on the micropub endpoint to find the media endpoint
tantek: In the second request, the complete post one, is that JSON encoded or form encoded or what?
aaronpk: Quill posts form encoded, I think, but they're equivalent
<ben_thatmustbeme> ahhh, okay
aaronpk: Another use of media endpoint, app to post food photos
... slightly more visible
sandro: You could use the sha for the media endpoint? that might be nice?
aaronpk: yes, sure
tantek: Upload a big media file?
sandro: I don't think HTTP has any kind of partial/continuing uploads. youtube doesn't seem to have such a thing.
<KevinMarks_> ftp allows resume
JS + https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications
<KevinMarks_> curl seems to support resume https://curl.haxx.se/libcurl/c/CURLOPT_RESUME_FROM_LARGE.html
<KevinMarks_> maybe thats ftp only?
aaronpk: bookmarks with screenshots, using micropub to make it a separate app
<tantek> right, wondering what the HTTP equivalent is
<tantek> (to resume)
just use xhr, imho
or websockets :)
<ben_thatmustbeme> I plan to support it with mobilepub
sandro: any other micropub impls?
<ben_thatmustbeme> the media endpoint that is
aaronpk: Some, but without support for media endpoint
<KevinMarks_> i think you'd have to use PUT to resume as POST doesn't let you set target URL
I don't think PUT supports ranges. So you'd need PATCH. Or a custom POST-chunks protocol.
<tantek> also demo'd 2016.indieweb.org, RSVPs from 24 independent sites, sent via webmention, nearly that many different implementations, though some may have been sent by curl
<ben_thatmustbeme> rhiaro, I tried curl -H "Accept: application/activity+json" http://rhiaro.co.uk/
<ben_thatmustbeme> but i didn't get anything
<ben_thatmustbeme> or rather, i got html
<eprodrom> Wow, I should make sure not to do any Risky Business dancing
<rhiaro> ben_thatmustbeme: yeah my main site is dodgy
<rhiaro> img.amy.gy should be stable
<ben_thatmustbeme> i'm here
<KevinMarks2> Yes, I think that refers to a very different draft
<tantek> chair:tantek
<tantek> scribe:cwebber2
AS2 implementation - WordPress plugin
eprodrom: so one of the implementations that hasn't come out of this group from AS2 is the wordpress implementation which came up a few telecons ago
... since then I've looked into it and put it onto the blog for my company fuzzy.io
... and you can see the as2 format here
... in general looking over implementation there are strong points, is almost painless to roll out form in wordpress
... there are some downsides, looking at validation report it says "object does not have a type property"
... there are basically a lot of funky as1-isms, for example generator and provider are properties in as1 that aren't in as2
... that said, there are some good parts; it's relatively complete in handling actors, objects, targets
... one last thing is that there's type and id properties @-prefixed, which we took out relatively early on in as2
... but we've seen at least one other implementation that had a similar problem
... so I think it will come down to supporting that in validation. To be honest, my json-ld foo is not strong enough to know if our alias is defined
cwebber2: (and rhiaro:) yeah it's fine (sorta)
eprodrom: there's some great wordpress blogs out there, maybe if we can get some review from some of them, it might be a nice next step to get on w3c blog and etc
<ben_thatmustbeme> eprodrom, out of curiosity, who wrote this implementation? is this just the as1 plugin writers extended it to as2?
sandro: it would be great if there was some consumer that only consumed as2
tantek: not sure that's a fair criteria to apply
sandro: I mostly need to justify to w3c team
<tantek> pfefferle
eprodrom: ben asked who wrote it, it's Matthais Pfefferle
... he's done a number of other distributed social network efforts; think he worked on friendica / diaspora
... having this version is good
<ben_thatmustbeme> cool
<aaronpk> he also wrote the wordpress webmention plugin
tantek: matthias is great
... has written many distributed social web things
eprodrom: yeah so hopefully if we can keep that momentum going, it'd be really good
... there are a couple of things from us, at least from a specification standpoint, do we need for someone who has an as1 implementation, what can we do to let them upgrade to as2
... since this is an example of someone who's done that who hasn't been in these discussions, would be good to see what "mistakes" he's made, etc
... so @-prefix properties, default type, one object has name one has display name...
... he also grabbed a schema.org type for the blog itself because we don't have one in as2
... but I was happy to see it up there, it helped me put an as2 feed up for my company
... any other questions?
... I'm happy with it, next actions will be to look at what was tricky for him and submit pull requests
sandro: I hope writing will be kind of trivial once you know both sides of the interface
eprodrom: to be fair, wordpress has a pretty reasonable feed mechanism built in
... so 36k? not a lot of code, and that contains l10n stuff
... thank you!
<eprodrom> https://wordpress.org/plugins/activitystream-extension/
<eprodrom> http://blog.fuzzy.io/feed/as2
tantek: as we get into CR, that's a question we'll keep asking
eprodrom: I think my strategy will be see what those implementations are...
sandro: for this use case where it's kind of just doing the same thing as RSS, would it make sense to have consuming libraries that take rss / atom / etc and give you as2 out
tantek: I guess I'd like to ask that question generally, what's the external implementation status for webmention?
aaronpk: I have not received any implementation reports
tantek: we knew 27 implementations when we went to CR, any changes?
aaronpk: not that I know of
sandro: most of them were not all of webmention
aaronpk: I think many were just senders and not receivers
sandro: maybe good to pick high profile ones and get them to (?)
tantek: I think that's good encouragement from sandro, and figure out what's the gap between you ran webmention.rocks, but haven't filled out implementation report
eprodrom: what we decided to do for as2 test suite is two things, one is a validator, which for publishers is the "test" mechanism. for consumers we have a test suite of sample documents, served off of github, or you can download them and read them off the filesystem, and that's the level we went for in terms of as2
... as we see more implementations we see more edge cases where we see this does/doesn't work, etc
aaronpk: for those, can you consider them complete implementations of the specs?
eprodrom: let me try the consumer side first, since seed of test repo was the document itself, I would say that yes, that's the case, however... not all variations of the different types are fully there
... for example, let's say adding a photo to a collection. We don't have examples of adding a video to a collection, a blogpost, a collection to a collection, etc
... if we were going to unit test this to make it bullet proof, we don't quite have that, and we don't have a lot of the sociopathic examples of adding a person to themselves, etc
... but I think at least we have a few hundred documents in there
sandro: I was unable to find that collection, the spec links to as2rocks for testing, but maybe there can be a link to examples for consumers
eprodrom: good idea
tantek: we're jumping into social web protocols now
rhiaro: should I give a rundown?
Social Web Protocols
<rhiaro> http://w3.org/tr/social-web-protocols
<rhiaro> https://github.com/w3c-social/social-web-protocols/issues
tantek: I realize document status is semi-automatic?
rhiaro: it's completely automatic
tantek: maybe in overview text might indicate our general intent
rhiaro: third paragraph of 1.1
tantek: oh ok
rhiaro: might be that if we produce some normative text to do you must use this spec in these circumstances, must use this in these circumstances
tantek: I greatly appreciate this update
rhiaro: the main thing is I need to see if there are major things missing from the specs, and where there are missing things in specs I've put a red box
<tantek> PuSH needs an explicit entry in references
rhiaro: I see two ways there's subscribing
... the issue is the wg doesn't have a coherent story on subscriptions
<ben_thatmustbeme> cleaning_up_PuSH++
<Loqi> cleaning_up_PuSH has 1 karma
tantek: a general feedback is any issues in this spec is worth raising github issues
... maybe link to those specs
eprodrom: most general purpose protocols don't handle distribution to groups, eg posting to just friends and family, etc
... there's a mechanism for doing that in activitypub, and it's not something that pubsubhubbub handles
... there are tricks to doing it with different feeds, eg a friends feed, but that can get tricky when you say only send this to Sandro and the public
aaronpk: I'm not sure it's fair to say that it's tricky there and not in activitypub
eprodrom: in activitypub situation it's a subscribe thing
aaronpk: you've moved the burden
eprodrom: yes now on publisher side not subscriber side
... was one of the things that was a big deal for ostatus, which was a problem because it only supported one feed
... only stuff that was 100% public went out on pubsubhubbub
rhiaro: we diagrammed things to separate out push and pull
... so you don't have to support people subscribing to you when pushing out to get your content
... the algorithm is my server tells your server hey amy wants to subscribe, you say yes from now on I push to you, or your server can say no i don't support that, keep polling
<tantek> Suggest renaming 1.2 to Social Web Working Group Documents
rhiaro: so it allows flexibility
<tantek> and moving Post Type Discovery [ED] to that
eprodrom: also a scaling issue
rhiaro: that's something I don't know anything about
<tantek> and third add PubsubHubbub explicitly to 1.3
rhiaro: but for me it's separation of concerns
eprodrom: the only problem with polling, it's great in a lot of ways in that you can do kind of lighter-weight servers etc, but you can imagine two servers with 1000 servers, and now you have one million possible relationships, and with all that polling you could shut that down with all those polls
rhiaro: in this scenario no server has to support poll and no server has to support push
tantek: is that something you want to describe in section 4
rhiaro: if we have a spec that has these 2 options then yes
tantek: you have specs that do *one* of those options
rhiaro: if we as a group can figure out a story about that
tantek: that sounds like AP only,. so I'd say for your document
... well yes it has an opinion, and your specification can say push vs pull
eprodrom: if I'm not mistaken aaronpk, you do a poll to pull things right?
aaronpk: also pubsubhubbub
... and kyle wrote woodwind, which uses pubsubhubbub if it has it
eprodrom: and it uses rss with woodwind (?)
<eprodrom> scribe: eprodrom
cwebber2: one of the things when we wrote out the whiteboard for subscription we thought we would need two separate terms
rhiaro: We had an amended version of that whiteboard process
... issue 80
<rhiaro> https://github.com/w3c-social/activitypub/issues/80
rhiaro: this version has an advantage of having fewer verbs
cwebber2: will be reviewing during break time
<cwebber2> scribe: cwebber2
tantek: first, anyone else have input for Amy?
... I think all spec editors want to read and see if this correctly summarizes features of specs
... and if not maybe you want to see if it gets more readable in those areas as well as update social web protocols
rhiaro: also I have bullet points to compare
... like you have to use json or don't use json
... I can drop a link to the issues on irc
paul: you should put it in the document
<rhiaro> https://github.com/w3c-social/social-web-protocols/issues
<Zakim> tantek, you wanted to make 3 requests for Social Web protocols http://socialwg.indiewebcamp.com/irc/social/2016-06-06#t1465248057089
tantek: I think we should explicitly add pubsubhubbub to 1.3
... specifically asking for post type discovery to be added to 1.2
<tantek> https://www.w3.org/TR/social-web-protocols/#profiles
rhiaro: there's a big hole in profiles, we haven't worked on that, but we should at least give a story about why
tantek: I like both how your document is working on both the stuff that's happening in the wg and things that are outside
... I think it doesn't need to turn into the wikipedia article of social web protocols, which is a massive mess
rhiaro: it's good to have an archive of that
tantek: yes, but that's not this
<eprodrom> scribe: eprodrom
<cwebber2> http://dustycloud.org/tmp/activitypub_wd_2016-06-02.html
ActivityPub
cwebber2: I have the token necessary to publish on Echidna
Not as much to talk about as implementation for AP
cwebber2: what can best be done with AP
... should we talk about issues first?
tantek: we need to have an implementation to get to CR
sandro: Not necessarily
tantek: it's a way to expose critical issues
sandro: having at least one implementation will make sure the spec is stable
cwebber2: I will add an issue and will make sure it happens
<cwebber2> https://github.com/w3c-social/activitypub/issues/85
cwebber2: micropub supports partial updates and activity pub does not
eprodrom: patch vs put
KevinMarks: patch is constrained
<aaronpk> scribe: aaronpk
eprodrom: if we were to do that we would need to have a type for properties
cwebber2: it's possibly conceptually tricky with json-ld
... if your'e thinking about saying i'm going to add these specific things or change them, but then have remove and refer to it by name, if you think about json-ld then this name might expand
eprodrom: let me propose this... if we take the update type to mean patch, make changes to the properties i'm providing and everything else stays the same
... then if the client wants to change all the properties then they send all the properties, if they want to remove a property you provide null
rhiaro: that's what my implementation does now
eprodrom: that does require the client know the state of the object on the server
rhiaro: right, you send everything you want. if there's something on the server you don't know about then you shouldn't be updating it anyway
cwebber2: the place this might break with pump.io implementations, current implementations expect full replacements. with this there is a change of expecations of clients now.
eprodrom: yes but there are also lots of other things they'll have to learn
cwebber2: so we're deciding that updates are always mutation
... to remove a value you supply null
... is there a case when null is a meaningful value?
rhiaro: what about empty strings
cwebber2: i prefer empty string to mean empty string
rhiaro: if there's a property that has multiple values, how do you remove a specific value
... i want to remove the tag "social"
... so you'd have to resubmit the new list of tags
<eprodrom> http://jsonpatch.com/
<eprodrom> https://tools.ietf.org/html/rfc6902
<Loqi> we will be breaking
<Loqi> Countdown set by tantek on 6/6/16 at 2:36pm
eprodrom: there are a couple mechanisms on this with json, such as json patch
... i think jsonpatch ground to a halt a couple years ago
tantek: is this discussed far enough to put something into the issue?
cwebber2: yes i've captured this in an issue
tantek: can we close on the discussion of this issue
... time for a break
... afternoon break until 3:30
... maybe take a few minutes to re-read social web protocols
<cwebber2> http://saraswat.org/desiderata.html
cwebber2: talk about possibly splitting the spec up
<cwebber2> https://github.com/w3c-social/activitypub/issues/79
cwebber2: we talked about this at the last meeting. there's several ways we could split it up
... probably the simplest way is to have a client-server and server-to-server spec
... maybe one of them included the possibility of including polling and the other didn't
... my main concern is that refactoring while keeping coherence with what we have now will be hard
... one of the big challenges is that right now the spec interlinks and would duplicate stuff between documents
... i'm open to hearing input on this
rhiaro: a year ago i did a first attempt at taking it apart into distinct sections
... that's still the organization in my head
... i did a PR i think
... basically the thing you say about referring back and forth between things, i reorganized it in such a way that the parts don't depend on each other
... that's my goal, is that the parts don't depend on each other
sandro: in theory that makes implementations a lot easier
rhiaro: that also means if there are 3-4 activitypub specs and we get two of those to CR that's better than nothing to CR
eprodrom: I made an illustrated diagram on our wiki at some point,
<cwebber2> https://www.w3.org/wiki/Socialwg/API/Layers
<cwebber2> https://www.w3.org/wiki/Socialwg/API/Layers
eprodrom: the idea being that there's a small amount of CRUD with activities
... and second layer of access to various feeds, these are my followers, friends, etc
... and finally a last point which is the server to server
rhiaro: for me the server to server part breaks down further
... the server to server differentiates (inspired by webmention being a tiny thing) stuff appearing in my inbox that i didn't ask for vs subscribing to things
... under the hood they may use the same mechanism, but you can have one and not the other
... they're super tied together in activitypub right now but they seem distinct to me
... the fact that we have webmention right now that doesn't involve subscriptions seems important to me
cwebber2: assuming activitypub's implementation is the same, would it still simplify things separating out things you subscribed to vs not
... if you assume the functionality is the same, then you kind of implement them all in one go right?
... they both happen where one is someone posts something to you because you hit subscribe earlier, and the other because someone just wants to post to you
... would it simplify things to break this up or not
... assuming no technical change
rhiaro: the bit that's different is how the server decides why to send something
... for me it's a big enough thing that it's a barrier to implement it. implementing webmention seems small but implementing subscribe in activitypub seems big
eprodrom: i feel like activitypub now is disproportionate in terms of how much deals with S2S
... it's a little talk about the inbox about oh by the way this is how federation works
rhiaro: notification and delivery are kind of ambiguous in the spec and it's not super clear right now
<rhiaro> https://github.com/w3c-social/activitypub/issues/76 - another issue about notifcation/delivery
eprodrom: with OStatus, there were two different mechanisms for subscriptions vs replies. salmon for replies and PuSH for subscription, it seems like in the indieweb stack that's how it works now too
... PuSH is used to subscriptions, webmention for replies
tantek: there was an early attempt by sandeep for doing subscriptions with webmentions.
<cwebber2> rhiaro: could you ack whether this captures what you were saying? https://github.com/w3c-social/activitypub/issues/79#issuecomment-224114464
tantek: the rough idea is you'd send a comment to a post, but instead you'd send a follow to a home page
... and then what they would do is send a webmention every time they post something
... there was some mechanism that didn't involve PuSH but as far as i know nobody ever implemented it
cwebber2: so in AP what those subscription verbs are really for mutating the special collections of people
... that might not be clear right now, it's not clear at what point you start blasting things out to people
... so maybe if we broke those out we could say now you've added someone to this internal list
... that makes sense to me, i wanted to talk this through to make sense of it
... so there's still a question about whether this should be one specification that has clearly separated parts or whether this should be broken into multiple documents
rhiaro: maybe this is a question for sandro about process
tantek: it allows each to proceed independently towards the rec track
cwebber2: what might be a good workflow is to break them into sections in the same spec, and maybe as a second step split them into separate documents
rhiaro: my instinct would be to write them from the ground up. rather than untangling the existing wording, write two new specs
... ActivityPub and ActivitySub
sandro: trying to make sense of this for someone who doesn't know the lingo
... activity distribution and activity server control
cwebber2: it soudns like splitting into two specs is the general plan
... but it's up to me to decide whether to start by splitting the same doc into sections or start writing two new ones immediately
<sandro> Activity Pub + Activity Federation
tantek: i don't want you to have to do 2x the overhead of work
cwebber2: anybody have anything else they were hoping to discuss about activitypub?
<cwebber2> https://github.com/w3c-social/activitypub/issues/54
cwebber2: issue 54
... a couple of people would like it to be defined how we order it
... but, a server might end up implementing ordering differently based on how the database is structured
... if a server is sorting based on updated time vs when they incrementally add things to the database
... i think it should be fine as long as it's consistent
eprodrom: unfortunately it's not something explicit within activitystreams, we do have ordered collection but it doesn't specify how items are ordered
... if i were looking at a collection in activitypub i wouldn't know how it's ordered
... i'll be honest, for some of the collections like following/follower it might not be a big deal. but for inbox/outbox i would be surprised to do it any way other than reverse chronological by published
... i just contradicted myself. the world of feeds is not reverse chronological, e.g. facebook and twitter are moving towards ordering by relevance
tantek: we ran into a non-reverse-chron use case at IWC Düsseldorf, which i think we ran into in this group earlier, which is tombstones
... you bubble up a tombstone back up in a feed when you want readers to delete old posts
cwebber2: pump.io had a requirement that you could say i want everything since this post
... .but that functionality doesn't require a specific order, just since this thing
tantek: is that "since" created since or updated since?
cwebber2: imagine you have a client and you logged in yesterday and you have a local cache of the objects, and you log in again, and you want just the objects that have been added to the collection since this one
eprodrom: one of the things that happens with naive paging within collections is you say here are the first 20 elements, and the next request is show me the next 20. if any new items have come into the collection you would skip some
... the idea is you start with the bottom of what you have and show everything starting from there
tantek: i have another exception. facebook in the primary feed for a group, bubbles things to the top based on most recently commented on
cwebber2: it seems that there's a difference between ordered collections and unordered collections
tantek: there is an order, but it's just not about the post
cwebber2: the activitystreams vocab has the right terminology here
... the ordered collection says that it's always strictly ordered but doesn't say by what
... i'm going to be focusing the next many months on getting implementations of activitypub. i originally didn't think we were going to fill up this whole time.
... currently 21 open issues, most have resolutions just need to be done now
tantek: i'm going to encourage you to keep the momentum going with resolving issues
BREAK
<cwebber2> KEARB
<cwebber2> scribe: cwebber2
<aaronpk> https://github.com/aaronpk/Micropub/issues/24
Micropub
<eprodrom> https://en.wikipedia.org/wiki/Micropub
aaronpk: 24 is something someone has noticed which is that because the expectation was that all values would be arrays, but the spec didn't say that
... so the question is that whether it should be explicit that in the json format that all values MUST be arrays
sandro: or never
aaronpk: well if there's a single value, should it still be an array, that's the same way the microformats json works
sandro: I guess for when the values are only single
aaronpk: but the spec doesn't know
... so that would mean that the form encoding is a special case?
sandro: so this is a hack syntax?
aaronpk: this is the oldschool php hack that has since been adopted nearly everywhere
sandro: and how are the values...
aaronpk: there's only one value there, and you could do "and bracket bracket"
sandro: technically in formencoding you don't need the bracket bracket
aaronpk: technically not but implementations...
... so in json you just have arrays, so I think it's the simplest story
sandro: that's the general correspondence between formencoding and json
aaronpk: so we agree, add...
... explicit text that says values must be arrays in the JSON, that takes care of that one
<aaronpk> https://github.com/aaronpk/Micropub/issues/23
aaronpk: next issue is 23, I think the next simplest, came up when reviewing an implementation of a client
... this was for editing posts, the client loads up the values from a post, it assumed it would include the URLs from the posts
... in order to get that the client needed the URL already, but the way the client was written it assumed it already knew the URL
sandro: and so the server and clients may have different expectations
aaronpk: well for example the slug can be anything, so someone can load a url that could be a redirect
... if the server does get the wrong url of this post
sandro: basically a canonical url...
aaronpk: the question is when querying for the raw content of the post, should posts include the canonical URL?
https://github.com/w3c-social/activitypub/issues/83
cwebber2: did you file this bug because it's mostly the same?
aaronpk: it's different, this is if update *causes* url to change
tantek: if this is like a slug changing?
aaronpk: yes
cwebber2: the pump.io philosophy is that you have a separate id that doesn't change and a url (which might be the same thing) which might change
... though that may not be the same philosophy
aaronpk: yeah.
sandro: so occasionally I've written servers that don't know what the url is until (...?)
aaronpk: so if it's not required that the url is on the response, then it's on the responsibility of the client to remember what the url was
sandro: I think that's less likely to result in some weird error
Loqi, time for you to run the meeting
aaronpk: I'm totally fine with not making it a requirement
sandro: I have no idea because I haven't implementing it but my gut is to not make it a requirement
aaronpk: I think that's how my clients have worked so let's go with that
<aaronpk> https://github.com/aaronpk/Micropub/issues/22
aaronpk: a while ago I had it use the activitypub type syntax for updates, started working on a draft for that, but the problem I ran into is that there was no way for it to specify partial updates
... that may have just changed
... but it didn't have a way to just add one value to a property
... or remove a value from a property
cwebber2: and it probably won't have that part
aaronpk: correct
sandro: and why do you need to do that? it's not very big
aaronpk: well this is so you can avoid update order concerns with atomic updates
sandro: why not just replace the whole post
aaronpk: I don't ever want to require replacing the whole post, because I don't trust clients to replace with a full fidelity version
... so I don't want to trust that apps preserve the full content and post it back
... so a great example is a server adds screenshots to my bookmarks
... I assume someone wants to add screenshots to my bookmarks, I don't want them to preserve my publish date and all the tags I've added...
sandro: to me it seems reasonable, they can be malicious if they want to
tantek: why raise the responsibility if they don't need to
sandro: GET and PUT is simpler than PATCH
aaronpk: well I did do an example in a weekend because it was simpler
sandro: why not use HTTP PATCH to the rest of the page
tantek: in http verbs you're talking about *the* resource
aaronpk: the way this actually works, my app quill can add publish date and location of where I am, sets the timezone of the publish date properly, so now when I add a photo I can't imagine there's any reason to require that the app adding a photo also know about all the specifics about the rest of this post
sandro: in my mind, because this is years of argument in LDP
... you do POST to create it, and then you do a GET to post back the entire content
... and you only PUT it back if someone changes things
s/PUT/PATCH/ (???)
eprodrom: so if you provided a PATCH which had the full content, that would be equivalent to a PUT with full content
sandro: if it's a json overlay, putting what you put the full content doesn't delete the things you don't know about
eprodrom: yes you need a way to do property: NULL or something
aaronpk: so this isn't the original issue
... this came up because micropub does now support partial updates in its own way, via POST
... it's more RPC style
... but the original issue was to use the ActivityPub syntax for that, or to do what's already there which has been implemented by people not me
... but the question is about whether partial updates is important comes up later
eprodrom: if I can maybe specifically talk to the activitypub issue, that we thought there would be value in having overlap here, but if there's not value maybe close it saying "it could have been helpful, it turns out to not be helpful"
aaronpk: but I think that the original view could be that they have the same document
rhiaro: well in the recent discussion we talked about UPDATE updating only parts, except that adding/removing values to sets
aaronpk: I'm kind of on the same page with that but not 100% sold
... it does let me with the bookmark thing it can just add a photo
rhiaro: and what happens if you just add the photo
sandro: if you just use RDF instead of json it wouldn't have this problem
rhiaro: so it's not like there's mysterious stuff this client doesn't know about
tantek: I feel like there's a real world oauth type assumption here we're not taking into account
... which is that clients like on Flickr allow people to tag other peoples' stuff but not add/delete tags
sandro: in this particular case it doesn't actually conflict because it's up to the server
aaronpk: but it makes it more complicated on the server... tantek's on the right track in saying that if we add the ability to *just add* something
<rhiaro> scribe: rhiaro
cwebber2: whether or not activitypub should have the ability to add or remove things from a set on an individual level, eg. tags
... Currenly you write a comma separated list and the server breaks it up. So in the user interface it'sa ll at once update and remove
... Maybe it could be useful
... We don't do things that way right now
... But there is a question about whether or not this is tricky to do in json-ld
... Earlier, adding and removing something from a field, how would you model it?
... What woulld it look like in the AP syntax?
<cwebber2> {"addToField": {"prop": "tags", "val": ["gorilla", "pics"]}}
cwebber2: in json-ld the context won't expand out the property of the tags
eprodrom: does AP having it help micropub?
cwebber2: ... I think it's okay to move forward with these separately
... I understand the reasoning for both
aaronpk: Proposed resolution is to not adopt AP syntax for updates and deletes
... and to keep current micropub syntax
PROPOSED: Close issue #22 without changes. Use current micropub syntax and not adopt AS2 syntax
<eprodrom> +1
<aaronpk> +1
<tantek> +1
<sandro> +0 (very mixed)
<rhiaro> +0 what sandro said
<cwebber2> +1
tantek: I would encourage you to try to interoperate, even if it's informative and non-normative
cwebber2: I agree
... I want to test it before saying yes or not to anything
RESOLUTION: Close issue #22 without changes. Use current micropub syntax and not adopt AS2 syntax
tantek: I feel like we understand the subtleties and reservations to raise more specific issues in the future if this becomes a problem
<sandro> https://tools.ietf.org/html/rfc7396
<sandro> JSON Merge Patch
<cwebber2> sandro: JSON merge patch is the sane version of json patch
<aaronpk> https://github.com/aaronpk/Micropub/issues/25
<sandro> sandro: Maybe raise issue on activitypub and micropub about they should use PATCH + JSON-merge-patch
aaronpk: The way that the spec originally was written, if you were doing an update you could use either form-encoded or json
... See the example right now
... In both of these examples of the same update operation as form-encoded and json, the data structure if the request is the same, so you can convert between them
... However there's no actual functional benefit to form-encoded in this case
... Whereas there is a benefit to form encoded for creating, cos it's simpler. But for updates it's not simpler
... The proposal is for doing updates you must use json
... And updates are not supported in form-encoded
... It means that clients and servers don't have to handle both formats so in theory it should be easier to both because there's fewer cases to handle
... And there isn't a large benefit to using form-encoded for this anyway
... whereas if the spec allows the client to send either, the server has to support both, and will probably end up just mapping one to the other
eprodrom: There is an argument from a consistency point of view.. i've been using form-encoded for creation why should I switch to json for update? That said, if real implementors are not saying this it makes sense to me that if there are two ways to do something and everyone is doing it one way, it's not necessary to support both ways
aaronpk: I think it's also important to note that in a lot of cases a client might only create post and never intend on updating posts
... In which case it can still just create with form encoded
... So there is no burden to switch formats
... And if the client is planning o n updating posts it can use json all the way through
... So for me, cleans things up to only support json for updates on the server
... I'll go through the examples and remove all the form encoded versions
... Publishing clients is a different class of client than editing clients
... Publishing clients MUST support sending form-encoded requests and they may only publish, and never edit a posts. Whereas editing clients are going to support the full list of operations on posts, so they can just use json all the way through
... I feel like it separates those conformance classes better
eprodrom: Proposal?
tantek: any objections to as discussed?
cwebber2: none here
eprodrom: my full support
aaronpk: resolution is that editing clients don't need to support form-encoded, only json
... My current thinking with the media endpoint is that based on what I've seen with... github issues - if you drag a photo into an issue it uploads it right away and puts a url into the markdown. In these cases it seems like the url to the image is permanent, it is meant to be the actual location of the photo
... Twitter returns an id not a url
... The reason the spec should specify it is if we want to be able to have someone create a media endpoint service that clients and servers can expect to work a certain way
... You can implement your own in your micropub endpoint,t hen it becomes an implementation detail. But if we want to support stand-alone media endpoints then clients and servers need to know how it will work
sandro: isn't it only servers that need to?
aaronpk: I guess it is only the server that needs to know whether it should copy the photo or not
sandro: sounds like a possibility for future standardisation
aaronpk: So should the spec mention it? Or not?
cwebber2: if you post something and that cycle never finishes in mediagoblin, it gets garbage collected eventually
... But if you don't end up implementing it it doesn't affect the standard
sandro: clients must do media endpoint discovery? they can't just post it to the micropub endpoint? THe discovery thing concerns me. Seems like a whole complication
aaronpk: its' a different issue. I like that for clients that only want to create posts they can just post a photo to the micropub endpoint. That's still in there in the form-encoded creating
... One of the reasons for using a media endpoint at all was for user experience when you're putting multiple photos in a blog post. Also if you want to create a post with the json syntax you have to do two different posts
sandro: why not to the same endpoint?
aaronpk: the url returned is not expected to be the actual jpeg url, it's supposed to be the url of the post
... The thing being created is not the jpeg, it's the post with all the data
sandro: you could have that be a header on the post
... If you're posting certain media types you could get certain behaviour
aaronpk: I think it moves the complication to a different part of the process
... The way it's written right now, the complication is discovering the media endpoint
... Otherwise it's does the endpoint expect what kind of data
... Chris, you said media goblin does do the periodic cleanup of media never used in a post?
cwebber2: I remember tsyesika and I talking about it at some point
aaronpk: how does it know if a file is used in a post?
cwebber2: Media is specifically associated with a post in mediagoblin's case. You upload it and it ends up going through a step where it gets transformed by the processing to generate multiple resolutions of the file etc, and also associates that...
... we can talk about it tomorrow
tantek: also facebook. and instagram
... It's a pattern that we are seeing driven by better UX
sandro: in that case we want not just multipart form for upload, but you want to use javascript to send in a recoverable way
aaronpk: partial uploads are a different story
sandro: in that case you want a different protocol. ideally rsync over websockets to the server..
aaronpk: I think it's useful without going that deep into it
... Even when the upload either succeeds or fails it still provides a better experience cos when it does succeed it's great. doesn't have to support partial upload to provide a better experience
... The is this pattern that we're seeing implemented by lots of services, so it's useful to capture that in the spec and encourage implementors to also follow that pattern
... It's in the ED
tantek: you could consider adding an UX flow to support the why
aaronpk: ok
tantek: done with outstanding issues. this morning sandro asked what's left to go to CR
... We could have that discussion tomorrow morning
... Ajourned!