From W3C Wiki

Social Web Working Group Teleconference

18 Nov 2014

See also: IRC log

Agenda: Agenda


jasnell, elf-pavlik, AdamB, cwebber2, oshepherd, Ann, aaronpk, Tantek, wilkie, Wendy, rhiaro, Sandro, evanp, hhalpin, dret, Jessica_Lily


<jasnell> hey elf.. I'm on, but I'm muted

<elf-pavlik> ok :)

that last one's me

<oshepherd> Zakim: ??P9 is me

<tantek> trackbot, start meeting

<trackbot> Date: 18 November 2014

I could scribe


<elf-pavlik> scribenick: cwebber2

<tantek> scribe: cwebber2

I kinda like scribing

oops, shouldn't have said that ;)

<Loqi> :D

<evanp> Thanks wseltzer

tantek: so we have a scribe, first thing to do is to approve the minutes of last call


any objections?

any corrections?

Approval of Minutes of 11 November 2014 Teleconf

<elf-pavlik> cwebber2++

<Loqi> cwebber2 has 5 karma

<evanp> Thanks Chris

<hhalpin> PROPOSAL: approved minutes of last telecon:

tantek: hearing no objections on irc, I'm declaring the minutes approved, move on

<evanp> +1

<elf-pavlik> +1

<hhalpin> RESOLVED: approved minutes of last telecon:

if anyone finds problems/typos, edit after the fact, it's a wiki

next week's teleconference is on as far as we know, we know it's thanksgiving in the US

so if you have regrets(?) if you can't show up to the wiki, that would be appreciated

add to the regrets section

<tantek> - please add yourself to regrets if you can't make it

next go through tracking of actions & issues

we have 8 open issues

<hhalpin> At TPAC, we were moving to nouns

issue 3: open issue, don't see anything new on this, can we drop or continue asynchronously?

<jasnell> continuing work on this piece

<evanp> async

<wilkie> cwebber2: make a new TOPIC section, you'll thank yourself later

<jasnell> async

cwebber2: wilkie: ok :)

<evanp> I don't think any of these issues have additional developments this week

discussing open issues


issue 4, do we rely on property name or duck typing

cwebber2: who's speaking?

sandro: going through the tracker seems unusual

tantek: if nobody has objections, unless we have issues that require synchronous discussion, we'll just continue and address it asynchornously

<elf-pavlik> open actions:

Coordination with IG



<sandro> action-4?

<trackbot> action-4 -- Arnaud Le Hors to Add "what is the role of social wg, ig and cg?" as an faq to -- due 2014-09-23 -- OPEN


harry: I emailed brad fitzpatrick

don't know him well

tantek: this is just pubsubhubbub, right?

<Jessica_Lily> Zakim: +??P20 is me

<elf-pavlik> i can ask on list

could you add to the actions clarifying pubsubhubbub?

harry: yes

<Jessica_Lily> hm did I do that right?

evanpro: I think clint (?) was managing PuSH stuff at Google

<evanp> dewitt dewitt clintonon

<Jessica_Lily> ah thanks!

evanp: dewitt clinton

<Jessica_Lily> Zakim: ??P20 is me

tantek: can you coordinate and update action?

evanp: yes

<Jessica_Lily> leave the ?'s off too? :P

<wilkie> Jessica_Lily: comma, not colon

<Jessica_Lily> super! thanks wilkie

<wseltzer> action-6?

<trackbot> action-6 -- Harry Halpin to Cycle with wendy and google on push licensing -- due 2014-11-04 -- OPEN


<wilkie> np! :)

<tantek> evan and harry to coordinate on

cwebber2: I'm not sure what the topic is on this one


<tantek> see

I see.

<hhalpin> notes Action 5 and Action 6 are basically the same

tantek: let's just coordinate this week, if action 5 and 6 are the same, collapse it

<wseltzer> trackbot, close action-6

<trackbot> Closed action-6.

harry: I think they're the same

<hhalpin> So I'm closing Issue 5 since the answer is "no"

