isaacschemm: A cartoon of myself as a snail (snail8)
[personal profile] isaacschemm

Pandacap: Part 5 - ActivityPub

A          screenshot of part of Pandacap's favorites page, showing          gallery-style thumbnails

If I'm thinking about how often I use it, the ActivityPub integration in Pandacap really isn't the most relevant part of the application to me on a regular basis (that would be the inbox, and its integration with DeviantArt and Bluesky). It was, however, my inspiration for building Pandacap in the first place. There were a few reasons I felt this was important:

  • I believe decentralized social media will continue to be useful, regardless of whether it achieves mainstream success - maybe not to replace big social media platforms, but for its own distinct merits. To hopefully facilitate the adoption of such platforms, I wanted to ensure that the ability to view and reply to my work would be available there, and I wanted to know I could follow and reply to their work as well.
  • The ActivityPub server-to-server protocol - though it may be somewhat broad and vague - was within my ability to implement (it only uses HTTP requests and is agnostic to the underlying data model), which gives me a feeling of control over my interaction with the fediverse.
  • Joining an existing server would make me nervous about conforming to unwritten community norms, while using my own Mastodon or Pixelfed instance would increase the cost and saddle me with a tech stack I'm not familiar with. (Pandacap can run on a free web app plan and a database billed only by usage.)
Read more... )
isaacschemm: A cartoon of myself as a snail (snail8)
[personal profile] isaacschemm

Pandacap: Part 4 - Inbox

Although it's not public-facing, the Inbox is perhaps the most useful part of the Pandacap web app. As a descendant of Artwork Inbox (Pandacap is built on EF Core + Cosmos DB in a very similar manner), the Pandacap inbox pulls in new posts from ActivityPub, Bluesky, DeviantArt, RSS/Atom, and Weasyl, and allows the logged-in user (me) to view and dismiss them, kind of like an email inbox.

Posts from users and feeds you follow are split between four different inboxes:

  • Image posts: DeviantArt and Weasyl art submissions, and any ActivityPub, Bluesky, and RSS/Atom posts that have an image attached. (Unlike the Pandacap gallery, these aren't called "artwork" posts, because Pandacap can't tell whether an image post is "art" or not.)
  • Text posts: DeviantArt journal entries and status updates, and any ActivityPub, Bluesky, and RSS/Atom posts that don't have an image.
  • Shares: If an ActivityPub and Bluesky post is showing up in your feed because it was shared / reposted / boosted by the user you follow, it will be sent here, instead of to the image post or text post sections. Pandacap will group shared posts by the user who shared them, not by the user who originally posted them.
  • Podcasts: RSS/Atom feeds that have an attached audio file will be sent here.

The user experience here is heavily inspired by the Fur Affinity and Weasyl inboxes: posts are shown roughly in chronological order; image posts have thumbnails and text posts only have a title; you have to click through to see the description / body of the post; checkboxes are used to remove posts from your inbox; and a "next page" button is used instead of a dynamic loading of new content.

Read more... )

Snail#

A programming blog where the gimmick is that I pretend to be a snail.

Syndicate

RSS Atom

Expand Cut Tags

No cut tags

Style Credit

Page generated Aug. 6th, 2025 07:50 pm
Powered by Dreamwidth Studios