[KevinMarks]1, [jacky], [tantek] and [manton] joined the channel
#Soniwe're glad we didn't use headers for fedilinks heh
#Sonisure it requires more webserver setup which isn't always viable but eh
#[tantek][snarfed] is there an AP or other method in Mastodon to indicate pinned posts so they show up when someone views your profile on their own instance?
#Loqiπ pin or pinning is a feature that allows the author to choose a post to put at the top of their profile (or homepage) which is then called a pinned or sticky post https://indieweb.org/pinned
#[snarfed][tantek] I haven't looked into pinned posts at all. afaik they're not explicitly in AS2/AP, but there might be something in the JSON anyway, I can look
#[tantek]This sounds worthy of documenting on the /pinned page and maybe some publishing brainstorming.
#[tantek]No current indieweb pinned posts have any special markup AFAIK (which makes sense since we couldn't come up with a consuming code use-case)
#[tantek]One detail that seems worthy of consideration is that some indieweb pinned posts are only pinned in the context of a specific stream or feed
#[tantek]Like how aaronpk has pinned posts for tag pages. Those pinned posts are only pinned on those tag pages, and not on the rest of his site
#[tantek]First thought is perhaps a u-pinned-on property inside h-entry that's a URL of the page the post should be pinned on if/when displayed on that page.
#[tantek]Eg you could have u-pinned-on "/" for your home page, or a URL to a specific tag aggregation page on your site
#[tantek]That way BF could only translate the u-pinned-on "/" posts to Mastodon profile pinned posts
#LoqiIt looks like we don't have a page for "stick posts" yet. Would you like to create it? (Or just say "stick posts is ____", a sentence describing the term)
#LoqiIt looks like we don't have a page for "sticky posts" yet. Would you like to create it? (Or just say "sticky posts is ____", a sentence describing the term)
#Loqiπ pin or pinning is a feature that allows the author to choose a post to put at the top of their profile (or homepage) which is then called a pinned or sticky post https://indieweb.org/sticky
#[pfefferle]There is also a collection to have featured (hash)tags, but it is not really well documented and my first try produced a lot of 500 errors on the Mastodon UI π
#[snarfed]definitely poetic. yeah AP and IndieWeb are both combinations of push-style message passing and pull-style data fetching, and both center domains and SSL in their trust models
#[snarfed]one alternative on the rise is efficient data synchronization algorithms: git, blockchain, ATProto, etc
#[snarfed](which tend to have more key-centric trust models)
#Sonianyway personally we don't trust so-called "trustless" systems (blockchain etc) to behave properly in the face of poisoning.
#[tantek]pin << Software Support: [[Mastodon]] has pinned posts on [[user profile]]s that they support communicating and displaying across instances by extending the [[ActivityPub]] "actor" object with a "featured" property that has a URL to a collection of posts which have been pinned by that actor (author) to their profile. https://docs.joinmastodon.org/spec/activitypub/#featured
#[snarfed]security is hard, everything has vulnerabilities, nothing is perfect. it's pretty rare that any single type of vulnerability should disqualify an entire class of systems/solutions
#[snarfed](eg spectre/meltdown happened, and still exist, but we couldn't realistically throw away all of CISC or speculative execution)
#[tantek]exactly [snarfed]. if you're thinking about security in any absolute terms (secure/insecure), instead of measuring/estimating time, effort, layers (defense in depth) or other resources necessary (barriers being raised) to overcome, you're thinking about security in a simplistic and likely very incorrect way.
#[tantek][snarfed] curious what you think of the u-pinned-of brainstorm (as noted last night in chat: https://chat.indieweb.org/dev/2023-12-29#t1703814447760500 ), and making "pinning" a property of individual posts, rather than a property of a h-feed or an h-card for that matter (the apparent path that Mastodon took with extending "actor").
#[tantek]they key reason for the different approach (and a URL property rather than a boolean) is posts that want to be pinned (or not) differently in different contexts (homepage, tag feed pages, perhaps archive pages,e tc.)
#Loqi[preview] [[tantek]] First thought is perhaps a u-pinned-on property inside h-entry that's a URL of the page the post should be pinned on if/when displayed on that page.
#[tantek]pretty sure aaronpk's examples (and all the rest on /pin#IndieWeb_Examples) could be represented (published) that way, so the larger question is would that work reasonably for consuming code, or be too hard to make work
#[snarfed]I get the idea, but we need a way to discover a given feed's pinned post from the feed itself too, right?
#[snarfed]otherwise you have to crawl all posts on a site to determine which posts are pinned to a given feed?
#Sonimisplaced trust (trusting the packet headers instead of the DNS server, for example) is a vulnerability
#Sonieven that doesn't prevent poisoning (what prevents the actual server from sending different responses to different resolvers?)
#[tantek][snarfed] you say "discover" I hear link rel=pinned from a home page or tag feed page to the individual posts
Triptych joined the channel
#[tantek]Or, since BF works via webmention from individual post permalinks, u-pinned-of on that post permalink should be sufficient to do direct discovery
#[tantek]Under what BF Auser flow would you need to "crawl all the posts on a site"?
#[snarfed](BF would only need to crawl all posts if it needed to discover a given feed/card's pinned posts, and that was only available per post. I definitely don't actually want to do that)
#gRegorinteresting question, would we expect a pinned post on a feed to be pinned in a reader?
#[snarfed]gRegor how would BF consume pinned-of on an individual post?
#[snarfed]it would definitely need something per feed, but I don't see a use case per post
#[snarfed](and I think single vs multiple pinned posts per feed is separate, that's doable either way)
#gRegorI don't know the AP side of it so maybe I'm off, but I publish a post with u-pinned-of, send a wm to BF, BF uses that property to set the pinned flag when delivering the post
#[snarfed]but again, when BF sees a new site, if pinned-of was per post, BF would have to crawl every post on the site to correctly know which posts are pinned where
#[snarfed]arguably pinning is just as much a property of the feed as of the post
#gRegorhuh, yeah, but I don't think of pinned posts as part of that
#[snarfed]sure. apart from mental model, maybe the more important thing is, I still don't think I've heard an actual external consuming use case for pinned on posts instead of feeds
#[tantek][snarfed] gRegor sounds like y'all are figuring it out in ways that make sense
#gRegor[snarfed], yeah, I think we're agreeing :) I guess I'm confused though, is BF going to change so when someone signs up it federates their last X posts, and will include pinned posts if they exist?
#[tantek]yes Social Readers could either ignore the pinned aspect/property of posts, OR, optionally, if a Reader implements a "profile" view (which frankly I think Readers should, since we should be following people, not feeds, in the UI/UX), then it could *optionally* display the pinned posts as part of that profile view
#[tantek][snarfed] there is never a reason for BF to crawl to take care of pinned posts with a u-pinned-on property. Two use-cases
#gRegorneeds to re-read, might have confused myself with `u-pinned-on`
#[tantek]1 already on BF, the current (normal) user flow is, publish a post, webmention Bridgy from that post permalink. add to this: BF checks for u-pinned-on property on that post with value of the homepage of that user. if that exists, then BF adds it to the profile of that user and sends a profile update to Mastodon followers. if not, then BF checks the profile of that user to see if that post was pinned for that user previously, and if so,
#[tantek]removes it from the "featured" collection (from an AP/Masto perspective), and also sends a profile update to Mastodon followers.
#[snarfed]gRegor we're just brainstorming, I don't have any concrete BF changes planned yet
#[tantek]note that nowhere in that flow is there any need for BF to crawl or otherwise parse the user's h-feed etc.
#[tantek]2 new user on BF, sets up their profile as is their current (normal) user flow, and shows zero pinned posts. this is ok, this is expected/current behavior. if the user wants to then show/pin posts on their personal site and propagate them to Mastodon profile views, they opt-in webmention BridgyFed directly from those pinned posts as in (1)
#[tantek]I believe this is the simplest (both for publisher and consuming code) way to implement this with minimal markup and minimal code additions
#[snarfed]sure, that works. it does require additional work on those users' parts, which I expect many (most?) of them won't know to do
#[snarfed]vs, if pinned is a property of h-feed and/or h-card, BF can consume that automatically
#[tantek]if you are using BF, you already have to do "additional work" of linking to fed.bridgy from your post permalink(s) so that the webmention works. adding another u-pinned-on link is basically the same kind of step, except you only do it on pinned posts
#[snarfed]the effort I was thinking of is the additional webmentions for existing, already-published posts
#[tantek]that's already true today, if you sign up for BF, and want to federate existing, already-published posts
#[tantek]right, so same problem/opportunity then. until BF is auto-federating everything in your h-feed when you sign-up, there is no need to worry about auto-federating already pinned posts on your home page when you sign-up
#[tantek]in fact it would be weird (surprising to users) if BF did one of those but not the other
#[snarfed]it sounds like this comes down to the difference of mental model. do you see pinned posts as a) integral to a user's profile/feed, and should always appear with that profile? or b) somewhat optional, visible if eg the user has "pushed" them via wm, or if they've been federated to your instance by another trigger
#[snarfed]my mental model is pretty firmly a. but I get that for you and gRegor it's more like b
#LoqigRegor has 21 karma in this channel over the last year (88 in all channels)
#[tantek][snarfed] I would argue that (b), that is, the "only subsequent actions/posts matter" mindset is exactly how ActivityPub is designed, with zero consideration for history, archives, etc.
#[tantek]thus I would argue all AP-based UIs/UX, like Mastodon, are also of mindset (b)
#[snarfed]yeah but that's arguably more due to technical limitations than user expectations or good product design
#[tantek]even if that's not how we think of "classic" feeds, blogs etc., where the presumption is you show up, or subscribe to a feed, and you immediately see old/recent stuff
#[snarfed]previous centralized networks obviously _don't_ behave like that
#[snarfed]which the vast majority of people are coming from
#[tantek]it's not "due to technical limitations" it's literally the philosophical basis of ActivityPub. it's by design
#[snarfed]sure, I'm happy to give you that. doesn't change the point
#[tantek]which was previously ActivityPump, PumpIO etc., all about pumping new things through a system, not backfilling
#[tantek]another piece of evidence: the fact that identity migration is a thing, and folks got working first, on Mastodon, and have not yet figured out post migration (the past)
#[tantek]this philosophy is pervasive in the Masto/AP-sphere (hesitate to call it "fediverse" because that seems like a broader term at this point)
#[snarfed]we're agreeing violently. yes that's the status quo; doesn't mean it's the best or least surprising design. it's also not universal, eg it's not necessarily the web philosophy, and BF is multi-protocol
#[tantek]snarfed, if you want a happy medium/compromise that involves zero additional crawling, BF could check for u-pinned-on properties only directly on posts in the user's homepage h-feed
#[snarfed]in any case, I still see a meaningful difference in mental models. I understand that you all expect and are comfortable with b. I guess I'm still not yet, it feels like an unpleasant surprise. pinned posts in my mental model (a) are just as much a part of the profile as they are standalone posts
#[tantek]because presumably, if a user has pinned posts on their homepage, those posts are also in their homepage h-feed, and thus should include the explicit u-pinned-on markup.
#[snarfed]yes, it's an ongoing brainstorm, we're evolving ideas as we go π
#[snarfed]reading pinned-on from h-entries inside an h-feed works
#[tantek]ok that's enough of a go ahead that I will document the brainstorm on the /pin page then
#[snarfed]it was largely rhetorical anyway, I don't really expect to have BF crawl any site's entire history in general
#[snarfed]yeah the next meaningful step is to have someone actually publish this in the wild
#[tantek]including the brainstorm "how to markup" and then I'll bug gRegor and aaronpk to consider experimenting with publishing the markup, since I know gRegor is a BF user, and aaronpk can then decide if he wants to implement that Masto AP "featured" collection on "actor" himself
#[tantek]next meaningful step is documenting the brainstorm on the wiki so we have something we can link to, to make sure we are talking about the same thing!
#[snarfed]it is still interesting that historical precedent of at least Mastodon and iirc Twitter, and I expect others, is to put this on the profile, not the posts. we'd be diverging from that
#[tantek]yes I already noted that because we have more/broader IndieWeb use-cases for pinning than the simplistic Maso/Twitter use-case of "pin means on your profile"
#[tantek]you can blame aaronpk for coming up with pinning posts on his tags feed pages π