#social 2015-10-21

2015-10-21 UTC
#
cwebber2
jasnell: pong
#
cwebber2
I'm here
#
jasnell
I'm going through an making some simplifying proposals
#
jasnell
would appreciate your input as an implementer
#
jasnell
1) remove the natural language value bit. no language maps
#
cwebber2
jasnell: I'm ok with it
#
jasnell
so titleMap, displayNameMap, contentMap and summaryMap would go away. The entire Section 3.2 of the current working draft would be gone
#
cwebber2
jasnell: people can go the json-ld route if they want to go all out on that
#
jasnell
2) limit duration to iso8601 format only. right now it can be either a string or an integer
#
cwebber2
and it doesn't neeed to even be mentioned
#
jasnell
the integer is for backwards compatibility with 1.0 but I'm not convinced we still need to worry about it
#
cwebber2
looking up that one
#
jasnell
iso8601 durations look like "PT1H" for 1 hour
#
jasnell
"P2DT1H2S" for 2 days, 1 hour, and 2 seconds
#
jasnell
that kind of thing
#
cwebber2
jasnell: it's kind of a weird syntax to me, but I'm ok with it if it makes things easier. I would think maye seconds is easier than that format to parse
#
cwebber2
but if it simplifies things and reduces friction, I'm fine with that
#
jasnell
it's a standardized syntax
#
cwebber2
it won't be that hard to parse
#
jasnell
part of the same standard that defines the date format
#
cwebber2
jasnell: sure... I'm just unfamiliar I suppose
#
jasnell
check out the moment module in npm
#
jasnell
(for an example implementation)
#
jasnell
3) Drop the Question activity/object
#
jasnell
it can be handled via an extension later if someone chooses
#
cwebber2
I'd still prefer seconds by a bit but I can accept that
#
jasnell
I'll be making a few other proposals as well, just simplifying in general with specific proposals
#
cwebber2
simplifying ito one is good
#
cwebber2
jasnell: I kind of like the question one, ostatus actually made use of it
#
cwebber2
statusnet
#
jasnell
oh really? interesting... have a link?
#
cwebber2
and people have those things on facebook iirc (I haven't used facebook in years)
#
cwebber2
hahahahaa
#
cwebber2
failboat
#
cwebber2
that's some extension website :)
#
cwebber2
as for statusnet, I'll see if gnu social has docs
#
cwebber2
statusnet is gnu social now
#
cwebber2
I don't use statusnet / gnu social right now, but I remember them being around
#
cwebber2
jasnell: it would be okay to be dropped, but it's kind of nice to have
#
cwebber2
jasnell: I don't have active plans to implement in mediagoblin so I guess it's okay
#
cwebber2
I do really want the event / calendar stuff though
#
jasnell
ok, good to know
#
cwebber2
that's something people use facebook very actively for
#
cwebber2
and it's frustrating being locked out of "events" because I'm not on facebook
#
jasnell
is there anything else in the vocab you think would be safe to drop?
#
cwebber2
jasnell: let me see
#
cwebber2
this is one reason I was advocating for the license change
#
cwebber2
self-documenting vocabulary objects
#
cwebber2
jasnell: maybe Arrive, or could you give me an example of usage?
#
cwebber2
weird to have Arrive without Depart
#
jasnell
we have Leave
#
cwebber2
could be useful for chat programs I suppose
#
jasnell
useful for geofencing also
#
cwebber2
I really like most of the remaining vocabulary...
#
cwebber2
maybe service and program can be joined?
#
cwebber2
process
#
jasnell
potentially yes
#
cwebber2
but I like the current vocabulary
#
cwebber2
I think it's been pretty well paired down
#
cwebber2
jasnell: note, that's no commentary on attributes
#
cwebber2
there may be attributes that can be paired down
#
jasnell
yeah. I'm thinking "priority" can definitely be dropped
#
cwebber2
jasnell: I'm hacking pretty actively on activipy btw
#
cwebber2
I made a lot of good progress today
#
cwebber2
by next week
#
cwebber2
I think I can have promising docs up
#
jasnell
I don't like having to define all the properties for Place but geojson REALLY doesn't work with JSON-LD at all
#
jasnell
great to hear
#
cwebber2
jasnell: I have a nice multiple dispatch system that feels mostly pythonic, can be extended per application ("save" or "validate" is a different thing from site to site, but you might want to do certain things depending on the object type)
#
cwebber2
*and* it works with multiple values under @type
#
cwebber2
while still having a nice "sugar" interface for constructors
#
cwebber2
sugar interface
#
jasnell
I stop short of defining any behaviors in the node impl
#
jasnell
just parsing and producing, behaviors are up to the app
#
cwebber2
jasnell: yeah, I provide a mechanism for providing the behaviors
#
cwebber2
but not what they are
#
cwebber2
but a clean way to do dispatch on them
#
cwebber2
so people can do something that feels "oop"ish, which I think might be important for python adoption
#
cwebber2
jasnell: https://github.com/w3c-social/activipy/blob/master/activipy/tests/test_core.py#L72 btw might be useful to get your ack on if this ineheritance test looks like it's doing the right thing
#
cwebber2
I borrowed the method of doing multiple inheritance from ANSI Common Lisp
#
cwebber2
the book not the spec
#
cwebber2
https://github.com/w3c-social/activipy/blob/master/activipy/core.py#L89 not the most efficient implementation, but it only runs once on type definition... it does a deep traversal of all parents, puts it in a list, then de-dupes... but the *last* instance of a class type is the one that's kept
#
cwebber2
rather than the first
#
cwebber2
which means that a child will always come before the parent
#
jasnell
the inheritance looks correct
#
cwebber2
jasnell: I'm excited to show you how this library works
#
jasnell
can't wait to see it
#
cwebber2
looking forward to next week, basically :)
#
jasnell
can't wait to do interop testing on it :-)
#
cwebber2
my goal is to produce a library that lets people use AS2 stuff, but for people totally new to it
#
cwebber2
*using* it kind of teaches people as they go
#
cwebber2
which I think my favorite libraries have done that
#
jasnell
ok, I'm off to eat dinner
#
cwebber2
thanks jasnell !
jasnell and ShaneHudson joined the channel
#
JonathanC
hi
#
JonathanC
Still looking for one more W3C member to join us on DataSheets - https://www.w3.org/community/groups/proposed/
#
elf-pavlik
ben_thatmustbeme, kevinmarks does Microformat JSON defines a media type (eg. 'application/mf+json') or profile ? If I would like to support it on server I implement I would need a way for clients to explicitly request it
#
elf-pavlik
I can at least tell difference between 'application/activity+json' and 'application/ld+json'
#
elf-pavlik
and gracefully degrade to support requests for 'application/activity+json'
#
elf-pavlik
I would also include in response link relation *alternate* to ease discovery of other media types which I can use to describe requested resource
#
elf-pavlik
s/can use/offer/
#
elf-pavlik
I also stay open to support Microformats HTML by doing 303 redirect to dedicated rendering proxy which will get JSON-LD data from API and inject it into HTML template
#
elf-pavlik
this way I don't need to add any microformats html specific stuff to server responsible for data
#
elf-pavlik
I can use regex /microformats.org/ on profile string for 'text/html' requests
#
elf-pavlik
IMO this will follow loose coupling we discussed yesterday on example of HTML, CSS, SVG
#
ben_thatmustbeme
elf-pavlik: no it doesn't as you never request mf-json from the server, you grab the html and parse
#
ben_thatmustbeme
though aaronpk and I are looking at alternatives to that
#
ben_thatmustbeme
it would likely require a link relation as that would support even static sites (link points to an external service which can do the translation for you)
#
elf-pavlik
how does 'application/mf+json' sound to you?
#
elf-pavlik
< link rel="alternative" type"application/mf+json" href="https://api.bob.example" >
#
elf-pavlik
s/alternative/alternate/
#
ben_thatmustbeme
i guess thats fine, i mean, honestly the application type doesn't matter to me so long as its standard
#
elf-pavlik
and one can distinguish it from others + know that it uses structure described on microformats.org
#
elf-pavlik
which some people may consider the most obvious center of he web but not everyone ;)
#
elf-pavlik
< link rel="alternate" type="application/mf+json" href="http://pin13.net/mf2/?url=https://ben.thatmustbe.me/" >
#
elf-pavlik
if someone makes mf html -> application/as+json converter you could also add onother link to it
#
elf-pavlik
this way client who knows media type but doesn't know how to convert between representations can discover the one it looks for
#
elf-pavlik
< link rel="alternate" type="application/activity+json" href="http://activitystrea.ms/mf2/?url=https://ben.thatmustbe.me/" >
#
elf-pavlik
just to show that 'just' application/json will not do since we have a lot of json based standards
#
elf-pavlik
i could write something that would support
#
elf-pavlik
< link rel="alternate" type="application/ld+json" href="http://mf2.json-ld.org/?url=https://ben.thatmustbe.me/" >
#
ben_thatmustbeme
elf-pavlik: i think it would be better with something that is easy to go for as -> json and mf-json -> json
#
ben_thatmustbeme
so we would only need a single rel for everyone
#
elf-pavlik
json what?
#
elf-pavlik
application/activity+json
#
elf-pavlik
i understand with application/json with additional implicit knowledge
#
elf-pavlik
similar application/ld+json
#
elf-pavlik
and whatever microformats.org normated usage of json might want to use
#
elf-pavlik
unless i find *all* i need to understand microfomats json on http://json.org/
#
elf-pavlik
acutally application/ld+json specifies 3 profiles which can give you *the same data* just in slightly different forms
#
elf-pavlik
i can rename "properties" to attributes and remove arrays wrapping single elemens - and we still have valid plain JSON
#
elf-pavlik
but not compliant Microformats JSON
#
elf-pavlik
I can also parse Microformats HTML and re-serialize it to valid JSON, but application/ld+json http://www.w3.org/TR/json-ld/#microformats
#
elf-pavlik
based on all above, if we want to consider requesting and responding with Microformats JSON, it needs either media type like application/mf+json or at least profile, but I don't know if html link supports it for rel="alternate"
#
elf-pavlik
it meaning profile
Loqi joined the channel
#
elf-pavlik
" i can rename "properties" to attributes and remove arrays wrapping single elemens - and we still have valid plain JSON, but not compliant Microformats JSON"
jasnell joined the channel
#
ben_thatmustbeme
elf-pavlik: how about actually creating the format before wasting time arguing what to label it
#
elf-pavlik
ben_thatmustbeme, I hought Microformats has stable JSON format
#
cwebber2
elf-pavlik: it's in the works
#
cwebber2
elf-pavlik: aaronpk is working on it.
#
ben_thatmustbeme
microformats has a stable json format
#
ben_thatmustbeme
i'm told others don't like it
#
ben_thatmustbeme
we are working on simpler version
#
aaronpk
there is a stable and well-defined html->json format for microformats. that's what you see when we pass around the pin13 URLs
#
aaronpk
when I'm interacting with microformats, I am using the result of the parser which is that JSON data structure. I never actually touch HTML myself.
#
elf-pavlik
RDF has stable JSON format (application/ld+json) AS2.0 aims at stable JSON format (application/activity+json) and Microformats has stable JSON format (application/???+json)
#
aaronpk
however I have found that it often takes some amount of processing and error checking to actually use the mf2 JSON
#
ben_thatmustbeme
Microformats has stable JSON format (application/???+json) hasn't had a label thus far because no one passes it around directly yet, everyone polls from HTML and parses directly to native language
#
aaronpk
so ben and I are working on a simplified JSON format that makes it easier to consume the microformats data
#
elf-pavlik
do you plan requesting it directly over HTTP and responding with it?
#
elf-pavlik
aaronpk, have you seen in a log few examles of rel="alternate" links i wrote?
#
ben_thatmustbeme
we are planning do do a seperate rel like you said with < link rel="alternate" type="application/somethingelse+json" href="http://pin13.net/mf2/?url=https://ben.thatmustbe.me/" > but with a different content version
#
ben_thatmustbeme
so with this new simplified format
#
elf-pavlik
why not rel="alternate" if it will describe the same entity just using different media type
#
elf-pavlik
this would provide same way to discover application/ld+json , application/activity+json and whatever people want to use to describe their data
#
elf-pavlik
does any other link relation implies that resource denoted in href="" will have a particular media type?
#
elf-pavlik
will need to leave in 15min
#
elf-pavlik
looks like HTML5 may imply text/css for rel="stylesheet"
#
elf-pavlik
"The default type for resources given by the stylesheet keyword is text/css"
#
elf-pavlik
but that looks like exceptional use of link relations :D
#
elf-pavlik
ping sandro ^
#
ben_thatmustbeme
thats what i said, rel=alternate.... it line wrapped
#
elf-pavlik
'separate rel' i understood as registering different type of link relation rather than using rel="alternate"
jasnell joined the channel
#
elf-pavlik
SGTM! < link rel="alternate" type="application/somethingelse+json" href="http://pin13.net/mf2/?url=https://ben.thatmustbe.me/" >
nicolagreco joined the channel
#
elf-pavlik
thanks ben_thatmustbeme for this update! i got to run now
tantek, peacekeeper1 and nicolagreco joined the channel
#
Loqi
@twitter :: Coming soon! We're rolling out the ability for everyone to create polls on Twitter: https://blog.twitter.com/2015/introducing-twitter-polls https://twitter.com/twitter/status/656832713781936128/video/1
#
cwebber2
what timing
nicolagreco_, peacekeeper, tilgovi, nicolagreco, bblfish, raucao, tilgovi_ and jasnell joined the channel