Feature: Alternate Source Selector
Implementation Difficulty: Easy
Live Example: https://tesseract.dubvee.org/c/news@lemmy.world (The “link” icon to the left of the post’s URL.)
Rationale: I’m quite annoyed with people whining “pAyWallED!” in news post comments, and this is Tesseract’s way of addressing that (for users of that UI, anyway)
Description:
On posts with links (that aren’t images, audio, video, Youtube, or other media), a dropdown menu is added with links to alternate sources.
Each one will search for the URL in the selected archive provider (currently Ghost Archive, Archive Today, 12ft.io) or Ground News (new in 1.4.5).
Lemmy-UI kind of does this, but completely ass-backwards (only during post creation to set the post link; I’ll spare you my spiel about how that’s a horrible vector for misinformation).
On Youtube-like posts (YT, Invidious, or Piped), the options are changed to go to the canonical YT link, your preferred Invidious instance, or your preferred Piped instance, but that’s just a secondary (but still nice) feature of that component.
Would love to see something like this more widely adopted and am more than happy to answer any implementation questions.
Cool! While I’m not sure how messy this would be, would it be possible to let the user add/remove options?
I’m more proposing the general idea to be adopted by other apps; just using my implementation as an example.
Add? Definitely (and fairly easily). Remove? Not so much (at least in my implementation). Those are the only 3 I know of right now that work reliably. If there are ever more than 3, I would probably move to a dynamic method where you’d just enable certain ones from a list (kind of like Searx-NG if you’re familiar with that). A user adding a custom one would work like adding a search provider to a browser (e.g. https://archiver.example.com/?url=%s)
In practice, I tend to need all 3 depending on the source URL in the post. Some don’t have a copy of the target or don’t render certain sources as well as others, so having a few to choose from is often needed. Allowing user-custom ones is a great idea though.
I sort-of do that already with suggestions for the built-in Invidious/Piped instances list, but ask that they be submitted via Github or the Tesseract Lemmy community (users can define their own Inv/Piped instances as of a few versions ago). Dunno if I’d want the link to that in the selector menu, but could easily link it from the settings panel where you’d hypothetically edit the archive sources.
Thanks for the feedback; I’ll probably work on adding support to at least add custom archive services in one of the next releases (and probably eventually work toward a fully customizable version).
That all sounds good to me, thanks for sharing the idea! Looking forward to seeing more implementations of this