2015-04-22 UTC
KartikPrabhu, KevinMarks, KevinMarks__ and eschnou joined the channel
KevinMarks, kez, eschnou, kez_, KevinMarks__, KevinMarks___, chiui, Soopaman, elux, KartikPrabhu, TallTed and AcidNerd joined the channel
KevinMarks, tantek, Soopaman, dariusdunlap_, KevinMarks__, kez, eschnou and KartikPrabhu joined the channel
eschnou, KevinMarks, gRegorLove, chiui, KevinMarks__ and tantek joined the channel
# 20:24 KevinMarks so, back to the rel parsing thing. It seems like we have 2 thinsg going on at the moment:
# 20:25 KevinMarks so should I add magic parsing for the ones I am interested in at the moment (enclosure, tag, xfn rels)
# 20:25 KevinMarks or should I add capture of the other metadata to the general case?
# 20:46 KevinMarks hm, another way to model this would be to add the extra attrs to URLs found in rel parsing
# 20:47 KevinMarks so keep the rels to url mapping, but add a urls to extra properties mapping for the alternates etc
# 21:28 KevinMarks because the parsers as written look for known hard-coded values
# 21:29 tantek alternate has specific greater functionality than others per spec
# 21:29 tantek goal was to minimize the work and output needed for use-cases
# 21:30 KevinMarks so you would suggets adding magic parsed output for tag, xfn etc too?
# 21:30 tantek e.g. for XFN rel values, the point was that the destination should be used for the canonical name etc.
# 21:30 tantek it was a way of avoiding having the consuming code assume too much
# 21:31 tantek rel=tag is different in that way, because the linktext is canonical
# 21:32 KevinMarks 1. magic parsing for each special rel case like alternates now
# 21:33 KevinMarks 2. replace the rels with a list of dicts not bare urls that preserve attrs
# 21:33 KevinMarks 3. add a "urls" that has the extra attrs for the urls so you can look up in there if you care about the ones in rels
# 21:34 KevinMarks 1 seems a bit mf1 and likely to cause a lot of extra code per parser
# 21:35 KevinMarks and would help stop rel="friend met crush" causing the data to explode
# 21:36 gRegorLove I like the sound of 3, though I'm not consuming this type of information currently, so it's just in theory for me.
# 21:38 kylewm I think #2 would be fine with a semantic version increment
# 21:38 tantek I disagree because it makes the common case of rel for discovery take more steps
# 21:38 kylewm and that seems like the better solution architecturally?
# 21:38 tantek that's the whole reason we designed it this way in the first place
# 21:39 tantek nevermind architecture, it's the 90% use-case that matters
# 21:39 aaronpk most of the rel values i'm consuming are rel=me and rel=webmention and rel=hub
# 21:39 tantek most rel consumptions are just give me the URL
# 21:39 aaronpk and in all those cases, i already know what the other end is gonna do, so i just need the URL
# 21:39 tantek and doesn't care about collections of rels on a URL
# 21:39 tantek and that's what we should encourage moving forward
# 21:39 tantek the extra attributes on the <link> tend to be fragile / wrong
# 21:40 tantek because it requires the author to duplicate information from the server
# 21:40 aaronpk alternates is what doesn't work right now, because all I see is a URL, but I need to know what type of alternat it is
# 21:40 Loqi tantek meant to say: because it requires the author to duplicate information from the destination
KartikPrabhu joined the channel
# 21:40 aaronpk the "type" attribute on the rel=alternate disappears in mf2 parsing right now
# 21:41 tantek second to last step, right before last end if
# 21:42 tantek right, precisely the attributes that matter are specified, and nothing more
# 21:42 tantek it's a deliberate minimialist scoping of the feature
# 21:42 Loqi tantek meant to say: it's a deliberate minimalist scoping of the feature
# 21:42 aaronpk but that's counter to how the rest of the mf2 parsing works, which is purely structural rather than semantic
# 21:43 tantek the number and names of attributes on <link> are static and fixed in HTML5
# 21:43 aaronpk i'd rather it worked more like h-entry, where the mf2 parser doesn't care about what the property names are
# 21:43 tantek if no one is using the "alternates" array, I'm ok with dropping it frankly
# 21:43 aaronpk that's why mf2 all of a sudden became way easier to use
# 21:44 tantek we're not growing html5 vocabs (elements and attributes)
# 21:44 tantek and frankly I think generalizing that would lead to bad behavior
# 21:44 tantek people starting to use "data-*" attributes for data exchange across implementations - which is forbidden by HTML5
# 21:45 tantek I'm giving you the background for design considerations
# 21:46 tantek no need to generalize a static fixed set of things (names of HTML5 attributes)
# 21:46 tantek may need to generalize a variable set of things (rel values)
# 21:47 kylewm <a rel="author" href="http://example.com/b">author b</a>
# 21:48 tantek don't ascribe any more semantics to it - because you can't
# 21:48 tantek it's not because it's used differently in all three
# 21:49 tantek alternate - the inner text is ignored (or non-existent, e.g. on <link>)
# 21:49 tantek xfn - the inner text is *informative* name of the person
# 21:49 tantek tag - the inner text is the *canonical* tag label from the author
# 21:49 tantek hence bad to generalize on that, certainly bad to call it a "name"
dariusdunlap joined the channel
# 21:51 tantek that's my point - I'd rather a parser not be smart and just hand back the attributes
# 21:51 tantek rather than have it attempt to infer where the "name" comes from
# 21:51 tantek better to have "title" if there is a title attribute
# 21:51 tantek and "text" if there is any inner text in the element (no markup)
# 21:51 tantek and then let the consuming code decide what to do with them
# 21:52 tantek which is ok, but it's imprecise to say "that was my #n"
# 21:53 tantek there is the explicit list attrs in the HTML5 spec
# 21:53 tantek and then there is the potential list of attrs that an author can put on an element
# 21:53 tantek and yes, I think it's been useful to only add attrs as needed for use-cases from the HTML5 spec for link
# 21:55 tantek because that just gunks up the parsed result with stuff that no one has a use-case for
# 21:55 tantek the desire to keep the parsed result minimal / friendly / useful
# 21:56 aaronpk lol at the little trash can next to "rev" on that page: "Also this attribute doesn't mean revision and must not be used with a version number, which is unfortunately the case on numerous sites."
# 21:56 tantek KevinMarks I think you need to document your use-cases more explicitly
# 21:57 tantek this is not about whether people publish them or not
# 21:57 tantek this is about is there a *use-case* for when you would use an mf2 parser to get this data about a page to then do something for the user
# 21:58 aaronpk monocle and woodwind both consume alternate right now
# 21:58 aaronpk i can't cause the php parser doesn't return it, so i just assume rss right now
# 21:58 tantek aaronpk - are you using the mf2 parser to get the alternates?
# 21:59 tantek lack of "type" is a big - that's already in the existing mf2 spec
# 21:59 aaronpk the lack of the parser giving me type (plus i was in a hurry) is the reason monocle only supports microformat feeds right now
# 21:59 tantek but I want to pushback on *both* any sense of "just add all the attribute" or any sense of replicating an HTML DOM
# 22:00 tantek aaronpk - but that's a parser bug, not a spec bug
# 22:01 kylewm tantek: woodwind doesn't use mf2 for the rel=alternate parsing, probably just because i didn't think to
# 22:01 tantek kylewm: it would be interesting to see if you could, and then find any holes
# 22:01 aaronpk so what about "sizes"? that seems like it should be added to the parsed result too
# 22:02 tantek more specifically, what are you going to code that needs it and produces a user visible result?
# 22:03 aaronpk well for one, the authorization screen when signing in to apps like monocle
# 22:03 tantek it's not needed for icons for home screen bookmarks
# 22:04 aaronpk your icon is a photo, which is usually scaled just fine by consumers
# 22:04 aaronpk but if your icon has line art, you'd want to specify a different image for smaller sizes
# 22:04 tantek aaronpk, a-ha this is more interesting: "the authorization screen when signing in to apps like monocle"
# 22:04 tantek look like I need to write up a "iconship" algorithm similar to "authorship"
# 22:04 tantek because the first place you should be getting that from is … the representative h-card photo
# 22:05 tantek just like rel=author is not the first thing you should check, neither is rel=icon
# 22:06 aaronpk the representative h-card photo doesn't have the ability to specify sizes
# 22:07 tantek why does the "authorization screen when signing in to apps like monocle" need sizes? what are you doing with that information?
# 22:08 aaronpk right now i'm taking the u-logo from the h-x-app and putting it in an image tag. that gets us by for now
# 22:09 kylewm tantek: OK! I changed woodwind to use the alternates list from the mf2 json, works great and is a little simpler than before
# 22:09 tantek that was the goal! less work for the consuming code
# 22:11 kylewm KevinMarks__: yep, which I was already doing once. no need to parse again later
# 22:11 tantek kevinmarks - it's not magic, it's following a spec
# 22:11 kylewm when you say magic, you mean, a special sanctioned list of rels that we care about enough to add special handling?
# 22:12 tantek right, I think generalizing the rel values aspect makes sense, whereas generalizing for all possible attributes does not
# 22:12 tantek because they have very different expansion / use behaviors
# 22:12 tantek well, having a fixed set of rel values is, yes
# 22:12 tantek because we're expanding the set of rel values
# 22:13 tantek but we are NOT expanding the set of attributes
# 22:13 kylewm one question -- why does the map have "url" instead of "href" for the href property?
KevinMarks and KevinMarks_ joined the channel
# 22:37 tantek I disagree about "url" vs "name" in that way, since the construction of an absolute URL is both well defined in an existing spec, and global to all uses of that URL
# 22:38 tantek whereas KevinMarks, your introduction of the concept of "name" does not have an existing well defined construction in a spec, nor is it global to all uses
# 22:38 tantek so while at a 10000 ft level they may seem similar in that the parse does (or could) do some extra processing, they are quite different in the details
tantek and KartikPrabhu joined the channel