tantek: will leave that to you harry, so evan can handle dewitt


<hhalpin> and I'll keep Issue 6 open.

<jasnell> yes. one sec

<hhalpin> And cc wendy on email to BradFitz and Evan, who can then forward that to Clinton DeWitt

tantek: our official liason Kevin Marks (?) is on the call

<Jessica_Lily> hm is mine not muted?

<Jessica_Lily> oh thanks

<Jessica_Lily> I muted myself in ekiga

james: there's been no further progress, the annotation working group is working on getting the next model out

looking at vocabulary looking at defining vocabulary or equivalencies

the ball is in their court

they are aware

<Jessica_Lily> elf-pavlik: okay cool thanks

tantek: my question is are there any other groups working on annotations overlap

if any future groups are working on it, please coordinate

eg with HTML

that's my suspicion, thinking architecturally

high level working groups at W3C are working on concept of "share"

james: yep

<elf-pavlik> also Need candidates for federation protocol


james: it's in progress, evan's posted thoughts on this

I've posted thoughts yesterday to evolve this schema

see how they fit best

it's def a work in progress, not quite there yet

tantek: does this relate to the work you and I did on adapting (??) to activitystreams 2.0 docs?



james: yes, I'm working on modeling the mapping in the json-ld and the AS examples

will see by the end of the week

tantek: can you get it into the existing draft?

james: Yes, hoping to get an appendix discussing HTML rendering

don't want to confuse it with too many serializations

as for inline examples, you can click to view with json-ld

becoming fairly common in a number of diff drafts

<rhiaro> +1 tabs for inline examples

tantek: great, would love to see the demo incorporated into the editor's draft as you see fit, at least have a HTML rendering

as we get more and more adoption

our job is to document interop

that concludes the actions

Social API

tantek: there's multiple iterations, the social API candidates and patterns

evanp: yeah, I'm on the queue from before re: AS, but the main thing is I edited this

<tantek> five step procedure:

elf put himself on the queue, so I want to jump in here to say there's a 5-step procedure to identify patterns to use/inform our social API understanding

second to do analysis of existing APIs

third to generate requirements of things we can do

or at least must haves/like to have/don't need

and then start looking at / evaluating candidates

took some time this week to start breaking down existing patterns / APIs we have on our patterns list


if we have 3-5 minutes, would love to go over twitter api and break things down

which could help us break down other APIs

tantek: let's put that at the end of the agenda, is that ok?

evanp: sounds great

my main point is that we're nowhere near evaluating candidates

we still have much to do before we get there

<Shane> That list is missing webmention, is that intentional?

tantek: that's at step 2 and 3?

evanp: yes

tantek: okay, that's good to know where we are

<Zakim> elf-pavlik, you wanted to discuss Gathering feedback on various Socialwg/Social API candidates


elf-pavlik: I just created sections for each candidate on the wiki

<evanp> Shane: I think Webmention is a server-to-server protocol rather than a client-to-server API

we want to look at other APIs, but many of us look at it anyhow that we should take notes

for example, with micropub, it has (???) nest resources

so once I noticed that I started collecting feedback

we don't have to rush, but I'm trying to create space and encouraging people to take notes

<Shane> evanp: Ah yes, I see. Been following along on IRC (due to circumstances re audio) so didn't quite realise we're talking just client-to-server now :)

<evanp> NP

tantek: that's right, I think we're not at the point we can eval candidates w/ respect to each other, but I think i'll echo elf-pavlik that we should all look and add nodes if we find issues and what implications of the social api are

<evanp> It's not 100% clear that maintaining a distinction between those two is necessary

that way we can async gather feedback on candidates

does anyone object?

<elf-pavlik> roger!

evanp: no objection, I think we should understand where we are in the process

tantek: agreed, grat


nobody else is on the speaker queue, anyone else have anything to add re: social API?

go over twitter api in particular


cwebber2: elf-pavlik: yeah trying to, sorry

it's new to me

