#dev 2020-07-27

2020-07-27 UTC
#
jacky
I'm tempted to fork mention.js to add the stuff I need tbh
#
jacky
I think I'm using something else right now in /Koype/Publish
#
jacky
oh it's the in-built mentions thing for Quill
#
Loqi
[afry] quill-mention: 💬 @mentions for the Quill rich text editor
#
aaronpk
oh the other quill 😂
#
jacky
lol yeah
#
aaronpk
maybe i should make quill use quill so that i can add that library :D
#
jacky
inception
#
aaronpk
this is great
#
aaronpk
i'm indexing all the posts on my site based on who i mention or am replying to in them
#
aaronpk
so now i have stats like how many times have i interacted with jacky
#
aaronpk
gonna skip out on automatically indexing people who reply to me for now
#
aaronpk
i figure an action i take, (liking a post, replying) is a stronger signal than the webmentions i receive
#
aaronpk
since 2019, i've interacted with 1750 different users
#
jacky
oh that's interesting
#
jacky
using it for a weighted list of people to reply to?
#
aaronpk
yeah so now when i type "@j" it can suggest nicknames
#
[tantek]
never replied to Juliette huh? @j on Twitter
#
aaronpk
apparently not
#
[tantek]
you have certainly shared at least one checkin
#
aaronpk
oh yeah that's a property i didn't think about indexing
#
[tantek]
though you may have to transitively include my checkin with yours to establish that
#
[tantek]
in-person interaction is far more relevant than online
#
aaronpk
right, swarm doesn't add your person-tags to my checkin when you check me in, so that'd take a bit to dig out
#
[tantek]
right, though the information is nonetheless quite relevant
[snarfed] joined the channel
#
[snarfed]
aaronpk: reminds me of the weighting formula i used for indiemap’s site to site relationship scores: https://indiemap.org/docs.html#social-graph-api (scroll down past the JSON blob)
#
aaronpk
ah nice, that seems reasonable
#
aaronpk
alright well that was productive
#
aaronpk
i did my homework, now your turn!
beko joined the channel
#
GWG
aaronpk: You've been very productive. I need to get on some of my implementations
nickodd, KartikPrabhu, [tantek], swentel, moppy, [KevinMarks] and gxt joined the channel; nickodd left the channel
joshghent, swentel, jeremych_ and [manton] joined the channel
#
[manton]
I’ve updated Micro.blog with several improvements discussed at the Micropub popup session. Blogged a summary of some of the changes here: https://www.manton.org/2020/07/27/micropub-improvements.html
#
aaronpk
[manton]: did you think about my latest suggestion of using categories/collections/channels or whatever, instead of a new post type?
#
[manton]
[aaronpk] I thought about it, but it hasn’t clicked for me yet. Perhaps because Micro.blog’s pages are really completely different than normal blog posts.
#
aaronpk
what makes them different?
#
aaronpk
on my site they are nearly identical with the exception of their location on disk
nickodd joined the channel
#
[manton]
I store them in a separate database table with different fields. That’s an implementation detail, so I don’t want to get too hung up on it, though.
#
aaronpk
it's potentially relevant
#
aaronpk
especially the part about different fields
#
aaronpk
what properties do micro.blog pages have that posts don't
#
aaronpk
(or vice versa)
#
[manton]
They mostly have _fewer_ properties. They are simpler. But they do have a few extra Micro.blog-specific fields: whether to show a page in a site’s navigation, whether it’s a special page like Photos that is automatically populated with your photos, etc. There are 3-4 fields like that.
#
[manton]
My comment when you suggested “collections” was that they felt too much like categories. If we actually used categories for this, the next question would be whether some servers can have pages in multiple categories where it would be weird to have a “fake” pages category.
#
aaronpk
"whether to show a page in the site nav" could be flipped to say "the nav contains these pages/posts"
#
aaronpk
the name that i used isn't relevant, everyone calls these things different/overlapping things
#
aaronpk
some CMSs don't have categories, some have categories where posts can appear in multiple categories, some have categories and tags, etc
#
aaronpk
in my case I don't have anything called "categories", I have "tags" and "channels", where posts can be in multiple of both.
#
[manton]
Yeah. I guess if a system already has something called “categories”, that’s where it could get a little weird. So, you’d have server logic like “if category == ‘pages’ then do something different”.
#
aaronpk
I'm now realizing that I don't actually have a list of "pages" anywhere, so I don't even have anything to query to give me a list of all the pages, other than looking at the filesystem and looking for posts that exist outside the date-hierarchy storage. so I would actually benefit from adding a new "channel" called "pages" and putting them into there
#
aaronpk
I don't think a server having custom logic per category is inherently wrong
#
aaronpk
you've effectively done the same thing with the special "photos" page containing a photo grid
#
[manton]
Hmm, yeah.
#
[manton]
I wonder if @GWG or anyone on the WordPress side has thoughts on this. WordPress essentially stores everything the same way and has the equivalent of a “post type”. I know the old API was simplified to use the type instead of e.g. separate API calls for posts vs. pages.
#
[manton]
Here’s another question: let’s say we use categories for this. You’d need a way to ask q=source for a specific category. Fine. But what if no category was specified? Would both posts and pages get returned?
#
[manton]
Micro.blog would probably have to assume “posts” unless the client specifically asked for category = “pages”.
#
aaronpk
i would assume "default", whatever that means to the server that matches the user's expectation
#
aaronpk
in my case it'd probably be the posts that are on the home page
[tantek] and [schmarty] joined the channel
#
[manton]
I just checked to see if any Micro.blog user already has a category called “Pages”. Luckily not yet. 🙂 Because I would have to keep that as a reserved category name.
#
aaronpk
that's a good indicator then
#
[manton]
I guess that’s my hesitation, though… It feels a little hacked on. If that’s just an implementation problem for Micro.blog, then I’m okay with it.
#
aaronpk
so we should look at other systems, and if it feels hacked on in all of them, it may not be the best solution
[fluffy] joined the channel
#
aaronpk
personally it would clean things up in my implementation
#
[manton]
Does calling this “channel” help anything in terms of consistency with Microsub? Microsub’s channels are kind of like categories because new ones can be created, but they also have hardcoded ones like “notifications”.
#
aaronpk
interesting question
#
[manton]
This feels similar, but again I think it’s confusing to have 2 things that are kind of the same (categories and channels). Unless channels have a much more narrow focus.
#
aaronpk
one unfortunate confusion here is also that microformats2 uses "category" for what most systems have called "tags"
#
aaronpk
which means micropub requests already can contain a property called "category" which is not at all the structure we're currently talking about
#
aaronpk
which would suggest that using a new name for this distinction might actually be helpful
#
[manton]
Okay, that’s a good question. If we used category = “pages” for this, what if someone adds a “pages” category to move a post from a normal blog post to a standalone page? Would that be allowed?
#
aaronpk
i've actually done that before, turned a blog post into a page
#
aaronpk
(the only actual change internally for me is moving the file on disk)
#
[manton]
In Micro.blog that would be super weird. It would be basically equivalent to deleting and recreating the post.
#
sknebel
"__pages" or other "magic" value?
#
aaronpk
side note, I just remembered that I recently added a "Channel" selection to Quill so that I can choose where posts appear on my site
[grantcodes] joined the channel
#
[grantcodes]
If pages were "collections" I would expect every other post type to also be a "collection" as well.
#
aaronpk
nothing about collections are tied to post types
#
aaronpk
but also it's entirely up to your site to decide which collections/channels are available
#
aaronpk
i feel like i have a rough idea in my head and i need to write it down so we can be sure we're talking about the same thing
#
[grantcodes]
In general in WordPress I think posts and pages are the same but generally configured differently by default. Pages are hierarchical, don't support tags & categories, often different url structure, and option of a different template.
#
[grantcodes]
But that can all be overwritten of course
#
[manton]
WordPress also only has posts and pages, right? The category/collection/channel approach kind of assumes that you might have many types of posts. But in practice, I just don’t see that.
#
aaronpk
give me a sec to write this up, i don't want this discussion to get thrown off by confusing terminology
#
[grantcodes]
By default it only has posts and pages. But custom post types are a big deal.
#
aaronpk
again i don't think this has anythign to do with post types
#
aaronpk
[manton]: micro.blog doesn't have a "tags" feature right? just categories?
#
[grantcodes]
In most cms type things I can think of that is what they are 🤷‍♂️
#
aaronpk
[grantcodes]: in wordpress the only post types are pages vs posts right? and if you then go and define custom templates, nothing really forces you to put only one post type into a particular category?
#
[manton]
[aaronpk] Right, just categories. Some people use them like tags.
#
[grantcodes]
Out of the box, that sounds right. And categories are totally decoupled
#
GWG
Media is also stored in the post table
#
GWG
But attachment posts don't have tags by default...though I would enable it
#
[tantek]
micro.blog does use emoji like tags. emojitags!
#
[tantek]
a-ha, turning posts into pages and perhaps back again. that's another good argument for their distinction being about properties (and their values) rather than any top down absolute distinction
#
aaronpk
[manton]: what does micro.blog currently do if it receives a micropub request with "category"?
#
[manton]
[aaronpk] You mean when creating a post, right, not as a URL parameter? It just assigns the categories to the new post.
#
aaronpk
right, in the micropub request to create a new post
#
aaronpk
so it maps those to micro.blog categories?
#
[manton]
Yes, exactly.
#
[manton]
When using some IndieWeb tools (like OwnYourGram, etc.) this can create a lot of “tags” as categories. But that’s fine. That’s what people expect to happen.
#
[tantek]
"category" in mf2 (h-entry, h-card, h-event) comes from classic microformats which comes vCard, iCalendar, which were created before "tags" were even a thing, and people called them "categories" back then (and you could have / label as many as you wanted, just like tags)
#
aaronpk
i know, it's just unfortunate that there's this weird overlap now
#
[manton]
Another weirdness related to this: JSON Feed also only has “tags”. I still put the Micro.blog categories in there, calling them “tags”. Shrug. 🙂
[KevinMarks] joined the channel
#
GWG
[manton]: I merge categories and tags from wordpress under categories in Microformats and Micropub
#
GWG
The only WordPress difference is hierarchical or not
#
[manton]
That makes sense.
#
aaronpk
interesting, does that mean if a micropub category value matches either a wordpress category or tag it's used, but if it doesn't match then it creates a tag?
#
[KevinMarks]
We had tags, but defined them with rel=tag
#
GWG
aaronpk: Correct
#
[manton]
This is a bit of a tangent, but personally after years of using WordPress with both categories and tags, I decided the tags were not useful. For Micro.blog, I wanted to have a single way to do this to make it simpler. Less for people to think about. (Your milage may vary.)
#
GWG
[manton]: I decided categories weren't useful and rarely use them
#
GWG
I use tags more
#
[KevinMarks]
Rss categories are hierarchical in annoying ways but I just split them on / and made each one a tag
#
GWG
And some custom taxonomies
#
GWG
The category/tag micropub code hasn't changed since the first version, unlike many other sections
#
GWG
Probably worth a relook
#
[KevinMarks]
I think they're the same thing at heart, and the history is that things were supposed to have exactly 1 category because of leftover thinking from hierarchical shelving. A small minority of people enjoy making those kinds of things, for everyone else the cognitive load is too high and tags work
#
[tantek]
that happens to lots of things that are like 95% similar.
#
GWG
Meanwhile, there are people obsessed with their folksonomies
#
[tantek]
yeah tags and categories have converged in practice. it's not useful distinguishing them in UI any more IMO
[chrisaldrich] joined the channel
#
[fluffy]
I used them as separate things in Movable Type, but the way MT handled tags was also less-than-ideal.
#
[fluffy]
In Publ the “category” is really more of the “section” which is how I used it in MT, but Publ makes a much stronger distinction about what a category even *is*
#
aaronpk
alright [manton] GWG [grantcodes] I'm curious what you think of this https://github.com/indieweb/micropub-extensions/issues/40
#
[fluffy]
It’s been a long time since I used MT but as I recall, its tag interface was similar to iPhoto’s.
#
[tantek]
hashtags was a great way to eliminate explicit UI dorking around just to categorize/tag things
#
[tantek]
the rest of is up to a clever CMS to read all the hashtags and present them in an intelligent and insightful matter for the user to navigate
#
[tantek]
hashtags was a great way to eliminate explicit UI dorking around just to categorize/tag things
#
[tantek]
the rest of is up to a clever CMS to read all the hashtags and present them in an intelligent and insightful matter for the user to navigate
#
[fluffy]
I don’t like the presentational aspect of hashtags or how people #willjusthashtag #randomphrases but yeah it’s a pretty low-friction way to do things
[snarfed] joined the channel
#
[tantek]
low friction UX is great, then it's up to a good UI to extract sense from that
#
[fluffy]
also, how does one set up bridgy to do the POSSE to Twitter? I’ve just been using it to receive mentions of my posts that are POSSE’d via ifttt
#
[fluffy]
oh, it’s not automatic?
#
[fluffy]
oh never mind I saw the automatic bit further down
#
sknebel
it works kinda like indienews - magic webmention to trigger
#
[fluffy]
yeah. I already have so many magic webmentions as it is 😕
#
[fluffy]
(so what’s one more, right?)
[chrisaldrich] joined the channel
#
@WarHappens
Sierra One: A Yankee Stretch Story – with a moonbay for microsub Paltus http://warhappens.com/sierra-one-a-yankee-stretch-story/
(twitter.com/_/status/1287808400143847424)
#
@ShivEnigma
↩️ @jsjoeio I learned about the webmentions standard and about http://webmentions.io yesterday, and thinking about i… https://twitter.com/i/web/status/1287788016753205256
(twitter.com/_/status/1287788016753205256)
#
GWG
aaronpk: How would Micropub channels relate to Microsub channels?
#
aaronpk
they don't really
#
GWG
aaronpk: I'm only wondering because of the idea of posting articles into a microsub channel in a read later fashion
#
[manton]
I feel like they are conceptually similar, but not directly related to each other.
#
GWG
[manton]: I am just predicting it will come up
#
[schmarty]
it's a one-letter difference 😂
jeremych_ joined the channel
#
[manton]
[aaronpk] For creating a post via JSON, does `channel` go inside `properties` like other MF2 properties, or does it go at the top-level of the object like `type`?
#
aaronpk
good question
#
aaronpk
it's not really a property of a post, it's telling the server where to put it
#
swentel
GWG, could be a syndication target maybe, and the the server handles that?
#
aaronpk
so i think it would use the mp- prefixes like the other ones
#
swentel
although that might be not the best property :)
#
[manton]
Hmm. Okay. I’m posting some examples to GitHub to make sure we’re on the same page.
#
aaronpk
now that i think about it, i don't actually remember what a JSON request looks like with mp-syndicate-to
leg joined the channel
#
aaronpk
it looks like they do go in "properties" but they use the "mp-" prefix
#
aaronpk
been a long time since i wrote this code
#
[manton]
I had to look that up too.
#
GWG
Had a capitalization question?
#
GWG
Should channel names all be lowercase?
#
aaronpk
i think we'd do similar to microsub where channels have an ID and display name separaetly
#
[tantek]
right, channels mostly the same but slightly different. what could possibly go wrong?
#
[tantek]
gmail-- for "*Message could not be sent. Check your network and try again."* instead of just saving it in local storage and trying later 🙄
#
Loqi
gmail has -1 karma over the last year
gRegorLove joined the channel
#
[tantek]
yo anyone making something that sends/saves content, please don't ever include that code flow ^
#
GWG
aaronpk: That's why I was asking
#
aaronpk
matching the microsub model is safer too
#
[manton]
Sigh. Alright, alright. (I thought about matching Microsub too but went for the simpler approach.)
#
aaronpk
also opens up the possibility for localization without changing identifiers
#
[manton]
Yeah. It’s just that using IDs will require an extra call to get the channel list before doing anything. Which I guess is fine.
#
aaronpk
what do you mean? you'd always need to get the channel list
#
aaronpk
these aren't hardcoded values
#
aaronpk
i will add a note to the summary bullet points at the top about that
#
[manton]
I was thinking they could be, in the same way that h-entry is “hardcoded”. But I’m fine with it matching Microsub.
#
aaronpk
for example i'm not going to have one called "posts" at all
#
[manton]
And my `uid` for Posts might actually be “default”. I don’t think I’ll pass `mp-channel` unless it’s a page.
#
[manton]
I’m trying really hard to ignore the singular vs. plural inconsistencies we have. 🙂 Microsub has action=channels and a channels array. Micropub usually has e.g. q=contact but “contacts” array. But not always! “destination” is singular from q=config.
#
aaronpk
let's take the opportunity to make them match if we can! nobody actually suggested a name for this property yet!
#
[manton]
I think the most Micropub-y way is to have q=channel (singular) but the response be “channels” (plural). That matches q=contact and q=source.
#
GWG
And contacts is still in draft...we can fix that too
#
aaronpk
i don't even see where q=category was proposed as the name of the property
#
[manton]
Okay. I kind of figured contacts was implemented enough in the wild that it was stuck. But I only implemented it yesterday so easy to change. 🙂
#
aaronpk
but where was the discussion about the name of that
#
aaronpk
it's not in the github issue
#
aaronpk
there's a reference to q=category in chat from 2017. but there's also mentions of q=categories
nickodd left the channel
#
[manton]
Yeah, I don’t think it was discussed specifically. All the examples in the GitHub issue used “category”, and no one objected. That goes back to 2018.
#
aaronpk
sounds like there wasn't ever any thought behind it
#
[manton]
Hmm. It always looked weird to me, but I just assumed there was a reason for it. I should’ve brought it up earlier.
#
[manton]
If we went plural everywhere like q=categories, I would need to support both versions for the foreseeable future. I’m okay with that if other folks are. But it’s also kind of a slippery slope… For example, should the post list query really be q=source without a URL, or should it be q=items?
#
aaronpk
i'm not really sure where "q=source" by itself came from either
#
aaronpk
any idea?
#
jacky
<magic.GIF>
#
aaronpk
(i'm only just now catching up on a lot of these extension discussions that have been going on for a while, so a lot of this is new to me)
#
[manton]
Seems like we were overdue to look at all the extensions a little more comprehensively.
#
[schmarty]
i was also confused by "q=source" being used to e.g. return a list of posts or recent media items
#
aaronpk
i'm assuming it was backwards-engineered from `q=source&url=X` to return a single post, but in that case it would imply that it should return the full source contents of all posts, which isn't actually useful or what it does
#
[manton]
I think I’ll write up a GitHub issue with a few of these differences. This is kind of a style guide issue. I’m not sure it’s worth changing, but seems worth documenting and discussing at least.
#
GWG
[manton]: Deciding how to name new properties is useful in the long term
#
GWG
If they are plural or singular.
#
[manton]
I wrote up a few of the more common ones. I’m sure there are others. https://github.com/indieweb/micropub-extensions/issues/41
#
GWG
[manton]++
#
Loqi
[manton] has 22 karma in this channel over the last year (61 in all channels)
#
swentel
hmm there's q=geo , but I guess only GWG and me use that for now
#
GWG
swentel: And aaronpk was right on Saturday
#
GWG
It needs fleshing out
#
GWG
Documentation of use cases, etc
#
GWG
I did a few things on that...but need to spend some time with it
#
GWG
swentel: Also what is the plural of geos
#
GWG
I think the bigger question is are query variables plural or singular by default?
#
[KevinMarks]
microformats is singular for the array name, even if there are multiple
#
[KevinMarks]
so matching that seems consistent
#
GWG
[KevinMarks]: I just think settling that will help solve a lot of backtracking down the road
#
swentel
gei? if we go italian style, like mano/mani ;)
#
swentel
anyway, I'm in favor of singular too
#
GWG
swentel: What is the plural of status?
#
aaronpk
statuses
#
GWG
I have heard different answers, but I would agree
#
GWG
Same with syllabus
#
swentel
yeah, statuses sounds good to me (not native english, but still, works for me)
[chrisaldrich] joined the channel
#
GWG
swentel: I was more making a point about how these things get confusing
#
GWG
I'm just happy that we are making so much good progress.
#
[manton]
[KevinMarks] Good point about Microformats. I guess the counter-argument is that those Microformats arrays almost always have just 1 item in them.
#
[KevinMarks]
There's a Rubyism about singular and plural which is annoying for this
#
aaronpk
lol "instructions"
#
[KevinMarks]
Hah, Aaron's ingredient is not a list
#
aaronpk
what do you mean?
#
aaronpk
i see a bunch of `<li class="p-ingredient">`
#
[KevinMarks]
Instructions isn't a list, ingredient is I meant
#
[KevinMarks]
Brain glitch
#
aaronpk
it's not even clear whether it's supposed to be a list https://microformats.org/wiki/h-recipe
#
aaronpk
the example has only one step 😂
#
aaronpk
"Start by mixing all the ingredients together."
#
Loqi
Tantek Çelik
#
[KevinMarks]
Hmm. I think ul for ingredients and ol for instructions is common
#
aaronpk
the example shows e-instructions containing the entire list
#
aaronpk
not "e-instructions" on each list item
#
[KevinMarks]
Ah, so focused on preserving the formatting.
#
[KevinMarks]
Makes sense
#
[KevinMarks]
Do we need to add e-introductory-essay based on experience in the wild?
#
[KevinMarks]
Per Manton's original comment, it looks clear in the html when you're marking it up to label each ingredient with p-ingredient.
#
[KevinMarks]
So the parsed form derives from that
#
aaronpk
lol introductory essay
#
aaronpk
please propose that on the mf wiki 😂
[tantek] joined the channel
#
[tantek]
what is even happening
#
Loqi
It looks like we don't have a page for "even happening" yet. Would you like to create it? (Or just say "even happening is ____", a sentence describing the term)
[MitchWagner] joined the channel
#
[tantek]
[chrisaldrich] I feel scheduling is maybe tied into the concept of post status that was discussed during the Micropub popup
#
[tantek]
aaronpk, GWG, I feel like this overlaps your interests https://github.com/Maps4HTML/MapML
#
aaronpk
5 years ago! how have i never heard of this before
#
GWG
[tantek]: Scheduling a post was determined as setting published for a future time2
#
[KevinMarks]
Right, but what Mitch wants is more like recurring events, which we know contain dragons
#
GWG
[tantek]: I meant to ask.;..are you up for putting that Microformats session on the calendar?
#
[chrisaldrich]
tantek: scheduling is definitely tied to the idea of post status... that's why I'm thinking that the WordPress Micropub plugin may already support scheduling if it were to receive a micropub request that had a future date/time.
#
GWG
[chrisaldrich]: I believe it does
#
GWG
I don't really schedule posts much. I should write a test for that though.
#
GWG
[chrisaldrich]: Wait...the other day when I discovered my clock was off by 2 minutes...the system thought that was a future post and didn't show it
#
GWG
So, it does work
#
[chrisaldrich]
That reminds me that I need to document some of the RSS feed time formats used as I think the differences cause my IFTTT/Webhook/Micropub workflow to fail when the time shows up in an unexpected format.
#
GWG
[chrisaldrich]: Post Kinds, possibly after the version you are running(please upgrade) does try to address timezones
#
GWG
I override the default ATOM template to actually do timezones correctly
#
GWG
I think I fixed RSS also
#
GWG
I forget
#
[KevinMarks]
Rss uses the d email date format, not 8601
#
GWG
[KevinMarks]: I know.
#
GWG
The timezone was still wrong
#
[tantek]
[chrisaldrich] have you ever used the "pending review" feature of post status?
#
[tantek]
pretends the RSS datetime format discussion is not happening because no good can come of that
#
[KevinMarks]
I told you my ultimate 1st world problem with timezones?
#
[KevinMarks]
Old servers were on uk time, new ones on UTC. I didn't notice in the winter.
#
GWG
[KevinMarks]: Time is hard
#
[KevinMarks]
I blame Flamstead
#
[KevinMarks]
I had similar problems with longitude - I was comparing in percentage and for false positives for the ones close to 0
#
[KevinMarks]
*Flamsteed
[Murray] joined the channel