#social 2015-11-04

2015-11-04 UTC
Shane_ and gm_kou_ joined the channel
#
kevinmarks
james, I think you're missing the point of jf2 a bit
#
kevinmarks
the idea was to start from the mf2 parsed json output and simplify into something thta looks more liek the kind of JSON coders expect
#
kevinmarks
if that's converging with AS2, that's very encouraging
#
aaronpk
i just replied on the list
#
aaronpk
my favorite line in my reply is "If you are seeing similarities between jf2 and AS2 that is great, because that is *literally the goal of converging*."
bblfish and gm_kou joined the channel
#
jasnell
kevinmarks: i'm going off what I've been told about the purpose of jf2. it that doesn't match your actual intent, then awesome
#
jasnell
the way it's been communicated to me is that the intent is for this to become a parallel alternative work item to as2
#
jasnell
from what I've seen, jf2 could easily morph into an extension vocabulary on top of what's currently in as2
#
kevinmarks
having it bumped from the calls twice hasn't really helped clarity on this.
the_frey joined the channel
#
kevinmarks
(mainly the items part)
gm_kou and tantek joined the channel
#
kevinmarks
there are some variations in naming, yes, but given that we're already tidying up the as1 properties, changing from 'displayName' to 'name' (for example) seems reasonable
gm_kou and gm_kou_ joined the channel
#
jasnell
Here's an alternative take on the jf2 context that positions it as an extension to AS2: https://gist.github.com/jasnell/5daa485e56440779b557
gm_kou and tilgovi joined the channel
#
jasnell
don't see any reason to bikeshed over the existing field names. far more interested in identifying things that can be removed or simplified.
#
jasnell
it is unfortunate that we ran out of time to discuss everything on the agenda today
jasnell joined the channel
#
ben_thatmustbeme
jasnell: thanks for looking the context over. Yeah I mass linked a lot of those values. I'm not surprised I ended up with duplicates.
bblfish, JonathanC, the_frey and melvster joined the channel
#
melvster
telecons do seem to fly by ...
#
melvster
dont want to be premature, but I do see things inching towards convergence in the last week
shevski, the_frey, ShaneHudson, bblfish, MarkS_, danbri, Shane_, jasnell, JonathanC and azaroth joined the channel
#
melvster
is the social web IG *normally* scheduled for wednesdays?
#
ben_thatmustbeme
i'm not sure, but last i heard i thought there was a mention that the IG is on hiatus until AnnB returns
#
ben_thatmustbeme
not sure that is really the definition of when they are on hiatus until
#
melvster
maybe until xmas ...
tantek, MarkS, jaywink, tilgovi, timbl, kevinmarks, azaroth, jasnell, Shane_, m4nu and MarkS_ joined the channel
#
jasnell
aaronpk: btw, please don't take the fact that I'm pushing back on the issues you're raising on github the wrong way. If things need to change, then I'm all for making changes. But I've been looking at this space for a very long time and have gone through many of these questions before already. Please continue to push back and make the case. I'm always open to being swayed by a good argument :-)
bblfish joined the channel
#
Loqi
discourse has 1 karma
#
ben_thatmustbeme
jasnell: i feel like there should be some simpler method to the Blog, Story, Album, Folder question
#
jasnell
:-) yeah, was just commenting on that in the gh issue
#
ben_thatmustbeme
ah yeah, just saw it
#
ben_thatmustbeme
i mean, i don't want to add a ton of types that don't do anything though
#
ben_thatmustbeme
s/types/classes/
#
jasnell
but then again, how likely is it that an implementer will feel they need these specific types
#
jasnell
I think it's very likely
#
ben_thatmustbeme
the idea of adding a different field is that type manages the processing, collectionType is more definitional
#
jasnell
just feels like cheating to me
#
jasnell
we don't use that pattern anywhere else
#
jasnell
and I had suggested previously the idea of introducing a kind of "collection purpose" type of property that was shot down by the WG
#
jasnell
although that was just a bit different
#
jasnell
perhaps one possible approach to this would be to spin up a proposal for an extension. Similar to what I've done here: https://github.com/jasnell/vocabs/tree/master/social
#
jasnell
we just go ahead and start creating an extension vocabulary that contains these additional types that are going to be generally useful but don't quite make the cut for core
#
jasnell
we can move Folder, Album and Story into that
#
jasnell
and add Blog, Wiki and Forum
#
jasnell
or.. better yet... we use an already existing vocab ;-) http://schema.org/Blog
#
ben_thatmustbeme
that sounds like a good idea
#
ben_thatmustbeme
that was in response to the extension
#
jasnell
I think I like the extension approach best
#
jasnell
it helps us pair down the core vocab even further
#
jasnell
ok, I'll work up a proposal for that and see how far I can get
#
ben_thatmustbeme
I feel like it will make it easier to extend to other types of collections, i'm sure other examples will come up
rene joined the channel
#
rene
As said on github, I like the idea of having additional vocabularies that do not necessarily have to be implemented, but still guide implementers to hopefully lead to interoperability
#
rene
Therefore +1 to your suggestion
#
rene
@jasnell +1
#
azaroth
+1 :)
tantek joined the channel
#
kevinmarks
-1 on using schema
#
kevinmarks
if you're trying to pare things down, the last thing you need is to inherit their OTT class tree
#
azaroth
How about those Royals!? ;)
#
aaronpk
jasnell: yeah no problem, happy to keep discussing this. i have been searching the github issues before adding new ones to see if things have been talked about before
#
jasnell
much of the conversation spans multiple forums... email chats pre WG, IRC chats, WG email, f2f conversations, etc... it's hard to keep track of where the various conversations have happened
#
aaronpk
have you considered collecting some of the common questions into an FAQ so at least people can see the justification of some of the decisions?
#
azaroth
jasnell: Is IRC a better medium for pedantic and naive questions about the vocabulary than the mailing list, or should I send more there?
#
jasnell
either or :-) I'm not always on IRC tho
#
jasnell
it may look like I am, but I'm not always paying attention to it
#
azaroth
My next one is about published, and whether it necessitates an unintended interaction model.
#
azaroth
Likewise, fwiw :)
#
azaroth
For example, if someone has an Object that is published at time t, and that is then federated into a different stream that is made available only from time t2, should the federating stream update all of the published timestamps?
#
azaroth
Because it is essentially republishing new resources
#
azaroth
Or is it a creation/activity timestamp that should be left alone
#
azaroth
I guess the question is: Who is the agent that does the "publish"ing in a multi-agent, decentralized world
#
azaroth
If it should be left alone, then I would propose something like: The date and time at which the object was first published or subsequently updated by the original publisher
#
azaroth
--> email ? :)
#
jasnell
heh... I'm back
#
jasnell
sorry, was off landing node.js commits lol... doing my day job :-)
#
azaroth
dayjobs--
#
Loqi
dayjobs has -1 karma
#
aaronpk
i'm pretty confused about the whole displayName/title/summary/content thing now jasnell
tilgovi joined the channel
#
azaroth
jasnell: Can discuss on-list
#
jasnell
aaronpk: heh.. ok, lemme read azaroth's first :-)
#
jasnell
published is supposed to be the time the object was originally created/published. it borrows the same definition as Atom's published
#
jasnell
it's not a great name and I've never been completely happy with it, but I simply carried over the definition from AS1, which carried it over from Atom
#
azaroth
aaronpk: My understanding of that is: summary is a description of the resource, and content is a representation of the resource embedded within the json (or multiple, with language maps)
#
aaronpk
azaroth: my question is more about content type of the various properties
#
jasnell
aaronpk: displayName/title are essentially equivalent. In AS1, the difference between the two was that displayName is always plain text while title can contain markup
#
aaronpk
can we combine those into just "name"?
#
azaroth
Or "label"
#
azaroth
(though name is fine too :) )
#
jasnell
the reason for the difference is that there are AS consumers that do not use the markup and "displayName" gives a minimal level of function
#
jasnell
the bias is towards "displayName" because that's what was chosen for AS1 and what most implementers currently do. displayName is not my first choice, but it's already used extensively in the wild
#
azaroth
jasnell: re published, I expected that was the case, but the definition is a little too terse to understand the interaction requirements for publishing agents. I think my email to the list is reasonably clear tho.
#
jasnell
ok, I'll see what I can do on clearing up the description... although, I wouldn't be adverse to refactoring the date time fields a bit
#
jasnell
those have always been confusing, even back in the Atom days
#
azaroth
Agreed
#
jasnell
aaronpk: I'm not 100% against using "name" instead of "displayName", but that would be a departure from existing use in AS1, etc. Not a major concern since we've already broken from that, but still a consideration
#
aaronpk
we're changing so much from AS1 it's not like anything is compatible without some additional work anyway
#
jasnell
also, it doesn't completely eliminate the need for "title", which is the markup version. I don't want to get into a situation where "name" may or may not have markup because it needs to be there to provide a minimum fallback in case the implementation does not understand the object type
#
aaronpk
why does displayName (or just "name") need to support markup at all?
#
jasnell
it doesn't
#
jasnell
"displayName" is ALWAYS plain text
#
jasnell
"title" is markup
#
aaronpk
oh sorry
#
jasnell
to be honest, I've rarely seen title actually used
#
jasnell
well.. used properly
#
azaroth
atom:published (https://tools.ietf.org/html/rfc4287#section-4.2.9) looks like created with some reasonable fuzziness
#
aaronpk
yeah i hadn't heard of it until i started looking through the properties just now anyway
#
jasnell
I wouldn't be opposed to drop title if necessary
#
aaronpk
cool. I would love to drop title and change displayName to name
#
aaronpk
that is much simpler
#
jasnell
now... summary
#
jasnell
AS2 uses the AS1 definition of summary... it's jsut a short description/summary of the object that allows for markup
#
jasnell
like displayName (or name ;-) ...) users really shouldn't have to guess as to what it contains
#
aaronpk
okay. the issue is the "allows for markup" part
#
jasnell
it should just be consistent. that way we can say, always treat it as markup
#
jasnell
allows for markup == always treat it like it does contain markup
#
aaronpk
i think the wording should be changed then, because "allows" makes it sound optional
#
jasnell
ok, I can do that
#
azaroth
By markup, is that short hand for HTML, or are other markup formats possible?
#
aaronpk
okay, so summary is always html
#
jasnell
again, I had borrowed the language from the AS1 spec. You're right, saying always HTML is better
#
azaroth
+1
#
aaronpk
which means if there is a character like < in the summary, it should be rendered directly and not escaped
#
aaronpk
clarifying this stuff is going to help avoid the &amp;&amp; stuff
#
aaronpk
where you end up seeing &amp; in plaintext
#
jasnell
aaronpk: yes.
#
jasnell
"summary": "&lt;p>foo&lt;/p>" would render as <p>foo</p>
#
jasnell
(as html)
#
aaronpk
oops i meant &amp;amp; but yeah
#
jasnell
for content...
#
jasnell
up until yesterday it was defined in the same loose (bad) way as summary is now
#
jasnell
with the change yesterday, we can put "mediaType" into the object. If present, it overrides the default mediaType for "content"
#
jasnell
the default mediaType for "content" is "text/html"
#
jasnell
but now I can say, {"mediaType": "text/plain", "content": "this is plain text"}
#
jasnell
the presence of mediaType only affects the content property
#
aaronpk
okay. that also was super not clear from reading it
#
jasnell
ok, I'll fix that
#
aaronpk
so, we have: name=plaintext, summary=html, content=default html, or specified by mediaType
#
azaroth
And all can be language tagged, yes?
#
jasnell
so "name": "foo" or "name": {"en":"foo", "fr":"bar"}
#
azaroth
:)
#
jasnell
"summary": "<p>foo</p>" or "summary": {"en":"<p>foo</p>", "fr": "<p>bar</p>"}
#
aaronpk
so that solves the technical issues with it
#
aaronpk
it still seems weird to me that there is no indication of whether the value is text or html except for in the knowledge of the vocabulary
#
jasnell
well yeah, but we don't actually know that "updated" is an ISO8601 timestamp without knowledge of the vocabulary either
#
aaronpk
well it's more like we know that any time we see a date it's ISO8601, not potentially two different formats
#
aaronpk
it's the duration issue actually
#
jasnell
oh.. my examples above were slightly off... "name": "foo" or "nameMap": {"en": "foo", "fr": "bar"} ....
#
aaronpk
before that resolution, the duration value could have been either integer seconds or ISO8601 duration
#
jasnell
which I hate, btw, but there's no other way to make it work seamlessly with json-ld :-(
#
aaronpk
i believe you mean "name": "foo" or "nameMap": {"en": "foo", "de": "fü"} ;-)
#
jasnell
well if you want to be pedantic like azaroth ;-)
#
azaroth
:D
#
azaroth
Please kick me out of the bikeshed early!
#
jasnell
by strictly limiting name to plain text and summary to html, we at least give developers a stable target. they don't have to worry about what those might be
#
jasnell
they can always treat them consistently