evanp: here's link to the twitter api, how it does, how it works, identifying functional parts of that API, what you can do, how they work

the twitter API is a relatively big API

has single method with oauth api A?

which is specifically for twitter model: monolithic model for following, posting a "tweet" short message, which hits timeline of all followers.

standard pattern for social entworks

in twitter API, uses custom json encoding

a few important entities: user represents account holder. Tweets have content of message, but also creation date, author info, geolocation data, etc

<Shane> Should we take the old Twitter API into consideration as well? The new (OAuth) one has caused limitations for some developers, which we of course need to avoid

separate data type for direct (1:1) messages between users

I broke down the entities

<tantek> this is great analysis evanp:

in particular, a collection entity for catching multiple messages

<tantek> Shane, can you q+ to ask your question?

bunched up endpoints into a few functional groups

<AdamB> very nice work evanp

most important for twitter is CRUD (create read update delete)

you can get in various formats: either in native format or OEmbed

<Shane> tantek: I can but have no audio so will have to just ask on irc

every user has an "outbox", a stream of tweets they created which is readable

as well as a stream of tweets by people they follow, their "inbox"

there's also a stream of tweets sent directly to that user

<oshepherd> Shane: I'm not sure how OAuth has caused limitations for anyone

<aaronpk> the crypto part of OAuth 1 was a hurdle for many developers, both on the provider side and consumer side

if you haven't looked at this API, it's confusing, there's a direct message, but ther's also "mentions", which are when people brought you into the conversation but it's a public conversation

there's stuff for handling inbox/outbox as well as CRUD for messages

it's a one-way follow mechanism

<aaronpk> this is well documented, and was much of the motivation for designing OAuth 2 to not include the crypto requirement

you can create and update that ofllow mechanism

typically does not require approval, though possible for it to do so

cluster of API endpoints for managing your accounts

eg, change profile info, name, location, etc

twitter users have homepage and can manage their homepage design

there's a cluster of API endpoints for blocking users, muting, etc

blocking prevents another person from contacting you at all

mute just makes them not show up

similar, but different in implementation

there's a cluster of content search apis

there's a user search api cluster

<tantek> who just joined?

as well as a cluster of apis for suggestions of who to follow

ther'es a cluster for favorites

there's a contact list cluster, which is a complex mechanism in the api

can create lists of users, can share with others

can follow your lists

eg you can make "heads of state in the EU"

it's a way to curate streams

within twitter

because twitter uses its own geographical vocab, there's a cluster of API endpoints for managing those places

as well as cluster of API endpoints for trends

a measure of popularity

cluster of enpoints for managing users??

mechanism to report spam

so, this is a remarkably broad api

but the objects for person/tweets, has a lot of properties

there's a lot that's not here, especially because there's no way to track activities

they don't have something like the activitystream model

tantek: thanks, that's a great overview evanp


I went ahead and added some stuff to the features side to the bottom of the page with the features list

<evanp> Fantastic

in case you want to compare what the API allows

as you can tell, there are gaps in their API

<Shane> Yes, thank you evanp (and cwebber2), very useful

you see some kind of activitystream in their UI, but

those arn't all visible in the api as far as I can tell

let me go to the queue

<tantek> go ahead Shane

I think I remember Shane saying he's only on IRC

<Shane> My question was "Should we take the old Twitter API into consideration as well? The new (OAuth) one has caused limitations for some developers, which we of course need to avoid"

<Shane> But I think the issues were OAuth and rate limiting, rather than actual API issues

tantek: I think that's a reasonable question

instead of just what the api could do, maybe what the api has dropped

evanp: I can respond to that

I think that the big differences between previous versions and current versions surrounded representations

previously XML, ATOM, etc

those have been slimmed down

yes, there was HTTP Basic, methods for mechanisms to go around the OAuth system

but OAuth is mandatory as of a few years ago

maybe what we can do is note that on the analysis

tantek: that would be great

it's useful also to see experiences of other parties

