FeedOn is a Mastodon to RSS bridge. While Mastodon publishes RSS feeds for individual users, it does not convert timelines (such as Home, Local, or custom lists) into unified RSS feeds. FeedOn fills this gap by authenticating with your Mastodon instance and generating a set of protected RSS feeds, one for each of your timelines.
I wrote an introductory blog post here that explains more of the motivation behind building this.
Converting timelines to RSS feeds was part one of this project. After getting this initial version up-and-running, I noticed that having a firehose of timelines in my RSS reader was overwhelming. I found this to be the case even after creating a highly curated list of people whose toots I really thought I wanted to read.
This feeling of being overwhelmed brought me to a theoretical phase two: creating an 👻 algorithmically generated digest 👻 of toots.
“Isn’t the lack of algorithms the point of Mastodon?” Yes, I too thought and think this, but my curiosity has gotten the best of me and I’m interested in exploring this idea anyways. The question at hand is as follows:
Is it possible to algorithmically rank discussions in a way that is helpful rather than harmful?
The answer could very well be no! There’s only one way to find out, so bear with me here as I try to sketch out what this/these algorithm(s)1 could look like:
Principles behind FeedOn’s theoretical algorithm(s)
The algorithm(s) should only be used to generate periodic digests.
Think daily or weekly outputs to an RSS feed or email while explicitly not supporting on-demand generation. The latter is is what creates attention sinks- something I believe contributes to the toxicity of corporate social networks.
The algorithm(s) should be transparent.
The algorithm should have some indication of why a toot has been selected for the digest. Is it because it has a high number of likes? Or is it because there have been an uptick in replies from people you follow? This information should be surfaced inline.
Additionally, there should be some way of gathering information about what hasn’t made it into the digests. Perhaps a section within the FeedOn interface that lists out statistics about how often accounts show up in your digests.
The algorithm(s) should be an agent of leveling the playing field, not skewing it to a particular group’s benefit.
Advocates for chronological timelines will claim that they put everybody on a level playing field. This is likely true compared to the algorithmic timelines of corporate social media feeds, but I believe we can do better. Chronological timelines favor those who post frequently at the expense of those who post infrequently. FeedOn’s algorithm(s) should attempt to level this playing field, emphasizing quality2 over quantity.
- This blog post justifies why you might want an algorithm.
- This ticket on Mastodon’s GitHub repository has a lot of discussion about natively supporting some kind of ranking algorithm.
- fedialgo appears to be an in-development algorithmic feed.
- Ray recommends looking into how Solr-based recommendation engines work (see this deck), though I think ML-based rec engines are too complex/opaque for the politics I’m looking to embody with this project.
- mastodon_digest looks very similar to what I’m trying to accomplish here.
- Fediview - Seems to be very close to what I’m thinking, though you have to pay for the email digest and it doesn’t appear to support lists. I also tried using it once and the resulting digest had a single post from the author (who I had recently followed).
I’m using an optional plural here because I don’t want to exclude the possibility of creating multiple algorithms that people could choose from based on their preferences. ↩
The definition of quality is very important here, hence why transparency is also a fundamental principle of this theoretical algorithm. ↩