#dev 2019-05-19

2019-05-19 UTC
gRegorLove, tomasparks, gRegorLove_, [frank], chrisaldrich, GWG, [Rose], [jeremycherfas], [Zegnat], [tonz] and [kevinmarks786] joined the channel
#
[kevinmarks786]
This feels like it would work with Aaron's Avatar from emoji tool https://twitter.com/asus4/status/1126413558525374464?s=20
[Vincent], [Rose], [Zegnat], [tonz], paulrobertlloyd, gxt, jgmac1106, djmoch, [frank], [jgmac1106], NinjaTrappeur, tomasparks, [aaronpk], snarfed, leg, gRegorLove_, [jackjamieson] and chrisaldrich joined the channel
#
[jackjamieson]
[Rose], agreed our #indieweb conversation is getting into #dev territory
#
[Rose]
Would I really want a separate install for this though just to keep my main WP DB clean? Because if you do that then having this data in an extra table is just creating work for the end user
#
[Rose]
And for people who can only install one WP instance on their hosting, they now have to pay double for that privilege - or not bother.
#
chrisaldrich
there's also the chance that some might begin using Yarns for a bit and then quit without purging a huge amount of data because they didn't know it was there...
#
[jackjamieson]
Using wp_post has definitely been easier for building. A few more core features to complete, and I think those should come before a transition to a different structure
#
[Rose]
I don't know how much work it is for you [jackjamieson] to filter out the "real" posts in the posts table.
#
[Rose]
But working on core features first before changing the DB structure 100% makes sense, otherwise you may design yourself into a corner.
#
[jackjamieson]
But moving posts to a new site/CMS without taking the Yarns’ data along is a good argument for making that switch soon enough
#
[Rose]
jackjamieson++ for yarns 😉
#
Loqi
jackjamieson has 2 karma in this channel over the last year (10 in all channels)
#
[Rose]
jackjamieson++ because that amount of karma is too low
#
[jackjamieson]
If I’m designing myself into a corner, I think I’m already there 🙂 But not too deep yet
#
[Rose]
Well, more that you may see other elements and be able to plan to fix them as you go more easily if you plan to use another table
#
[Rose]
At least, I hope 🙂
#
[jackjamieson]
I like [tonz]’s ideas for on-the-fly queries, and am also thinking of filters for keywords or post types as a future feature. (e.g. Create a dedicated events channels that shows events from all channels). The queries for those sorts of uses would vary depending on the database structure, so I should make a decision before I start on those
#
chrisaldrich
jackjamieson, iirc I think that PressForward used the same general set up you're implementing, so you may want to look at how they handled things and/or added flags and purged posts of a certain age.
#
[Rose]
I definitely would like to be able to filter for "post kinds", which depending on the feed may or may not have the correct markup. (E.g. podcast RSS feeds I would see as audio, but now I'm just making your life difficult)
#
chrisaldrich
you may also be able to borrow some of their presentation/reader views as well.
#
[jackjamieson]
[chrisaldrich] The idea of using a second site has a lot of merits. Notably, the work of polling a large list of feeds could have an impact on site performance, so offloading that elsewhere could be useful. But it would be a bit of work for users, so I would consider that an advanced option only
#
[jackjamieson]
Thanks for the suggestion to look at PressForward - I’ll check out their structure
#
sknebel
since IndieAuth plugin features came up recently, that'd be a use case for using external endpoints /cc GWG
#
[Rose]
I would like it if non technical users (who may also have less feeds to follow) could just do it as "all in one". I think it's friendlier.
#
chrisaldrich
I remember many early users of PressForward mentioned that it created a large load on their servers (especially those on shared hosting), so PressForward recommended keeping fewer than 100 feeds in some of those cases.
#
[jackjamieson]
[Rose], you can already filter post-kinds per channel, is that what you mean?
#
[Rose]
Also, if you have to do a separate WP install why not use another reader service then?
#
GWG
I intend to write an export
#
sknebel
[Rose]: don't think the suggestion was "have to"?
#
[Rose]
[jackjamieson] filtering across all channels :)
#
chrisaldrich
A lot of PressForward sites were set up with just PressForward funcationality in mind rather than adding it on top of a pre-existing site that already did other things for just that load and storage issue.
#
[Rose]
Good point Sknebel. That was just because of my reading.
#
[jackjamieson]
[Rose] that’s on my list!
#
[Rose]
I know!
#
GWG
That was why I suggested using the posts table
#
GWG
Ease of use
#
sknebel
because plugins might not be able to setup their own tables?
#
GWG
sknebel, plugins can set up their own tables
#
GWG
Many do
#
sknebel
or ease of use from a dev perspective?
#
sknebel
should probably read github issues or chat logs and find the answers himself instead of asking all the time :D
#
GWG
Custom tables, as jackjamieson noted, are an advanced feature
#
[Rose]
The way the questions are asked can often give you new ideas though which can help solve the problem ;)
#
GWG
Here's an example of the discussion
#
GWG
Since posts in a feed reader are very similar to posts in a site, it made sense to use the built in tables
#
gRegorLove
Does it work okay for posts without titles?
#
[jackjamieson]
It definitely achieves ease of use from a dev perspective, which has been useful for me. From a user’s perspective a new table could perform the same (or better).
#
GWG
Fot the edge cases of keeping a large amount of data unread...not so much
#
GWG
Gregorlove, posts can handle iy
#
[jackjamieson]
[gRegorLove] Yep, the Yarns post title doesn’t contain the title of the actual post. Instead post titles are in the form: {Channel UID}|{permalink of feed item}
#
gRegorLove
Ah, interesting
#
sknebel
also interesting re "unread" - for me a reader is also very much an archive, but I totally see that there could be an expection that you use bookmarks/likes to keep content, not a full feed reader archive
#
sknebel
*expectation
#
sknebel
and my intuition is guided by the limitations of my current setup
#
GWG
To be honest, I am not sure I would have done that, jackjamieson
#
GWG
sknebel, that was my thought
#
[Rose]
I would see channel UID as a separate field. Probably a foreign key.
#
GWG
I would have used post status for read status
#
GWG
For example
#
[Rose]
And if there are settings to keep unread items then lots of people would enable it I suspect.
#
[Rose]
At least, if it's in the setup walk through.
#
Zegnat
For archiving prior art has been to “star” items. Starred articles in Google Reader would always be available, and new services have kinda copied that. E.g. I believe Feedbin promises to keeps starred items even if it has otherwise tidied up older read items
#
GWG
I have only made suggestions on parsing and endpoint design so far
#
Zegnat
But as with bookmarking/liking, it is a specific action you take to keep something stored
#
[jackjamieson]
re: long term storage. This will be configurable (soon), I just hard-coded a value for quick development. So it will be possible to set up longer term storage.
#
[jackjamieson]
Not sure how starred items could work in practice, since the microsub client would need to offer UI for that
#
GWG
jackjamieson, what is still on your list for 1.0?
#
[Rose]
Starred could be (private) favourite?
#
GWG
Is that in the spec?
#
[Rose]
That's a suggestion because it uses the existing infrastructure. Not necessarily a good one though 😉
#
sknebel
a private favorite would be a post, so micropub, probably
#
[Rose]
Hmm, good point. The originating end has no notion of this.
#
sknebel
wordpress could potentially link the two internally, but complex consequences
#
[Rose]
Which links back to a discussion from last weekend about private post UI, maybe readers should tell the Microsub server what they can support in a config.
#
[Rose]
*could, not should.
#
GWG
We have config options in Micropub, why not Microsub.
#
[jackjamieson]
@GWG Mostly some bugs to work out and a few more changes to the admin UI. A configurable storage duration. I also want to speed up the process of searching for feeds, which probably means changes in parse-this
#
GWG
jackjamieson, I am going to be in the code making it support granary.
#
[Rose]
Yes, two way. "Please tell me when my user favourites something" and "I can tell you when your user favourites something".
#
GWG
Will see about optimizing
#
[Rose]
Bad examples perhaps.
#
GWG
Granary doesn't support head
#
GWG
Maybe I should omit head on the design
#
[Rose]
(Though in the context of "I am a reader and I support private post display" it works quite well)
#
[jackjamieson]
@GWG Actually my highest priority for 1.0 should be better documentation. Not my favourite task but probably the most important
#
GWG
It isn't like webmentions where you are avoiding a DOS attack
#
GWG
jackjamieson, just remember to help you get it out by Summit, I will put other things on hold
#
GWG
I am looking at fetch code in webmentions, and can look at two different sets at once
#
[Rose]
If I can help I will.
#
GWG
Both are doing the same thing for different reasons
#
[jackjamieson]
GWG, Thanks. I wrote an issue about fetch_feeds speed https://github.com/dshanske/parse-this/issues/40
#
Loqi
[jackjamieson2] #40 fetch_feeds speed
#
Loqi
GWG has 39 karma in this channel over the last year (174 in all channels)
#
Loqi
Rose has 12 karma in this channel over the last year (44 in all channels)
#
GWG
Not sure how to avoid checking for an h-feed.
#
GWG
I can try to optimize it though
#
GWG
Especially on sites like tantek's where he has 3 on his homepage
#
GWG
Will look again
#
GWG
I may just try some ways to return early
#
[jackjamieson]
I could check more closely, but I think the main timesink is that Parse_This::parse leads to Parse_This_MF2::parse, which includes a number of calls to Parse_This::fetch().
#
[jackjamieson]
Maybe I’m reading it wrong, I don’t think I traced it that thoroughly when I was timing things
#
[jackjamieson]
At any rate, I’m setting aside some time tomorrow to properly take stock of what’s left for Yarns 1.0, and then I’ll have a clear idea of what I need to ask you, GWG
[sebsel] joined the channel
#
chrisaldrich
jackjamieson, if you have time to do a video walk through installing, configuring, and even talking briefly about the set up/use (so I don't miss any fine subtleties), I can try to start in on some documentation for you.
#
chrisaldrich
especially if it helps a 1.0 release before IWS.
snarfed joined the channel
#
[Rose]
!tell [cleverdevil],[eddie] I'm curious as to the difference in u-listen-of and p-listen-of, any chance you could share the reasoning behind each and why for you? I can see in recent listening posts you're using different ones
#
Loqi
Ok, I'll tell them that when I see them next
[eddie] joined the channel
#
[eddie]
Yeah, for me I use u-listen-of because I am linking to the url of the podcast episode. Ultimately I want people who parse my site to be able to get the url value out of the h-cite
#
[Rose]
That makes sense.
[cleverdevil] joined the channel
#
[cleverdevil]
I honestly can’t remember why I chose what I did.
#
[cleverdevil]
I will say @eddie’s logic makes good sense to me :)
#
GWG
[eddie]: Hello
#
GWG
Same to cleverdevil
#
GWG
Also, I use u-listen-of
#
GWG
u is url, p is plaintext...p is an instruction to parse the value contained as the value of the property...u is the URL. For a podcast, the url is likely more relevant, unless you want to do h-cite u-listen-of
#
GWG
Which would allow name and URL
#
[cleverdevil]
I suppose I should fix my plugin to match, then.
#
[cleverdevil]
So, right now, I have a p-listen-of on the containing <article>
#
GWG
How does that parse?
#
GWG
You can check
#
[cleverdevil]
I’ve never been clear on the prefixes... would it be incorrect to just change that to u-listen-of, or would I need to move it down to the anchor tag?
#
[cleverdevil]
Good point.
#
[cleverdevil]
Looking...
#
Loqi
[Jonathan LaCour] On this debut episode, Federico investigates being productive using third-party software keyboards, then he and Ryan discuss ways they use the iPad’s multitasking system in everyday life. By Adapt
#
GWG
cleverdevil, see explanation above
#
GWG
u considers the value of the property to be the URL
#
GWG
An href or src
#
[cleverdevil]
So, move it down to the anchor tag, then.
#
GWG
p indicates it is plaintext of what is inside it
#
GWG
Correct
#
GWG
If I am right
#
GWG
I have my wrong mf moments
#
[cleverdevil]
Hmm... unfortunately, its not that simple in the plugin, as there are conditionals in the template.
#
[cleverdevil]
Sometimes there is a URL, sometimes there isn’t.
#
GWG
Good point
jgmac1106 joined the channel
#
[cleverdevil]
So, I just changed it so that the containing article is a p-listen-of, but the anchor tag is a u-listen-of if there is a specified URL.
#
[cleverdevil]
Not sure its wrong to have both present.
#
[cleverdevil]
(I will say, microformats are not my strong suit).
jgmac1106 joined the channel