<Zakim> elf-pavlik, you wanted to discuss Some accounts can be posted to by multiple authenticated users.

elf-pavlik: I wanted to ask about accounts posted by multiple users(?)

I know many people were criticizing ostatus/diaspora/etc for having no group functionality

how do groups work?

evanp: I can respond to this

this is not a group mechanism like an interest group

it's a way to do brand management on twitter

<elf-pavlik> ok, thanks!

if you are GM or Orange brand managers, they can all post as if they're BP, Orange, GM

so mainly a brand management system

<oshepherd> (This is one area where my suggested Agent/Person deliniation comes in)

tantek: I believe that feature exists but is not public?

evanp: yes, I believe it exists but is not public

tantek: okay, so this is something you can take on to document

evanp: will do

harry: I wonder about relationship to twitter cards


this is a fancy way of saying rich media in our twitter feed

cwebber2: (for notes: hhalpin is hhalpin, my bad)


<tantek> see analysis on cards here as well:

<hhalpin> anything genuinely new here?

hhalpin: I wonder if anyone is aiming to rebrand rich media stuff as cards

<Shane> I really like the way cards work

<AnnBassetti> that was an interesting article .. glad you brought it up

tantek: I think that's related to what they consume as links

as opposed to what you consume as endpoints

what do you think evanp? should we document scope of what twitter calls out to, as well as what you can call twitter with?

<AnnBassetti> is that card concept only in Twitter?

evanp: yes, I think that's interesting, I'm not familliar with twitter cards

<Shane> From that article "Whoever defines the standard, the W3C is where it should live, just like HTML, logically belongs."

I seem to remember there's some oembed usage here

<tantek> see some analysis on Twitter Cards here:

for people who aren't familiar, with certain links posted to a tweet, if it's to a well known domain like, twitter will display some rich content inline

<elf-pavlik> i think they use OEmbed

so you don't have to click through to youtube, it will show an embedded video


I think they use oembed, but I'm not sure

so worth taking a look at

tantek: proposed action is to make a subsection on twitter api analysis

here's what twitter 3ecalls out to


here's a link to indiewebcamp of what twitter cards do


oembed is one mechanism to the more general UI of link preview

we can document this

card sharing seems one example to us

hhalpin: just trying to figure out if it's a rebranding of rich media

<hhalpin> anyone know Nova Spivack?

tantek: feel free to invite people working on cards, I think that's in scope

<hhalpin> he should be pinged over this WG

<AnnBassetti> good idea

evanp: I think the reason I put myself on the queue that this analysis is obv on the wiki, anyone can manage or edit it

I just ask that since the intent of the document is to understand clusters of functionality

we maintain those clusters

don't edit out the clusters

the other thing is we have 6 proprietary apis and 7 open apis

so that's 10-12 apis that could stand this level of analysis

I'd like members to stepward and do this

it took a few hours to do for twitter

could people please help do analysis on others?

tantek: yes, esp if you like one of those patterns

please help document it

that will help us with comparison/analysis stages

thx evanp

<jasnell> It's also likely worth looking at the use cases documented here:

<Shane> Flickr should probably go on the list, should I add it?

<evanp> Shane: sure

AnnBassetti: hi, back on the twitter api bit that had to do with brand management

I didn't quite understand it other than brand management, but tantek, if we set up a twitter account for the w3c advisory board

<sandro> evanp, is your list of 10-12 APIs written down somewhere?

those of us who were on it could post to that

is that similar?


tantek: similar, I just shared the password with all management members

that's a low-tech version

what twitter's groups/brand feature is doing differently, it enables a brand/group of accounts, say ACME corp

to somehow be upgraded to be a group

so other people can tweet on behalf of it

<hhalpin> BTW, who runs the Social Web WG?

<hhalpin> Maybe we should run it this way :)

so what happens in the UI is you'll see a tweet from the brand

and it'll say "tweeted by:" @username

<hhalpin> Right now the owner of the Social Web WG Twitter account is a mystery


so users can pick from a special menu

