Writing about open & equitable product development

Feed Overload

The all too common firehose stream has never worked for me. It’s undoubtedly a big reason why I never got properly into Twitter.

I generally don’t go to noisy congregation spots like bars because I find them overwhelming. Too many people talking loudly at each other all at once gives me sensory overload.

(Back when I'd reluctantly go to these places to accommodate my friends' preferences for social arenas, I was well known for my irish exit)

Mastodon – the mainstream ActivityPub implementation – is the same way; algorithmic or chronological sorting makes no difference as long as everyone's speech is mashed together into one mega-aggregate stream of no structure.

I can handle an email inbox, a bulletin-board or an RSS reader, because these feeds usually serve up somewhere between 1-10 updates per day, instead of 100s.

During my few stints of trying to make Twitter work for me, I've encountered multiple people that I wanted to follow, but ultimately didn't because I could tell their feed was too noisy. 'Too noisy' usually meant one of two things: (1) too many posts per day, or (2) posting about a wide assortment of topics – I only wanna keep up with 20%.

That's a shame though, because if Twitter had accommodated better sorting controls, both from the writer's content-push (e.g. require hashtag categorization) and the reader's content-pull (follow a poster's hashtags), I'd follow a lot more people. Ditto for Mastodon et.al.

The existing microblog paradigm seems to work best for two types of people:

For the ActivityPub protocol to become as widespread as email (protocol by specification) and chat (protocol by convention, for now), it needs to provide real utility to the average internet user.

Noisy dinner party

Mastodon is an incremental change, taking the microblog-app archetype from centralized to federated. It’s still the exact same UX paradigm, which is profoundly limited as a tool for sense-making. It’s gonna take a while for the techie community of 10 million to iterate and innovate further until we’ve arrived at the true paradigm shift of a brand new interface for the ActivityPub protocol that appeals to the majority of netizens.

In the blogging paradigm, I could (and did) feasibly follow 500 different blogs. Writing blog posts take time, so if each blogger put out a new post every three weeks that'd be about 20-25 new posts per day. Among those publications there'd still be an abundance of content that didn't always pique my interest, or just a skim-read would suffice to keep up. On average I'd read around 2-5 full articles per day.

The experience was remarkably similar to that of reading a newspaper:

Microblogging on the other hand is like a noisy dinner party that never stops. Its discursive content is non-linear, unstructured and extremely abundant. Following 500 microbloggers who are posting on average several times per day renders my feed completely untenable without the help of a sorting mechanism.

Twitter solves this problem with opaque algorithms. Mastodon opts for chronological sorting, which is earnestly transparent, but punishes curiosity; the more people I follow, the more overwhelming my inbound feed becomes.

Knowledge cultivation vs dissemination

The fediverse of microbloggers' primary objective isn't knowledge cultivation, but rather social bonding and sentiment aggregation.

What's new/trending?
What are the most commonly held beliefs?
Who shares the same opinions?
Which opinions are controversial?

While enduring long-form mediums like blogs and forums excel at creating and refining knowledge, ephemeral short-form mediums like chat and microblogs can more effectively disseminate and reinforce established knowledge.

No strict lines can nor should be drawn between these different modes of communication however. It's not uncommon for a new piece of knowledge to go through the following stages of life, from soft to solid to distributed:

  1. New but unstructured knowledge is synthesized over the course of a chat conversation

  2. The key knowledge artifact is refined in the form of a blog post

  3. The new knowledge is disseminated through microblogs and links aggregators.
    🌱🌻💨

With some work, we can make these stages far more seamless, and I believe step 3 in this particular example is currently the least developed.

Slow Feeds

For the likes of me (generally shy & quiet; loud & proud if asked to speak) to functionally participate in the digital conversation of the federated party, three key features are missing in today's microblogging & feed-aggregation clients:

Follow hashtags, not people

First and foremost, I'm interested in following topics, not specific people. I'm deeply curious about certain people's feed exactly because they write frequently about a topic that interests me.

If a person who's writing regularly about open source decided to start a farm and consequently began posting mostly about agriculture, I'd be far less interested in their feed as a whole. However, if that same person was still writing occasionally about open source, now with an added ecology-informed perspective, I'd be more excited than ever to keep up with that particular segment of their writings!

It can seem like we have a chicken and egg problem in the widespread adoption of hashtags to properly categorize content on the fediverse, but clients can in fact lead the way quite effectively. As long as there are popular clients that lean heavily into hashtags as a primary means of discovering and displaying content, posters are incentivized to utilize hashtags more (which can even be backfilled by edits), knowing there are clients that prioritize tagged content.

This would be further facilitated by solving the problem of federated search, so that my inbound feed for open source content wouldn't be limited to just the #opensource tag but would also include a variety of related search terms.

I can easily follow 500 people if I'm only following updates pertaining to my specific interests.

Side note: While it might be a controversial opinion, I'm not a fan of inline hashtags as a default way of tagging content. It's just a noisier version of the post-script tagging system we had for blogs. Meta-data should be kept out of the content body unless it's explicitly meant as an outgoing link to a specific feed-aggregate.

Bundles over timelines

Oh how I miss the good old days of digests, when information was expected to be consumed on a daily or even weekly basis, rather than hourly.

While I still want better hashtag-following, I wouldn't need it nearly as much if I could just tell my client to give me a daily/weekly/monthly digest of a person’s posts, based on my frequency preference. Smart clients could even suggest new frequency preferences based on my engagement (or lack thereof) with certain feeds.

I've not seen a lot of examples of this kind of interface in practice. Aside from the mailing list example above, a few others that come to mind are Google Inbox and LindyLearn. Neither perfectly match what I'm describing, but they both play with the concept of information bundling, rather than linear, strictly chronological streams.

Evergreen content gardens

99% of all microblog (and chat) content is ephemeral by design, meant for a specific moment in time. But the 1% that should endure past the 24hr cycle doesn't have good ways to do so in the current paradigm.

Reddit/Lemmy has a simple Top sorting mechanism for viewing highly rated content in the past Day / Week / Month / Year / All Time. This is a great way to surface evergreen knowledge artifacts in places like r/AMA and r/todayilearned. It's also a very helpful way to get oriented in a new space.

The same could be done for hashtags on the fediverse. Treating hashtags as not just timelines of the present moment but also containers of institutional knowledge could lead to all sorts of innovations in knowledge management on the fediverse.


The vast majority of development effort in the ActivityPub-client space is currently going into various derivatives of the classic microblog paradigm popularized by Twitter. My intention for this post is to gently nudge developers' attention towards a new paradigm that aims to bridge the gap between gossip and sense-making. If you're working on this, let me know!