dybskiy, dybskiy_ and pauloppenheim joined the channel
#kylewmGWG: just went to my first indiewebcamp last month. it's roughly one day of discussion ... broken into 45 minute chunks, organized around topics that people suggest that morning
#kylewmand one day of implementation, where you can show off what you worked on at the end
#KartikPrabhuI usually think of CSS rules in words in my head and then sue the ones that are closest
#KartikPrabhuso do you want "both margins on all paragraphs except last one" or "margins on top of all paragraphs" or "margins on all paragrpahs next o another"
#KartikPrabhuall valid suggestions... we should really just see if a lot of folks want to do this...
#JonathanNeal^ the 1st looks to take advantage of fragmentions never containing two spaces, the 2nd looks to take advantage of space between the double hashes, the third is just lazy.
#KartikPrabhuKevinMarks: msft paper talks about new ARIA roles to represent annotations UI. Might be worth considering if someone implements annotations
#tantekKartikPrabhu: KevinMarks convinced me that linking to nth instance is more fragile than helpful
#tantekI think it provides artificial confidence of precision
#tantekthat is - some implication of guarantee of nthness being the same
#tanteksimpler failure modes are more user friendly
#tanteki.e. something goes wrong. user thinks why did this go wrong? user figures out oh, this is so simply predictable (text is now missing) that I know what went wrong!
#tantekthe more complex something is, the more difficult it is for users to predict and understand why something failed, the less of a chance they have of correcting the error
#tantekthat's my attempt to expand upon KevinMarks's reasoning. not trying to put words in his mouth but rather provide additional reasoning.
#kbskylewm: ah, sorry - my frustration mostly :) realizing I can't actually update any of my semi-running-by-itself appengine apps until I go through this process. ah well
#snarfedthe main question is whether we need to guarantee uniqueness
#snarfede.g. if we have two SyndicatedPosts with the same values, is that ok? does anything break? (e.g. i think query(…).get() might throw an exception, if we need that)
#snarfedor what if we end up with two that differ on just one of the two values?
#kylewmoh, if .get() throws an exception, I need to fix that anyway
#snarfedthe way it's structured right now, it should only let one poll task per source run at a time, so if we only create SyndicatedPosts for that source during that task, we can probably get away without a tx
#kylewmsince more than one post can have the same original
#snarfedarguably the same case as if we just didn't do the second discovery though. more of a consistency problem i guess, if we sometimes get one and sometimes the other
#GWGsnarfed: Bridgy, I remember seeing some discussion about post discovery.
#kylewmI would be okay with only storing rel=syndication links for the current Source. so we'd miss syndicated instagram posts while backfeeding the user's twitter replies
#GWGThis is what you guys were talking about on and off.
#snarfedrel-syndication links are the right way to go
eschnou joined the channel
#snarfedmost people also put a link to the original post in the tweet or facebook post or whatever, that's the traditional way
#GWGsnarfed: But, if I omit the link to the original post, will Bridgy still find it?
#kylewmlet's do that (discovery for one silo at a time). the transaction stuff will get confusing quickly if you are adding to more than one Source at a time
#GWGThat was what you were talking about the other day, I recall.
#kylewmif you were doing discovery for kylewm with Sources twitter and facebook concurrently, couldn't you run into that same race condition? at least with synchronizing on the Source
#snarfedkylewm: you'd do a transaction (scoped to Source, since it's the parent ie root entity), query for an existing SyndicatedPost with the value(s) you care about, and either update it or write a new one depending on what you find. that would prevent overlapping or dupes
#GWGsnarfed: I was looking at ways to consolidate that data in the display. It takes 5 page downs to get through what amounts to 16 likes and 2 favorites
#KevinMarksyes, I still think it's a comvoluted unnecessary syntax that will confuse people
#GWGsnarfed: And the one actual comment gets buried in the midst of that
#snarfedGWG: good point. i think will norris has worked on facepiles for likes, RTs, etc
#kylewmsnarfed: really appreciate the pointers, sorry for all the back and forth! to recap, I'll go forward with making SyndicatedPost a child of Source (since that will be hard to change later), and for now do only discovery for the current Source with comments about how to do it better later (since that will be easier to upgrade later)
#GWGsnarfed: The reason I keep asking is I'm trying to see what people want. Because while I'm doing the design first for myself, I decided to make it something others might want to that would allow for an easy deploy.
#GWGWhich is why I'm doing it five different ways instead of one.
#snarfedGWG: sure! UX is above my pay grade. ship and iterate?
#GWGI have a barebones starter theme, a Bootstrapped 'blog' theme, two plugins...
#GWGsnarfed: One college course in UX design probably makes it above mine as well.
#GWGPart of the problem I need to look at is that the semantic linkback and the webmention plugins both add functions to the comment handlers. I need to look to see if my doing something similar might conflict.
#GWGWhich is why I'm leaving that for last, and my comment override function just adds in the markup right now, but otherwise is actually the original Wordpress code
#GWGWill Norris's facepile code doesn't distinguish like/repost/favorite, I believe. And requires the Genesis framework, which I might untangle.
#kylewmfyi, the markup doesn't differentiate between like/favorite either. it's always u-like or (increasingly) u-like-of
#GWGkylewm: But the semantic linkback plugin for Wordpress does
#GWGkylewm: So, I'm thinking of coming up with two views for it. An aggregate...total number of each type...an a longer view to look at who is doing what.
#KevinMarksJonathanNeal: what was your point re the MSFT paper? afaik that only referred to annotations within the same document, so you were in control of ids on both
#kylewmGWG: I just added <a class="u-in-reply-to" href="facebook event"></a> and <span class="p-rsvp">yes</span> to a post, and then asked bridgy to publish it... not much effort on my end
#KartikPrabhuoh! yeah.. that might not be official in anyway
snarfed joined the channel
#kbsaaronpk: seems like that, yea. Saw that a few days back but never quite remembered to let you know. [If there's a suitable bug-list or somtehing somewhere, be happy to add it so you can get to it when appropriate]
#kylewm”might not be official“ as in, you have a better one? or not sanctioned by the IWC overlords?
#KevinMarkstantek: I'm running on node on heroku, so could add arbitrary routing rules, but the www is an artefact of that. I am looking into switching to static serving from amazon s3, as I don't have any intersting code running server side and your static ideas are compelling
#KevinMarksOK, going to POSSE that fragmentions for poets post.
#bear@tantek did you get an answer about nginx allowing .html to be added to a request? the answer is in the "static site example" on /nginx - specifically "try_files $uri $uri.html $uri/ =404;"
#bearI always felt that removing the extension was wrong - but so many .php era folks have gotten the web world used to it
#aaronpkbear: lol wait I thought php was the culprit for *not* having people remove the extension
#aaronpkcause things like rails and node frameworks don't even have the concept of serving files in their language, you "run apps" instead
KartikPrabhu joined the channel
#bearah - I should reword - the Drupal/Framework .php crowd and the Ruby crowd (maybe?)
#bearyea, I guess I should be ranting against the app scene
#aaronpkKevinMarks: yeah if you add .json to any of my URLs it'll run it through the mf2 parser. it's a cheap content negotiation trick so you can do it in a browser without setting the Accept header to json
#KevinMarksso should you do .png so it can be embedded in a tweet?
#gRegor`WordPress is a notable php project that hides the extension (granted, by handling permalinks instead of direct .php file access) aaronpk, bear
#aaronpkoh yeah there are plenty that do, and most php frameworks hide the extension. i'm just talking about by default dropping php files into a folder means you need to access them with the extension, and few other languages work that way
#kylewm!tell bnvk I think your target param in the call to https://webmention.io/api/count on your page is being double-escaped. Not sure if you use that or not :)
#bearthe really funny part is that I had to use that pattern on my own site because it used to be a wordpress site - the "never break a URL" rule overrode my dislike of hiding extensions
#Loqibnvk: kylewm left you a message 2 minutes ago: I think your target param in the call to https://webmention.io/api/count on your page is being double-escaped. Not sure if you use that or not :)
#gRegor`I like cleaner URLs, but it doesn't bother me to see .php in the URL, from a "hide the implementation" perspective. Most servers will tell you what it is, with or without the extension.
LauraJ joined the channel
#KartikPrabhuI've started using "Shared on" as a term to indicate syndication to silos, would like to know other suggestions? :)
#JonathanNealKevinMarks: those systems start complicated, what I like about ++ is how it is optional, only appended when you want to seek forward or backward through a collection.
#ben_thatmustbemehonestly, the I don't find the argument that ++ gives a false sense of uniqueness is very strong. Fragmentions, even complex ones could end up not unique just as easily
#JonathanNealben_thatmustbeme: care to dumb that down for me? your first sentence may have had too many negatives for me to get.
#ben_thatmustbemeyes, it will find the first occurance, if there is one, there may be more though, so its not really unique. How a website deals with that is implementation specific (i'd think of doing a results list in a side bar)
#kylewmKevinMarks’ post has a pretty good explanation of how to find unique lines even in poems with repeated lines
#kylewmbut that’s not what i mean… i mean what would be bad about having the simplest, first occurence spec possible, and then if a lot of people are trying to link to poetry, expand it later
#kylewmi know one possible answer is what happened with Markdown, where it has numerous different dialects
#ben_thatmustbemeall I was saying was that the main argument against ++1 is that it is fragile. I'd say fragmention itself is pretty fragile so the ++1 just adds uniqueness it doesn't really do anything else
#Loqiben_thatmustbeme meant to say: all I was saying was that the main argument against ++1 is that it is fragile. I'd say fragmention itself is pretty fragile so the ++1 just adds uniqueness it doesn't really do any harm
#rasculif the content is dynamic, they're both volatile
#kylewmthat’s not so bad though… you still have a link to the page, and an idea what phrase the person wanted to link to, if they chose one that was meaningful in addition to being unique
#JonathanNealrascul: yes, but it’s not harmful to point out that fragmentions are not practical for dynamic content.
#ben_thatmustbemeI don't like the idea that without the ++ HAS to return the first occurance though, i'd prefer to leave that as an implementation choice
#Loqiben_thatmustbeme meant to say: I don't like the idea that without the ++1 HAS to return the first occurance though, i'd prefer to leave that as an implementation choice
#KevinMarks2I argue that they are more practical for dynamic content than ids or the emphasis thing
#JonathanNealben_thatmustbeme: right now, the implementation already seeks first occurrence. Were you expecting it to search through certain elements before others?
#kylewmimplementation choice, i agree with that… might highlight all instances, and scroll to the first one
#JonathanNealKevinMarks2: yes, IDs and emphasis algorithms are just as fragile for searching dynamic content.
#ben_thatmustbemeJonathanNeal: no, but I might choose to search for the last occurrence if my site shows a log for example
#ben_thatmustbemeJonathanNeal: alternatively I might want to get all occurrences of it. it depends on the application
#JonathanNealben_thatmustbeme, kylewm, great ideas, tell me how you would configure this.
#JonathanNealAnd remember that ##term should still do something useful for people who add zero CSS/JS.
#KevinMarks2But a nice long fragmention is useful data to stick into your site fuzzy matching Markov chain Google searching code
#KartikPrabhuseems I have transitioned to KevinMarks2's side of this. No one thinks of "I want to tell my friend about the 2nd time this phrase occurs". I feel we think "I want to to link to this phrase or around it"
#ben_thatmustbemeI think the difference is really we are saying GET params go to the server, ## params go to the front end JS
paulcp_ and brianloveswords joined the channel
#JonathanNealKartikPrabhu: it should always be simple, I just want to add in something for short phrases that occur multiple times. In one example posted here, I had tried to link to the first three words in a sentence, but they occurred earlier in the document, in the middle of some paragraph.
#rasculoh i just forked fragmentions thinking to add ++N to it, but then i saw it was already there
#ben_thatmustbeme?s=searchterm means search the DB and only show me results, ##searchterm is find this on the page
#ben_thatmustbemebrowsers could in theory support it natively as just a call to their "find in page"
#ben_thatmustbemeit really feels like we are just recreating that same functionality just on webpages instead of in the browser
#aaronpki thought the point of fragmentions was that they eventually would be supported by browsers
#JonathanNealben_thatmustbeme: you're forgetting that people would share these links.
#rasculyeah the link sharing is what makes it good
#JonathanNealAnd yes, the point is to make something that browsers would find worthy.
#JonathanNealKevinMarks2: it is easy to want to make it a big complicated thing, but as long as multiple occurrences are handled, which they are, I think we're good.
#kbsI can see it make sense on a video, which people now do with timestamps
#kbsI can also see it being useful to tag a face/place on a picture
#kbsnot sure whether there's a simple way to do it, like KevinMarks is doing with text though, that might be the kicker
chloeweil joined the channel
#KartikPrabhuaaronpk: just like I want to tell a friend "this paragraph is great" in a blog, I would like to say "look this image in this blog is sweet". I know I can give the src of the image but that get's rid of the context
#aaronpkheh, give each image a linkable id which is a small hash of its URL. use newbase60 for the character set so it's high density, and use a small hash space since there won't be that many images on a page anyway.
#KartikPrabhuthat could be said of paragraphs as well though...
#aaronpkbut paragraphs already have words which are more human friendly
#aaronpkoh I was actually talking about fragmentions for images so that you can link to any image even if the publisher didn't include IDs on their images
#aaronpksame way fragmentions let anyone link to text without the publisher needing to know about it
#ben_thatmusbe2I saw someone say something about fragmention and webmention to do annotations. The fragility of fragmentions could make that a mess if the source gets edited
#kbsKartikPrabhu: ah, didn't realize this was already being considered - nice
#KartikPrabhuben_thatmusbe2: again that is upto the source editor to take care
#KartikPrabhusame could be said of id-fragment fragility
#kylewmyou could have a section at the bottom for “comments on older versions”
#aaronpkoh nice, yeah the media-frags doc already has this all specced out
#rasculoh well ben_thatmusbe2 probably saw me say that so my plans have been foiled already
#KartikPrabhuben_thatmusbe2: yeah. link fragility is always possible wit document edits. Just like having a /tombstone for deleted posts is good practice. Dead/edited fragmentions should be dealt with by the author/authoring software
j12t joined the channel
#ben_thatmusbe2I'm surprised I haven't lost connection yet
#kbskylewm: dunno - just thought that annotations means annotating the text by the commentator (hence - add the annotation as a parenthetical comment to the fragmention)
#aaronpkoops forgot that there was a tweet version of sandeep's post. really need to add that syndicate button so I can posse after posting
#kylewmaaronpk: do you find the original and the tweet version and multi-reply to both?
#aaronpkno I just reply to the canonical, but syndicate my post to twitter with the proper twitter in_reply_to_id set
#kbsI guess FF gets penalized for doing 'the right thing' in this case :-)
#rasculchromium here wraps the lines and doesn't break the words, which i guess might not be properly in this case
#kylewmaaronpk: OH! so you would actually reply to the twitter post, and it finds the original from there. my bridgy stuff might have an unfortunate side effect for that!
#aaronpkthat video is just a demo of when I paste in a twitter URL, it swaps it for the canonical URL
#gRegor`The datetime link for local comments is just an anchor link to that comment. For the webmentions, it's a link to the original source. Thoughts on that?
#gRegor`I thought about having the webmentions read like "Ryan Barrett mentioned t his on snarfed.org" and the text snarfed.org would link to the source permalink. But then I thought that's getting rather verbose.
#rasculi don't like datetime links linking to something that isn't strictly datetime related, such as a calendar or something
#rasculbecause i would never think to click the link or even hover over it for anything else
#gRegor`I think I'll stick with what I have for simplicity, for now.
#aaronpkgRegor`: agreed about the additional sentence
npdoty joined the channel
#aaronpkI'm trying to keep all that kind of stuff out of my site too
#aaronpkI made a point of not including any third-person text about the things I publish there. I'm not going to say "Aaron liked a post on..." for example