Hey all, I just found out about Red Dwarf by Whey.Party, and all the sudden I am liking ATProtocol a lot more.
Red Dwarf is a client that uses Constellation a self-hosted JSON API to an atproto-wide index of PDS record back-links. Basically Constellation scrapes all the links off of the ATProtocol firehose and creates a queriable index, and Red Dwarf uses it to pull content directly from users PDS, eliminating the need to go through AppView Servers (like bsky.social) to follow and maintain access to user activity.
What does this mean for the Fediverse? Well for one thing Constellation creates a pathway to mirror BlueSky content without interacting with AppViews, and includes not only posts but also comments and other user interactions. Is this how BridgyFed already works? I don’t know but either way it seems great, as it means that bsky.social admins can’t block Fediverse access to BlueSky user content, even if a user is banned, so long as their PDS is hosted elsewhere.
This also makes me wonder whether using a BlueSky PDS as a sort of “warm storage” backup for Fediverse content using a bridge the other way might not make sense for those users (like myself) who have been a bit critical about the lack of account portability/control while also critical of the AppView cost based de-facto centralization of BlueSky. Is this the freaky social horcrux I’ve been looking for?
Anyway, very cool and already functional client built on shiny new social index, Red Dwarf is worth a gander.
I was recently playing around with Constellation and - partly as a statement but mostly as a personal challenge - used it to build ATProto notifications support into my ActivityPub enabled web app (writeup here, I’d post from that but I think lemmy.world blocks it since I sent it too many invalid activities or whatever).
I already had the ability to follow someone on atproto by resolving their handle and hitting their PDS directly (without authentication - that’s all public), and I also turned Bridgy Fed on. With Constellation, I was able to (a) find the bridged atproto version of each ActivityPub post I made, and (b) find any likes, replies, or reposts related to each post.
When a Bluesky post hits my inbox and I click on it, my app checks to see if that user is also using Bridgy Fed, and if they are, it shows me their post over ActivityPub instead, so I can like or reply to it.
More broadly, it might be interesting if someone made an app that used a PDS as its primary datastore, but also had ActivityPub S2S support built into it. I know wafrn can do both protocols, but I think in its case it mirrors posts to a separate PDS kind of like you’re describing.
One other question, how does PandaCap handle PeerTube posts? Same as image posts?
PandaCap is freaking awesome! Pretty much just what I had in mind when I posted previously about a single client to act as inbox for all ActivityPub and RSS/Atom content, only I had imagined it as a browser plugin or full on custom browser so that the content from the inbox would be opened in a client of the user’s preference based on post type.
Really awesome project! including DeviantArt etc is really great for the art angle.
The only feature I would miss here vs. other clients is the search function as you mention. I assume that is omitted because it is a lot of work to implement. Have you looked at extending your project with someone else’s code for that function? I know sometimes that is more trouble than help, but it would really take the project to that next level of “completely full featured client”.
I have looked at wafrn, definitely a cool project and I like that it handles both protocols, but it has some limitations that hold me back from switching to it as my main client. I didn’t know it was using a PDS in that way, do you mean it uses a server side PDS to mirror ATProto content or is it PDS per user?
I’m not exactly sure how it works in wafrn - I haven’t looked into it myself - but last I heard, they were using blacksky’s PDS (https://lemmy.dbzer0.com/post/51892713) which I’m guessing means all their users (at least the ones who’ve turned atproto on) get mirrored to that particular PDS.
The search functionality missing from Pandacap is in some ways intentional; I don’t personally like searching for anything in the fediverse or in Bluesky, because I run into a lot of text posts, photos, screenshots or whatever that I don’t have context for and that I haven’t mentally prepared myself to see. But there’s also the technical issue that right now, Pandacap doesn’t index incoming posts in one place; they either go to the inbox, go to notifications, or get ignored. If search were to be implemented, perhaps it could take the form of an external ActivityPub instance that indexes posts, and Pandacap would just hit its API or something.
The other issues with Pandacap are that it’s single-user, and that it’s on the Microsoft stack, so no one can really use it unless they’re willing to sign up for Azure and know their way around it enough to get it deployed. But that keeps overheads down for me compared to running a VPS.
I’ve never tried loading a PeerTube post in Pandacap but I wonder if it would try (and fail) to display the video in an image tag, or if it would just show up as a text post.