raphting.dev

Without Search, the Fediverse is not decentralized

In 2009 I created a Twitter account. That was about 1 year after I started blogging with Wordpress.

About 10 years later I created a Mastodon account on the instance chaos.social. The instance grew tremendously since I joined, accelerated by things Elon Musk did with or said about Twitter. With so many new users, the vibe changed a bit. Some new people expected things to work more or less like on Twitter. New rules were introduced to make less of a chaos on chaos.social. Instance owners have every right to setup new rules and to enforce them. It is their piece of metal.

What bothered me from the start was the missing search on Mastodon. First I thought this is a bug, until I learned it is a feature. Tagging is used instead of a full text search, but tags are notoriously hard to get right. As an example, if you happen to use Instagram, people flood their posts with hashtags to be found. If there is no system behind tagging, it is, again, chaos.

Later I realized that I don’t own my username. It is tied to the instance (mine was @raphting@chaos.social). There are ways to move an account, but not the username. That means I can keep Followers and Followings, but everything else is gone, including my original username and all posts.

Search is one of the topics that others including Filippo got burned with.

Technically, it is possible to implement search without telling anyone, which I did when I was relatively new to the Fediverse. Via the API, I got a stream of all posts to my server and indexed them on Elasticsearch. Just because something is not wanted, people can do it anyway. And I am certain that bad actors are already doing it at scale. Only the good actors are held back from innovating on that part.

My point for this is, and has always been, that we can’t solve social issues with tech.

In the Fediverse, nobody will hear you scream

To be discovered on the Fediverse, either you are on a large instance where people actually read the local timeline, or you start interacting with strangers. These strangers are sometimes a bit unfriendly in their nature (“If you follow me and I don’t know you, I will most likely block you”. This is actually the profile text of a bigger account in the Fediverse).

When I moved from chaos.social to my self-hosted single user instance, I was almost invisible.

What happened was that I shadow banned myself from the Fediverse. My small follower base of 50 something people were never very active in replying or liking. And I lost access to post to the local timeline of chaos.social. This was probably the place were most people found me, when reading my posts. If you don’t know what a local timeline is, just imagine wind blowing thousands of sheets of papers from all around the globe on a big pile, and you find yourself in the middle, between Anime, political rants, people telling how their day was, and here and there something really interesting. Chaos.

My learning from this was: The Fediverse works based on federation. Not decentralization.

There are people who run their own instance. Big accounts like Filippo or Aral. They both have a similar origin on the Fediverse: Both were internet-famous before, had big follower bases on shared instances, and moved to their own instances later. They also report how high operating costs are and that their servers run on the edge of their respective computing capacity at times. This is clearly something to keep in mind. Not everyone can financially afford to run a single user instance with a large follower base.

Volare - Flying in the Blue

Is there an alternative? Let me start an unfair comparison: Something that works (the Fediverse), compared with something that’s just an idea so far (the AT Protocol).

The AT Protocol has a few ideas that tackle some of the shortcomings of ActivityPub that I struggle with. ActivityPub is the protocol behind the Fediverse.

With AT:

You own your full username, whatever instance you join. This is the opposite to the Fediverse where the instance owns your username.

You can move to a new instance without loosing anything. This is the opposite of the Fediverse where, if you decide to move to another instance, you loose almost everything. The AT Protocol expects a full sync of your data to your client, so you really actually own your data. But because data is content addressable, it can be found anywhere and it will continue working.

You are discoverable. This is the opposite of the Fediverse where you hardly can be discovered. The AT Protocol explains this with an analogy. You can own a website with its content (like I own the blog’s name and content you are reading right now) but Google, Bing and other search engines do the indexing for me. It is the search-user’s choice to use an indexing service and accept their terms. The AT Protocol follows the same logic. Indexers are free to index your posts, and users are free to choose an indexer. Maybe even one that offers a non-chronological timeline, or brings in some accounts you’ve not seen before.

The AT Protocol has a few other neat ideas, with signed content, recovery keys and Lexikons. I recommend browsing their spec.

With all that, I am looking forward for a protocol to be finalized in a first stable version soon that solves most of what didn’t work for me on the Fediverse. Maybe an interesting social network can evolve. Or maybe people on the Fediverse were right from the start and implementing search is the beginning of all evil.

I deleted my Mastodon client from my phone. The interaction part of the Fediverse just didn’t work for me anymore. I did subscribe to a few people on the Fediverse via RSS though. Usually, user feeds come with RSS. No interaction, sadly, but well, we didn’t have that before either.

By Raphael Sprenger licensed under CC BY-NC 4.0