2012-08-20 UTC
zztr, spinnerin and tantek joined the channel
# 02:15 tantek aaronpk - your note post permalinks are looking pretty sweet
# 02:16 tantek I tried clicking it and it gave me a Tweet box with -45 characters left (45 characters too many)
# 02:18 tantek should notes really have "Tweet" buttons? or should they have "Retweet" buttons (which just retweet the tweet that you sent out originally as the copy of the note)
spinnerin joined the channel
# 02:18 tantek actually the whole "what web actions belong with what post type" design question has been vexing me
# 02:18 aaronpk hm yes for notes it seems like it should be a "retweet"
# 02:19 tantek (nevermind about the UI noise / and cookie tracking / and performance slowdown of including the FB IFRAMEs)
# 02:19 tantek BTW - not saying I have a good answer figured out
# 02:20 tantek just figured I'd share with you the questions that I've been coming up with
# 02:20 tantek perhaps you'll figure something out that makes sense
# 02:20 aaronpk I think the twitter button has a way to change the suggested text
# 02:21 tantek but there is a "popularity" and "original copy" benefit of using Retweet instead of Tweet
# 02:23 tantek I'm waiting for Hormel to start posting promoted tweets about Spam, then the circle will be complete.
tantek joined the channel
# 03:39 tantek in all this discussion on how to post peer to peer comments, assuming we solve (have solved?) the first level of comments on posts, at some point we may want to consider how to solve the comments on comments on posts threading thing.
# 03:39 tantek i.e. how does one pingback not only a post, but a specific comment on a post?
# 03:40 tantek or if you pingback to a post on someone's blog, which is of object-type "comment", then how do we propagate that pingback up to the original post as being re: a specific other comment on that post?
# 03:47 aaronpk it seems at least at first glance that if comments have #ids, then you could send a pingback of example.com/page#comment-id
spinnerin joined the channel
# 04:03 tantek now the question is whether any blog software pingback endpoints pay attention to the fragid and use it as such
# 04:04 tantek which begs another question, since the comment is being created originally on another site and being syndicated into (onto?) the original post via pingback, who creates the "comment-id" in the subsequent markup? the blog software hosting the original post?
# 04:05 aaronpk oh good point... technically the content is from the author's site
# 04:07 tantek the comment-id could be automatically generated from the permalink of the comment on the commenter's own site!
# 04:07 tantek e.g. if aaronparecki.com/2012/232/note/2 was a comment, then as a local id on the post itself, it could be: id="comment-aaronparecki-com-2012-232-note-2"
# 04:10 aaronpk shouldn't the ping be sent to the author's site tho?
# 04:10 tantek if you're writing the comment, then the metaweblog *post* is sent to your site, which then sends a pingback to the original post's site with the permalink of your comment post.
# 04:11 aaronpk ok, and then say you reply to my comment. shouldn't your reply ping my site since I commented?
# 04:11 tantek then the original post's site creates a local representation of that comment, inside an <article id="…"> element where the id is as described above, so that someone who wants to comment on *your* comment, would pingback per the pingback URL with fragid you suggested.
# 04:12 tantek right, there are two pingbacks that must occur on comments on comments
# 04:12 tantek the first, is as you say, the comment on the comment must pingback the comment post.
# 04:13 tantek then, the question is which/who does the 2nd pingback, and I think the answer is both
# 04:13 aaronpk so the source URL needs to be noted when the copy of the comment is brought in
# 04:13 tantek so your site, with the comment, passes along a pingback to the permalink to your comment on the original post
# 04:14 tantek and the comment on comment site also sends a direct pingback to the original post with pingback URL with fragid
# 04:15 tantek by "source URL" if you mean "where the pingback came from" then yes, and always. technically that should be the actual permalink for the comment
# 04:16 tantek the local fragid should only be used for comment threading
# 04:18 tantek the "comment on a post is transparently a post on your own blog" UI/approach is what Tumblr implements already
# 04:18 tantek so we know it can "work" in terms of people using it and getting it
# 04:18 tantek so let's look at Tumblr as the bar to meet for the UX of peer-to-peer comment posting on blog posts.
# 04:19 aaronpk oh, so neat hack to get the tweet button working (that's what i'm poking at right now)
# 04:19 aaronpk turns out if you don't specify a url, it will include the URL of the current page, so then it makes the length spill over
# 04:20 aaronpk so I have to set url="." (an invalid URL) which causes their javascript to not put a URL in the tweet
# 04:20 aaronpk and to get the count right, I set counturl="http://example.com/xxx"
# 04:20 tantek for the tweet button question, I decided to *only* put a tweet button on my articles for now, not my notes. I figured when in doubt, go with less UI until you have a good reason (use-case) to do otherwise.
# 04:20 aaronpk very, but if I don't, then they put in the page URL
# 04:21 aaronpk that's not a bad approach. I did get the "retweet" one working great if my post has a tweet id
# 04:21 tantek i'm still leaning towards note posts having more of an RT button than a Tweet button
# 04:21 aaronpk but if I don't have a tweet ID stored, then it falls back to a regular tweet button
# 04:21 tantek yeah, my HTML5+hAtom storage keeps track of the syndicated out tweet id for each note
# 04:21 tantek so it would be relatively easy to display an RT tweet action for my notes that have been tweeted out
# 04:22 tantek because the lack of a tweet means that either a) I haven't officially "published" the note yet (including sending PuSH notification) or b) when I published the note, the twitter API had a failure (maybe Twitter was down)
# 04:22 tantek which means it will get sent out when twitter is up again
# 04:23 tantek but if twitter is down, then there is no point in showing a tweet button anyway
# 04:23 tantek so I decided, no tweet id, means don't show any kind of tweet action button
# 04:23 tantek (assume no tweet id means either a) I haven't published it so why would I want anyone to tweet it, or if b) it's because twitter is down, then any tweet action button would be useless anyway
# 04:26 tantek is behind on publishing several mostly written "web actions for the indie web" blog posts.
# 04:29 tantek also cool that our newbase60 epoch days are sync'd up
# 04:30 tantek question, why "n" for note instead of "t" for text ?
# 04:31 aaronpk I liked the way "note" and "article" are nouns so both can be pluralized and sound more natural in speech
# 04:31 tantek (I liked 't' for text in particular because 't' also helped me think "tweet")
# 04:31 aaronpk so the header bar says "Articles" and "Notes", and the URLs match as well
# 04:32 tantek you could make the header "Text notes" if you don't like calling them "texts"
# 04:32 tantek (I agree that "texts" seems to imply a specific medium precision of SMS)
# 04:33 tantek your approach with the different columns is interesting
# 04:33 tantek and avoids the challenge of creating a hybrid feed style that has both text notes and articles
# 04:33 aaronpk yes, I thought about that for a while. the one drawback is that it ends up being two separate hfeeds.
# 04:33 tantek seriously that was a challenge to do in terms of whitespace, subtle separators, etc.
# 04:34 aaronpk the posts would be out of order then, does that matter?
# 04:34 tantek the "order" in a feed shouldn't matter, since anyone who cares about "order" should be resorting according to whatever order they want (e.g. published date, updated date etc.)
# 04:35 aaronpk ok, wasn't sure. I wonder how most RSS readers and PuSH hubs handle it tho.
josephboyle joined the channel
# 05:06 tantek btw - create a private test twitter account ;)
# 05:06 tantek hmm - so why isn't there a tweet id in that case?
# 05:07 tantek er, that *note* claims "syndicating to Twitter" :)
# 05:07 tantek which if there's no tweet id, then it means it wasn't syndicated to Twitter, or am I missing something?
# 05:08 tantek hmm - just noticed this: <span data-latitude="45.522309" data-longitude="-122.681277" class="geo">
davida, tantek, BjornW, xtof_fr, tilgovi, barnabywalters, danbri, stereoket and lmorchard joined the channel
tantek_ joined the channel
# 14:20 aaronpk also good catch with the geo span, I don't actually know where I got that markup from.
stereoket, davida and danbri joined the channel
# 15:29 Loqi Ok, I'll tell him that when I see him next
spinnerin, davida, xtof_fr, danbri and tantek joined the channel
# 16:47 tantek someone proposed using data-* attributes with microformats? that's expressly forbidden by the HTML5 spec, and in our FAQ on the matter as well.
# 16:48 aaronpk I don't know if it was from a microformats reference, it may have been from some other reference I found
# 16:49 tantek probably needs some updates, e.g. we have more strict use of the abbr element now
# 16:49 tantek they are but they're not for data exchange / publishing
# 16:50 tantek data-* attributes are storage for private (to the page) data, for use with server script libraries etc.
# 16:54 tantek short version: since you're displaying a structured address "Portland, OR, US", you should mark that up with the "adr" microformat
# 16:55 aaronpk I don't always know if it's going to be a structured address, the text I get there is technically freeform
# 16:55 tantek the lat long - is it precise, like exactly where you tweeted from, or is it just the center of "Portland, OR, US" ?
# 16:56 tantek but you don't want to provide a UI for the precise location then...
# 16:56 aaronpk not at the moment. I need to put more thought into a UI for it.
# 16:56 tantek when you say the "the text you get there is free form" - where are you getting that "Portland, OR, US" text from?
# 16:57 tantek I guess at a minimum I would expect some sort of "map point" icon that links to a map of the precise location
# 16:57 aaronpk if it's an imported tweet, it comes from their JSON data. if it's genereated from my site it's from my reverse geocoding API.
# 16:57 aaronpk I need to add some sort of bounds/span/zoom level before I can show a map
# 16:58 tantek ah, or you could start with what twitter does
# 16:58 tantek which is to hyperlink the structured address text
# 16:59 tantek when in doubt, just copy Twitter's UI and then improve upon it :)
# 17:03 tantek except there's a problem with the resulting map
# 17:03 tantek took me a sec to figure it out by hacking the URL
# 17:04 tantek the (a) red map point is on "Portland", not on your lat/long
# 17:04 aaronpk you have to put the lat/lng in the q= parameter, and then it shows a green dot
# 17:07 tantek what's the complete better URL? and why does Twitter not use it?
josephboyle1 joined the channel
# 17:09 tantek interesting - now it's putting the (A) red map point on "Irvington", and a green down arrow presumably on the actual latlong
# 17:09 tantek and there's a dashed outlined pink background polygon around Irvington
# 17:10 tantek but it's confusing - which is the actual point? the green arrow or the red (A) map point?
# 17:10 aaronpk the green one is the actual point, but it always takes me a few seconds to remember that
# 17:10 tantek hoping this is just a temporary gmaps UI iteration/test
# 17:11 aaronpk I say "recently" but I really mean several months
# 17:25 tantek aaronpk - what's odd about that jkprime permalink is that the "minimap" embed still makes it look like it's from the middle of the word "Portland" and then implies something about the polygon is special.
# 17:25 tantek Tufte would be ripping these map displays to shreds
# 17:26 aaronpk yea I agree. you can't put the user icon pointing to a specific part of the map unless you're actually talking about that point specifically.
# 17:28 tantek is there any kind of query parameter convention that mapping sites use for lat long?
# 17:28 tantek or does Yahoo maps, bing maps, mapquest all have their own query params?
# 17:32 aaronpk tantek: I think no zoom level implies something like 15 or 16
# 17:32 tantek I'm wondering if they all accept q=lat,long though
# 17:33 tantek at least for compatibility reasons, with the "q" param
# 17:33 tantek if so, it wouldn't be unreasonable to spec parsing/inspection of such URLs for the lat/long
# 17:34 tantek and in microformats2, we could even do so at least halfway by using a u-geo property, which would indicate to a microformats2 parser to get the value of the geo property from the URL of the element, e.g. the href on an <a> element.
# 17:41 tantek then interpreting that URL becomes a client specific task
# 17:42 tantek maybe I'll write a CASSIS function to scrape lat/long from gmaps, ymaps, bmaps, mapquest URLs
# 17:44 tantek has lots of abbr updating to do on that geo-brainstorming page :/
barnabywalters joined the channel
stereoket joined the channel
josephboyle joined the channel
# 18:09 barnabywalters next up: Pingbacks, Salmon and a webDAV interface for creating/editing articles
# 18:10 barnabywalters yep, SabreDAV is a php library for creating webDAV shares with arbitrary backends
# 18:10 tantek barnabywalters, why not metaweblog API instead of WebDAV?
# 18:11 tantek by supporting metaweblog API, you automatically get the ability to use the WordPress iOS client to publish to your site!
# 18:11 aaronpk yes, tantek and I have been talking about the metaweblog API over the last couple days
# 18:11 barnabywalters tantek: I plan to add that too, but want to be able to mount my articles as a virtual filesystem first
# 18:11 tantek I know it may be "old school", but metaweblog API is fairly well supported by various blogging clients (some open source, like the WordPress iOS client)
# 18:12 tantek no need to do any virtual filesystem mounting
# 18:12 aaronpk yea my backups are via scp, and also my site is a git repo so that's another backup
# 18:12 barnabywalters yep, me too :) But this is even more automatic. And if I mount it to my dropbox folder, I get yet more backups that way too
# 18:13 barnabywalters tantek: RE MWB being old school: sure — I'm not too opposed to XML-based systems, especially when they're widely implemented
# 18:13 barnabywalters e.g. I currently accept pingbacks and intend to treat them equal to salmon slaps for both tx and rx purposes
# 18:15 tantek ok, have started updating geo-brainstorming per our discussion aaronpk
# 18:19 tantek that's the simplest summary of salmon I've heard to date
# 18:20 barnabywalters tantek: the official site is so obfusticated. once I've implemented it I plan on writing a proper explanation, implementation details and tutorial
# 18:26 tantek barnabywalters - I gave up on trying to understand the spec and all the things it depends on.
# 18:27 barnabywalters tantek: I hope so. That salmon is verifiable saves a whole load of faffing around involved with pingback
# 18:28 barnabywalters I am hesitant to do any explaining before I've implemented salmon Tx and Rx, but as soon as I have I'll post a guide
# 18:29 barnabywalters 4. Process whatever the data is e.g. reply, mention, follow notification/whatever
# 18:31 tantek actually would be interesting to see your explaining *while* you're implementing
# 18:31 tantek so that at each step, you capture how you think it works
# 18:32 tantek and then if anything doesn't work that way, you can move that section to an FAQ about possible misconceptions
# 18:32 tantek you're essentially charting the path to understanding, which includes documenting the pitfalls along the way.
# 18:32 tantek great - looking forward to reading the play-by-play barnabywalters :)
# 18:33 barnabywalters aaronpk: pretty much, yes. Signed requests, a regular format and discovery protocol
# 18:38 aaronpk doesn't really solve the spam problem tho, since it seems like anyone can sign a request easily
# 18:38 barnabywalters yep, but if the request is signed by someone on your whitelist, you don't have to make a request to their site each time you get a notification
danbri, josephboyle1, brennannovak, tilgovi, stereoket and tantek joined the channel
# 21:21 tantek barnabywalters - does salmon depend on webfinger, or is it an optional pluggable component?
# 21:22 tantek !tell barnabywalters does salmon depend on webfinger, or is it an optional pluggable component? or can we use indieauth instead to make it URL based identity/discovery, rather than using .well-known and email addresses?
# 21:22 Loqi Ok, I'll tell them that when I see them next
mkowens_ joined the channel
# 22:08 tantek aaronpk, barnabywalters (in absentia), I wonder if for step 2. that barnaby listed, we could use indieauth + hCard "key" property instead
# 22:09 tantek if we use indieauth/relmeauth as our identity component, thus URL is your identity
# 22:09 tantek then we pull the representative hCard from that URL (as we do anyway for avatar, name, email, whatever else)
# 22:09 tantek and we can grab the "key" property from that hCard for the public key
# 22:11 tantek that has a lot more than is needed for generic public keys
# 22:11 tantek however by publishing an hCard with public keys in the same way as documented in the examples there, it enables use of hCard public key for both Salmon, and potentially WebID
# 22:12 tantek in that regard, the W3C's WebID could build upon existing relmeauth + hCard key publishing practices
tantek and brennannovak joined the channel