so they can tweet as a brand

<hhalpin> Anyone know who that is?

no need to log in as a separate user

you can switch back

cwebber2: btw, I think that's a cool feature, though I wonder how much the API we're designing needs that, seems like an application by application thing

other than documenting "sent by"

<elf-pavlik> evanp++

<Loqi> evanp has 1 karma

<AnnBassetti> +1

sandro: thanks for organizing this, very helpful

<AdamB> +1

I'm very curious what other peoples' experience replicating CRUD a bunch of times rather than having CRUD on a bunch of different types

cwebber2: sandro: I agree

<oshepherd> cwebber2: With the concept of "Actors" in the AS2 spec, then it would be a pretty trivial thing

<oshepherd> sandro: Twitter's API wasn't designed, it evolved

sandro: seems you should be able to have a few apis and then use that to do different types

why is that? is it historical reasons, or do programmers like to do it

evanp: tantek may be able to speak better than I can, and if we could get Blaine Cook (?) to speak on it but the origin of the API is nearly accidental

was originally implemented in Ruby on Rails, and if you don't turn it off

these representations are available for different APIs by default

so the original API was kind of leaked because 3rd party APIs started to discover and use

obv that implementation is still in place, twitter api has been through several clean-room rewrites, but that's the origin of that style

<evanp> cwebber2: Blaine Cook

tantek: that's pretty accurate

cwebber2: evanp: aaronpk: got it

tantek: simplest thing that could work rather than formally design it

but it's mostly historical

not really designed at all

eg, using ruby dates format instead of ISO format

I don't recommend copying any aspects of this API per se

because I think it's accidental ~architecture (but really architected)

but I think the analysis evanp has done is right

if we figure out "here's what the API is trying to do"

if we can find what took Twitter 101+ endpoints in a few, that would be great

twitter got started as a startup, ship early, 3rd party applications big part of that history

elf-pavlik: I just want to emphasize that we see three entities, and like 100 endpoints

twitter has many more entities, what do their endpoints look like?

consider machine readable APIs, etc

tantek: elf-pavlik, could you look at facebook APIs?

<evanp> elf-pavlik++

elf-pavlik: will try

<Loqi> elf-pavlik has 1 karma

<wilkie> elf-pavlik++

<Loqi> elf-pavlik has 2 karma

tantek: ok, have 5 minutes left

any questions about social API or stuff?

last minute questions

cwebber2: who is this?

<elf-pavlik> +1 work out in the open!


hhalpin: I think we should work out in the open

tantek: yes, if you start analyzing an api

start with social api pages

start editing incrementaly

that way anyone who looks at it can see

you can collaborate rather than work for a week and find out

any incremental work is appreciated

keep wiki up to date, we can all collaborate together

email/irc also helpful

any other new business?

new business?

tantek: hearing no other new business, I'll adjourn it

you all get 3 free minutes

enjoy them

<evanp> I will spend my 3 minutes well

<elf-pavlik> thanks all!

<wilkie> thanks!

see you next week

<evanp> Thanks tantek

<dret> thanks everybody!

<wilkie> cwebber2++

<Loqi> cwebber2 has 6 karma

<tantek> thank you cwebber2 for scribing!

np: )

<rhiaro> Oh I forgot, any word on scheduling the next f2f?

now I gotta remember the conversion process. It's in my notes.

rhiaro: ah right

should we discuss that on the ML?

<rhiaro> There was a doodle

<tantek> rhiaro - oops good point. add it to next week's agenda?

<rhiaro> I think most people filled it in

<rhiaro> Okay tantek

<tantek> thank you rhiaro

rssagent, make minutes

<elf-pavlik> link to next f2f pool:

<tantek> reminder: please fill out the doodle to for the next f2f:

<tantek> trackbot, end meeting

Summary of Action Items

  • elf-pavlik should expand on Facebook APIs
  • Make a subsection on Twitter API analysis regarding cards / OEmbed
  • Harry is supposed to ask about PubSubHubbub