#dev 2020-11-26

2020-11-26 UTC
[KevinMarks], [snarfed], geoffo, [tantek], nickodd, KartikPrabhu, [pfefferle], pfefferle, [mapkyca], [Emma_Humphries], schmudde, Salt[m], jamietanna[m], JK_na, aviraldg, jalcine[m], nekr0z, fredcy_, khimaros[m], smacko[m], mayakate[m], jeremycherfas, [jgmac1106] and fauno joined the channel; nickodd left the channel
#
[tantek]
[pfefferle] brought up the use case(s) of only wanting to subscribe to or follow some of the content that someone publishes
#
[tantek]
This is something I’ve noted before as critical social reader UI
#
[tantek]
And a key part of making following person-centric not feed centric
#
aaronpk
sknebel: Zegnat: new snapshot of indieauth ready to publish: https://github.com/indieweb/indieauth/pull/73
[schmarty] joined the channel
#
[pfefferle]
the question was: how can I provide a list of different feeds (articles, notes, replys, …) and maybe how to prioritize or categorize them, that a feed reader can handle them proper…
#
[tantek]
When you follow someone, you should be able to both pick up front what you want to see from them (maybe default to just their default stream), and later be able to mute particular things
#
[tantek]
And none of that should depend on how many gazillion variants of feeds they publish because that’s unsustainable both for publishers (high publisher expectations always fail), and no one actually wants a “feed management per person” UI (except maybe OPML fans and stalkers?)
#
[tantek]
There are likely some lessons to be learned from existing silo UIs related to limiting the stuff you see from those you follow
#
[tantek]
Obviously the biggest “switch” is mute
#
[pfefferle]
because of POSSE, many blogs/sites became very noisy and I often have to search for the correct feed to subscribe, that does not include for example POSSEs…
#
[tantek]
What is mute
#
Loqi
mute is the ability to hide posts in your reader that have specific words, or from particular publishers, optionally with an automatic expiration, after which newer posts are visible again https://indieweb.org/mute
#
[tantek]
That doesn’t make sense about POSSE
#
[tantek]
POSSE just affects where you send copies of your posts for distribution
#
[pfefferle]
yes, but on the other hand, people startet bookmarking, microblogging, … on their sites…
#
[tantek]
No personal site feed “includes POSSEs”
#
[pfefferle]
so yes, it is not the root cause, but it started the “problem” on some sites…
#
aaronpk
Do you mean "people started putting things on their sites beyond just blog posts"?
#
[tantek]
People publishing more should not be framed as a problem!
#
[pfefferle]
[aaronpk] yes
#
[pfefferle]
and they does not always exclude them from their “default” feeds
#
aaronpk
right, the fact that that "breaks" existing models of blog feed readers isn't a problem of their personal websites, it's a problem with the legacy feed reader model
#
[tantek]
Why should their default feeds show anything less than everything they personally author?!?
#
aaronpk
I want my default feed to show specifically chosen things and those things are most of the time not just blog posts
#
[tantek]
Again that kind “they don’t exclude” puts the burden on the wrong person
#
[pfefferle]
because it might force people (like me) with “legacy” feed readers to unsibscribe
#
[tantek]
People should be encouraged to publish (including to feeds) everything they want to publish
#
[tantek]
Certainly not asked or expected to “exclude” anything
#
aaronpk
Exactly, and the reader software should adapt to that
#
[pfefferle]
I agree, but there is a transition phase
#
[tantek]
Silos are already solving this problem so social readers should too
#
[pfefferle]
and in that phase I have a lot of noise in me reader
#
[tantek]
Hence why I linked to /mute
#
[tantek]
Twitter let’s you disable seeing someone’s retweets for example
#
[pfefferle]
I agree with all of that, but what about the meantime? I would love to have some best practices that would work in both worlds
#
[tantek]
100% of this kind of “filtering” use case is the responsibility of the reader, not the publisher
#
[pfefferle]
sure, but it is a henn/egg problem
#
[tantek]
Not at all
#
[tantek]
Lots of solutions don’t require any work on the part of the publisher
#
[tantek]
This is something readers can start improving immediately on their own
#
[pfefferle]
but they didn’t yet
#
aaronpk
The hen/egg problem describes a situation where both sides require work for something to change. In this case it's only the reader side that needs to change
#
Zegnat
They just require potential subscribers to put in the effort to write a reading application? :P I think [pfefferle] is saying that it is valid to say that it should not be the publisher, but at the same time it should not be reader.
#
[tantek]
Sounds like feature requests need to be filed on those readers then
#
[pfefferle]
yes, but I as a reader have a problem then
#
[tantek]
No Zegnat, to file feature requests for things like “mute”
#
Zegnat
And until then they should just not subscribe to my site? I think that is the issue at hand here. What is the transition period
#
[tantek]
[pfefferle] this is part of the larger pattern of legacy readers have stubbornly fallen behind modern social media reading UIs
#
[pfefferle]
but I fear that I might crawl my current readers (that use legacy readers) in the meantime
#
[pfefferle]
so it is a problem for me as a publisher!
#
[pfefferle]
google translate 😉
#
[pfefferle]
“frighten away”?
sp1ff joined the channel
#
[pfefferle]
[Zegnat] yes… at the end it might be a “problem” for both
#
sknebel
I think having options for filtered feeds for such reader applications makes sense, but the additional markup to "categorize" such feeds would also need implementation work on the reader application side, and I wonder if that wouldn't be better invested in filter/mute features
#
[tantek]
Also there is also room for documenting best practices for what to put in your default feed as a publisher
#
[tantek]
Both aaronpk and myself for example are very deliberate (differently) about what goes in our default feeds (which btw is definitely not “everything” 😂)
#
GWG
I need to fix that myself
#
[tantek]
Eg my home page stream shows all my posts including likes and replies, whereas my default atom feed only shows my original posts
#
[tantek]
also due to the “dumbness” of legacy feed readers and their poor handling of overcaching / failing to update, I have a delay before anything I publish makes it into any legacy feed files
#
sknebel
might be worth collecting what readers offer right now filter wise, both traditional ones and the ones from our circles
#
sknebel
(e.g. I don't know of the top of my head what kind of filtering Aperture has either)
#
[tantek]
Definitely. Worth adding such examples to /mute
#
[pfefferle]
hmmm, but then I am (for now) deciding what the reader sees and what not (at least if he subscribe to the “main” feed)
#
sknebel
nothing wrong with having multiple feeds IMHO, just not sure I need more than a human-readable description on them
#
GWG
I would like to markup my main and secondary feeds differently
#
aaronpk
Aperture has some filtering but it's on the channel as a whole not per feed
#
aaronpk
types and keyword allow/block
#
sknebel
oh, right, the only channels thing :D
#
[pfefferle]
[sknebel] yes, perhaps this is indeed the best “for now” solution
#
sknebel
something I just noticed is that e.g. inoreader can filter on categories/tags
#
[pfefferle]
I just thought there might be some discussion about post type discovery
#
sknebel
so maybe it makes sense to add post type as a category to RSS/atom feeds
#
[pfefferle]
I like to support as much as possible to allow a smooth transition and to not frighten away existing readers
#
[pfefferle]
[sknebel] also a good point
#
[pfefferle]
thanks for your input so far
#
sknebel
yeah. for exposing more meta-data about a feed I think some experimentation would be needed what's actually useful
#
sknebel
e.g. maybe offering update frequency or sth is helpful, but I wouldn't start marking that up without having something to show its useful
#
sknebel
this could very well also be helpful for new reader apps. I guess apps could trial it by fetching a bunch of a feed and compiling the information themselves - if it turns out to be helpful marking it up is an optimization
#
sknebel
[pfefferle]: I very much feel the pain of these two worlds too ;)
#
aaronpk
sknebel: Zegnat: thanks for the review! i've updated accordingly
#
aaronpk
new version of indieauth is published! \o/ https://indieauth.spec.indieweb.org/
#
aaronpk
sknebel++ Zegnat++
#
Loqi
Zegnat has 33 karma in this channel over the last year (92 in all channels)
#
Loqi
sknebel has 16 karma in this channel over the last year (47 in all channels)
#
aaronpk
now it's time to go update my clients
#
[tantek]
mute << silo example: Twitter has an option to “not show retweets” from someone you follow (needs screenshot). This is essentially a “mute retweets” feature even though they don’t call it that.
#
Loqi
ok, I added "silo example: Twitter has an option to “not show retweets” from someone you follow (needs screenshot). This is essentially a “mute retweets” feature even though they don’t call it that." to the "See Also" section of /mute https://indieweb.org/wiki/index.php?diff=73673&oldid=71773
#
aaronpk
hrm i think i'm gonna make some breaking changes to my indieauth client library. it's gotten kind of messy
#
vilhalmer
I'm three revisions behind now, I guess I know what I'm working on next
#
aaronpk
Hopefully these changes mean you'll be able to remove some code
#
vilhalmer
deleted code is my favorite kind :D
jeremycherfas, [Raphael_Luckom], geoffo, nolith and reed joined the channel
#
aaronpk
side effect of deleting all my redirect handling code is my client now provides whatever the user entered as the "me" value to the authorization endpoint
#
aaronpk
so if i enter "aaronpk.com" into a client i'm taken to my website with that as the "me" rather than previously the client expanded it to "https://aaronparecki.com/"
#
aaronpk
everything works fine for me because my website is a single user website and was just ignoring that parameter anyway
#
aaronpk
i want to try this on a wordpress site to see what happens
#
aaronpk
worked fine!
#
aaronpk
Version 3.5.1 of the indieauth wordpress plugin
#
aaronpk
i think i'm okay with this
#
aaronpk
so i took out all the code that i had to keep track of the URLs found in the redirect chain, so i'm only doing the optimization of "if the entered URL and profile URL are an exact match then skip verifying the authorization endpoint"
#
GWG
I need to get back to my 1.1 update PR for WordPress
[KevinMarks] joined the channel
#
[KevinMarks]
is tagging a way to do this feed filtering? Or has that now become balkanized by platform?
#
Zegnat
aaronpk: I think we specifically wrote in the updated spec that the me parameter given by the client to the AS might be as provided by the user, so non canonicalised?
#
aaronpk
we did
#
aaronpk
"me - (optional) The URL that the user entered"
#
Zegnat
Of course the fact that we wrote that in the spec does not mean all AS would work with it. But I would not have expected it the break many implementations either. Last we checked, not a lot of implementations were even using the me provided by the client, they just always returned their own hardcoded value
#
aaronpk
i just wanted to check if it might break things in the wild
#
Zegnat
Gotcha
#
aaronpk
cause i'm about to deploy this to a bunch of my clients :)
#
Zegnat
goes to check if his comment was addressed in the push
#
Zegnat
Was on my way home when the push happened :D Nice to see a new snapshot now after my dinner
#
sknebel
" The URL that the user entered" - is "aaronpk.com" an URL? :D
#
aaronpk
actually the client is doing the right thing here
#
aaronpk
it normalized it to "http://aaronpk.com/" first
#
aaronpk
so that's actually what's sent as the "me"
#
sknebel
okay, yes, that 100% is not an issue
#
Loqi
Aaron Parecki
#
aaronpk
alright, new PHP indieauth/client version is released! version 1.0.0 with major breaking changes to the library API
#
Zegnat
https://indieauth.spec.indieweb.org/#authorization-request-p-7 - "either the exact value the user entered, or the value after applying URL Canonicalization."
#
Zegnat
Sending a me at all there is an extension to OAuth and excluded using generic OAuth libs. Which IIRC is why we watered it down a bit, if that is how we could call it
#
aaronpk
now... what project should i update to the new indieauth client first
#
Zegnat
Telegraph? If that one is still expecting form encoded as it used to, it is prime for an update
#
aaronpk
it's on 0.2 of that library!
#
aaronpk
starts there
#
aaronpk
oh lol telegraph just uses indielogin.com
#
aaronpk
i kinda want to make telegraph do the indieauth flow itself unless there's no authorization endpoint, then use indielogin.com only for the fallback provider options
[tantek] joined the channel
#
[tantek]
what is CodePen
#
Loqi
codepen is a silo for hosting HTML, CSS and JavaScript snippets to demonstrate the capabilities of the client-side Web https://indieweb.org/codepen
#
[tantek]
codepen << Criticism: depends on [[AWS]] (and thus vulnerable to their outages) https://twitter.com/AndreJaenisch/status/1331901136245305345
#
@AndreJaenisch
@cassiecodes @jh3yy @smashingmag Imagine CodePen going down. Or Amazon having yet another outage *cough You are stuck. If you have different domains hosting code, the whole system becomes more resilient to failures (the original motivation behind the Internet).
(twitter.com/_/status/1331901136245305345)
#
Loqi
ok, I added "Criticism: depends on [[AWS]] (and thus vulnerable to their outages) https://twitter.com/AndreJaenisch/status/1331901136245305345" to the "See Also" section of /codepen https://indieweb.org/wiki/index.php?diff=73674&oldid=71081
#
[tantek]
code << Brainstorming: host code, with documentation, ideas behind it, versions over time: https://twitter.com/AndreJaenisch/status/1331900348752138240
#
@AndreJaenisch
@cassiecodes @jh3yy @smashingmag Good to know! Look, I like to host code I write on my site (eventually). I would like to document the process of making and my ideas behind it. The only way I can do that in CodePen is through comments (or a section in the HTML). Then, you cannot see the progress over time.
(twitter.com/_/status/1331900348752138240)
#
Loqi
ok, I added "Brainstorming: host code, with documentation, ideas behind it, versions over time: https://twitter.com/AndreJaenisch/status/1331900348752138240" to the "See Also" section of /code https://indieweb.org/wiki/index.php?diff=73675&oldid=56815
#
sknebel
I don't get that argument. Everything is susceptible to outages of its hosting
#
sknebel
it feels pointless to point that out for every single service somewere
#
aaronpk
yeah that's more a criticism of the centralization of hosting services than any particular website
#
sknebel
and of (solely) using external services to host your content, but again thats an universal argument
#
petermolnar
if people in the US were all hosting at home, a provider outage would be ~1/3 of all sites, given the 3 available choices, right?
#
aaronpk
provider outages are still usually regional
#
sknebel
well, provider outages also rarely kill the entire network :D
#
sknebel
"webmention.io: depends on [[Linode]] and thus vulnerable to their outages"
#
aaronpk
SPOA: Single Point of Amazon
reed joined the channel
#
jacky
lmfao
#
sknebel
petermolnar: your home internet doesn't happen to be A&A? :P
[Raphael_Luckom] joined the channel
#
[Raphael_Luckom]
it's more complicated that "aws is centralized" Their outage in US-east messed up my workflow yesterday, but my friends down the street are using us-west and didn't have any issue. Both aws
#
[Raphael_Luckom]
*than
[chrisaldrich] joined the channel
#
petermolnar
sknebel: better, Virgin Media "Business"
#
sknebel
no initial "A" in that :/
#
petermolnar
yeah, but just as reliable
#
aaronpk
attempts to write a malicious authorization server
#
Zegnat
How can an AS be mallicious? Unless you also do the part where you trick people into trusting you and using it...
#
petermolnar
it gives you kerberos tokens to systems you shouldn't have access to?
#
Loqi
[Aaron Parecki] evil-authorization-server.php
#
aaronpk
it accepts any request to validate authorization codes and always returns the same user URL
#
Zegnat
Oh, yeah, so, there might be one like that currently in production already ....... :P
#
aaronpk
i'm trying to test the new requirement of verifying the authorizatio nserver
#
Zegnat
I think Sink works a bit like that. But because it is mainly internal and for debugging purposes anyway, I do not care
#
Zegnat
My new AS to replace Selfauth for me does just straight up have a text field where you can tell it what to put in the me. So that one could be used to check implementations as well
#
Zegnat
aaronpk: fill in any URL and profile information, is this evil? ;) https://i.imgur.com/OmAdhzD.png
#
aaronpk
you might want to add a note there that says you should only fill in a URL there that links to this as its authorization endpoint
#
Zegnat
It still requires a password, so nobody but me will actually be able to use it. But I liked the idea of being able to have the URL be an open text field.
#
aaronpk
woohoo telegraph is now doing the indieauth flow itself and only uses indielogin.com if there's no authoriziation server!
#
Loqi
😄
#
[tantek]
mute << silo example: Instagram: on the iOS app when viewing someone’s profile that you’re following, you can tap on the [ Following v ] button which reveals a slide up menu from the bottom of the screen which has a "Mute >" item, tapping it slides left two sliders (off by default) for "Posts" and "Stories", which you can set independently. (screenshots needed)
#
Loqi
ok, I added "silo example: Instagram: on the iOS app when viewing someone’s profile that you’re following, you can tap on the [ Following v ] button which reveals a slide up menu from the bottom of the screen which has a "Mute >" item, tapping it slides left two sliders (off by default) for "Posts" and "Stories", which you can set independently. (screenshots needed)" to the "See Also" section of /mute https://indieweb.org/wiki/index.php?diff=73678&oldid=73673
#
Zegnat
Interesting for those of us with multiple domains around. If you do not use it for email, you might want to set it up so the domain communicate that about itself: https://www.gov.uk/guidance/protect-domains-that-dont-send-email
#
Zegnat
email << [https://www.gov.uk/guidance/protect-domains-that-dont-send-email UK Government Digital Services article about communicating that a domain is never used for email]
#
Loqi
ok, I added "[https://www.gov.uk/guidance/protect-domains-that-dont-send-email UK Government Digital Services article about communicating that a domain is never used for email]" to the "See Also" section of /email https://indieweb.org/wiki/index.php?diff=73680&oldid=73104
#
aaronpk
now indielogin.com is doing PKCE too!
#
Loqi
aaronpk has 69 karma in this channel over the last year (229 in all channels)
#
[Raphael_Luckom]
wow [Zegnat] that's a cool find
#
Zegnat
via https://dotat.at/:/ - a really nice link blog I found out about the other day
#
aaronpk
lol that url
#
aaronpk
dot at dot at slash colon slash
#
Zegnat
Straight out of a Mcsweeney article, feels like ;) But a good one none the less, lots of nerdy and interesting links into my reader
#
[tantek]
alright for those of you interested in the feed reader filtering conversation, I added a few more mute feature Silo examples for you take a look at and consider in terms of UX: https://indieweb.org/mute#Silo_Examples (note that none of those require the publisher to do anything special)
#
[tantek]
I'm pretty convinced that's the general flow that will work for lots more people:
#
[tantek]
1 follow a person (for whatever reasons) to see their posts in your reader
#
[tantek]
2 mute posts from that you don't care about or feel like are noise
#
[tantek]
much better than trying to a priori judge from a bunch of random feeds with random names according to what the publisher might have thought when they created them
#
[tantek]
(if the publisher even bothered to create special / separate feeds, which 99%+ don't bother with, and maybe some other small % have automatic "tag" or "Category" feeds that they don't know about)
#
aaronpk
incremental++
#
Loqi
incremental has 1 karma over the last year
geoffo and KartikPrabhu joined the channel
#
sknebel
if someone goes through the effort of providing selective feeds for topics replicating that with filters is really tricky I've found, especially when it comes to microblogging/tweets/... and I've tried doing that a bunch
#
sknebel
(but that's a different problem from just post-types)
#
[tantek]
it's a lot of work to write/author/publish in a way that automatically slots into those selective feeds, so very few will bother
#
[tantek]
people can barely be bothered to use hashtags
#
aaronpk
Both options can exist in parallel
#
[tantek]
that's the closest you're going to get to broadly adopted selective feeds (hashtag-based feeds)
#
[Raphael_Luckom]
I looked at the feed reader page and the social reader page, but I couldn't get a sense of 1) whether there are clear favorites among the readers 2) whether there's much activity in making new readers.
#
[Raphael_Luckom]
Not saying those belong on the wiki (would probably get stale if it was) but I'm having a hard time following the conversation.
#
aaronpk
for example someone can subscribe to my curated feeds or subscribe to /all and filter themselves
#
[tantek]
overfocusing on an option that only a handful will do is replicating the elitism of the old RSS/Atom ecosystem
#
[tantek]
so sure, both *can* exist, but don't bother evangelizing the few/elite option as if it will solve the problem for most people
#
[tantek]
like yes, I myself have an "articles-only feed" (originally built for Planet Mozilla use-case), and have on my to-do to make a "photos-only page" (along with feed for that), but I'm not going to suggest anyone else bother doing so
#
[tantek]
[Raphael_Luckom] there's "legacy readers" which are literally read-only passive readers, old school sidefiles etc., and then there are "social readers", which as the term "social" implies, are two-way *by default* (assuming you sign-in with a Micropub enabled personal site). concentrate your effort on the latter as they are actually evolving their UI to displace social media usage etc. the former are kind of like email UIs except you can't
#
[tantek]
actually kind of wonder why no one used that analogy before: feed readers, kind of like email clients except there's no reply button
#
[Raphael_Luckom]
thanks!
#
sknebel
fairly sure I've heard that one before. probably from you I'd guess :D
#
[tantek]
lol I'm pretty sure I haven't said it before. would have to do a search to see if I can find a variant of someone else saying it
#
sknebel
I've seriously been tempted to try rig some classification code from a spam filter or something to categorize posts, but on tweets even that fails
#
sknebel
(don't get me started on people tweeting screenshots of tweets :D)
#
[tantek]
you might be able to determine with an image analyzer that "this thing is a screenshot" in contrast to being a photo
#
[tantek]
that should be fairly reliable, and then mute the screenshots 😛
#
[tantek]
what is NIPSA
#
Loqi
NIPSA is an acronym for Not In Public Site Areas, and an admin feature of Flickr that allows their support staff to mark an account such that posts from it will not be shown in search results and other similar public views of posts https://indieweb.org/NIPSA
#
[tantek]
^ back in the day, people got NIPSA's for posting only or mostly screenshots to Flickr
#
[tantek]
NIPSA'd*
#
[tantek]
so there's some prior art / precedence for that
#
sknebel
yeah. but really at some point the answer is probably going to be "don't use twitter" or "only follow people that don't tweet much about things that annoy me" instead of "writing more code". (well, maybe my attitude to coding in my free time will improve again at some point ;))
#
sknebel
but yes, that's a valid idea for a filter. detect text in images
#
aaronpk
updates his website to reflect some more indieauth changes
#
aaronpk
that wasn't so bad
#
sknebel
update as in code, or as in text?
geoffo joined the channel
#
aaronpk
mainly response_type=code always and supporting the new profile scopes
#
aaronpk
most of it was just making my consent screen look right
#
lahacker
anyone know of a plain old markdown textarea micropub editor in the wild?
#
aaronpk
iA Writer?
#
lahacker
yeah i guess i found my way to the micropub clients section
#
lahacker
i'm on linux
#
lahacker
i've been down this path before
#
sebbu
i wonder how hard it'ld be to make a wiki plugin for micropub, and allow to edit pages (articles?) from it
#
sebbu
(and first, you'ld need to know which markdown flavor it uses, with which extensions)
#
sknebel
sebbu: on the mediawiki API that wouldn't be too hard if you are just thinking editing the native wiki markup (converting mediawiki markup back and forth to other formats is ... "interesting")
#
GWG
aaronpk: Got a screenshot of your new screen?
#
lahacker
i got my own markdown implementation to pipe through pandoc to mediawiki for an automated POSSE to indieweb wiki.. works for basic pages, clobbers complicated large pages; zegnat recommended i look into section editing which sounded promising
#
sebbu
skalnik, the issue is that i'm using dokuwiki
#
lahacker
just watched https://www.youtube.com/watch?v=3yydHu7u_7s because their own site doesn't have a demo..
#
sebbu
which i quite like, but there doesn't seems to be any microformats/indieweb stuff for it (apart from a calendar and geoposition thing)
#
sebbu
there's already an API stuff
#
sebbu
even using a(n apprently known) standard
#
lahacker
aaronpk do you write your articles with Quill?
#
aaronpk
GWG: good idea... one second
#
aaronpk
lahacker: i usually do the first draft with Quill, bringing in photos and doing basic formatting. i post as a draft to my website and then do some final tweaks there
#
lahacker
ah, that makes a ton of sense
#
lahacker
keep it simple at first
#
lahacker
for all the reasons
#
lahacker
thnx
[KevinMarks] joined the channel
#
[KevinMarks]
Feed reader as email with no reply button is like the definition of blogging as email with no "to" field.
#
aaronpk
wrapped up all the logic of finding the user's auth endpoint and falling back to indielogin.com into a library
#
sknebel
I was gonna suggest that :D
#
sknebel
makes sense to have extra
#
sknebel
(I just didn't want go "while you are doing all this work, mind doing even more?")
#
aaronpk
well i built it into telegraph, then went to webmention.rocks and was like wait a second
#
sknebel
ah, because the api is basically the same?
#
aaronpk
exactly the same
#
sknebel
aaronpk++
#
Loqi
aaronpk has 70 karma in this channel over the last year (230 in all channels)
#
aaronpk
removes some more code from webmention.rocks