Problems in the Fediverse: Instances

This is a transcript of a video that is still a work-in-progress.

In our efforts to promote open social media platforms, we tend to run into many problems. Some of these are external, such as a lack of visibility or competition from bigger platforms, but often times we run into issues which are internal. These sort of issues often have to do with matters of design or execution, and if left unchecked, could hinder the willingness of people to adopt federated platforms. Throughout the course of history, opportunities to expand our reach pop-up, but how effectively we take advantage of them is dependent on the robustness of the foundation we have in place. For example, when Microsoft released Windows Vista, it was a disaster for them. People hated it, and many in the Linux community saw this as their chance to get them to switch. But due to a myriad of factors, the Linux desktop wasn't ready for mass adoption at the time and the moment passed with Apple filling the void. There's certain issues which may not exactly be fun or easy to iron out, but they should be done ahead of time before they come back to haunt us. These issues can often be identified with user-feedback, especially those of new users or those who quickly left.

In this channel, I'm hoping to highlight some of these issues and talk about potential solutions, possibly across the span of multiple videos. But if this becomes a video series, consider this the template, the pilot, so to speak. I'm going to focus on one topic and talk about how I think we should go about improving it to help with the new-user experience.

This video's topic is Instances. Instances could be considered the technological backbone of the Fediverse. Each instance is a portal into the larger network, when a user wants to interact with the larger network we call the Fediverse, they do so through these instances. Ideally, these users are going to be all sorts of people, not just the computer-literate. Factors such as if these people can quickly find an instance that suits them, how active the instance is, if they have a good quality-of-life experience, and if can rely on the instance to preserve their content are all going to be critical in deciding whether or not a person can allow themselves to become invested in the platform. Whenever you feel like you're fighting against your instance, it really makes you want to quit altogether.

Say what you will about Twitter or YouTube, but the fact is this. I can post something onto Twitter feeling confident that my account, with all of its followers and posts will continue to be there a year later. When I register on YouTube, there is plenty of content there for me to browse and ways for me to find audiences. I go onto YouTube knowing that this is the correct YouTube to me, that I won't have issues posting my videos, and that these videos I spent a long time working on and uploading won't go anywhere. On both platforms, while spam exists, it's nowhere near as visible as the amount of content generated by real-life humans. Will this persist in, say, twenty years if we're talking practically? Objectively speaking, we can't say for sure, but the important thing is that the public confidence is still there. And that confidence is what it takes to retain users. Even in cases where users are retained, they still tend to centralize on flagship instances rather than spreading out to others they may trust less. This is antithetical to the goals of the Fediverse and can result in failures being much more catastrophic long-term.

I'd like to address each problem one by one, and then get into my proposals to mitigate them afterwards.

Problem: Instance Selection

Starting with the first factor: instance selection, or the question of how quickly and accurately the average person can find the right instance for them. The current state of this is that attempts have been made, but from my own experience, there's still a long ways to go. Currently, across Fediverse platforms, there are two solutions to this problem: an instance list and an instance search.

Typically, there are two types of information which can help you in selecting an instance. Objective information includes stuff like domain, ping, user count, and language. Objective information is easier to query and is most commonly used across these directories due to ease of implementation. However, the information tends to be less useful in narrowing down an instance that would suit you. Subjective information on the other hand, includes stuff like the strictness of the moderation policy, how common spam is, or what type of people the instance is made for. Unless the instance owner specifies this stuff, it's harder to measure or automatically query, which is probably why it's less commonly used on these directories.

The instance list is the more barebones of the two, and is the current approach of many projects such as PixelFed, Lemmy, and Funkwhale. This very much seems like a stopgap to me, and I don't think there's anything inherently wrong with that. A lot of these platforms are smaller to the point where existing instances could be listed on a single page. The issue with the instance lists still is that they typically don't give you useful information regarding which instance to pick, and it's a lot of guesswork. Typically just objective information is provided, possibly with the ability to sort. But anything more requires you to manually index through the list to find what you want.

Another option is to have an instance search. This is the approach taken by larger platforms such as PeerTube and Mastodon. They'll usually allow instance owners to set their own descriptions and tags, which can be searched up. These tags can give you a general idea as to some of the more subjective factors, but it's up to each instance to implement it.

Mastodon's search is the most robust of these, often even providing a quick survey to match users to instances which fit their criteria. It should be noted though, that the survey still works off of purely objective information. The instances you're “matched” to will often be incredibly broad due to the nature of these questions: sure I can specify that I don't want an NSFW instance or that I want an English-speaking instance, but countless instances match that criteria.

This is not even to mention that since each platform has their own directory with their own rules and design, it can often be rather byzantine to locate these. For example, I've been using Lemmy for years, but their instance list only recently came to my attention. Overall, instance searching is a step in the right direction, but there's still a lot of work to be done.

Problem: Instance Curation (section in-progress)

Part of the issue with PeerTube right now is that the sort of high-effort content which can provide a bedrock for the Fediverse often finds itself competing with spam or re-uploads of public domain work for views. This means that often times audiences don't know where to go to find the sort of content they're looking for, and creators are often getting little or no feedback on their content. This makes uploading to PeerTube less fun and watching PeerTube less fun.

Problem: Instance Migration (section in-progress)

Solution: Migration Tools (section in-progress)

These next two proposals are set up in a way where working towards them isn't just something for the developers of the respective projects, but something that can be done by the larger community. While often times software can set standards which shape our practices, I think part of the issue facing us right now is that we get too complacent with leaving the task of solving every Fediverse problem to GitHub rather than looking to see where we can take matters into our own hands. Through our practices we can shape the culture of this community and promote an understanding of instances which is more intuitive.

Solution: Instance Grading (section in-progress)

Solution: Topical Instances (section in-progress)

One of the things which I think is important is to begin getting an idea of why we make instances and how the types of instances available can shape the larger ecosystem. From what I've seen, most instances in the Fediverse can be divided into the categories of General and Topical Instances.

Currently, it seems like most platforms will have a glut of general instances and very few topical ones. This ties into the issues with content; you're put into a mix with basically everyone, irrespective of interests or community. While this makes sense for a federated timeline, the benefit of local timelines is that you can still have your content visible to those who would be interested and get to talk to people you'd find you have a lot in common with.

This also inadverdently discourages decentralization; when you have a bunch of instances all dedicated to the same general-purpose chatting, people will often congregate where there's the most activity, and end up leaving other platforms with little activity.

On content-centric platforms, taking advantage of this dichotomy can go a long way towards making the ecosystem friendlier. One of the projects I assisted with getting off the ground is a PeerTube instance known as BreadTube.TV. The instance targets a certain subculture of political commentators, and provides the needed space for them to register and upload with minimal hassle. The instance uses federation in a different way than what's typical: to act as a source of content to other instances. Other instances are allowed to follow and get all the content, and users of those other instances can watch and comment on the BreadTube.TV videos. However, the instance itself only displays local content. This is done to ensure that people visiting the site get the content they expect and creators are not having to compete with the entire PeerTube network for their videos to get attention.

With this sort of model divided into general and topical instances, it helps everyone involved in how they interact with the platform. General instances are able to curate the type of content they want by being able to pick out instances to follow, kind of similar to how people subscribe to television channels. For the average viewer, they can register on a general instance and get access to that whole network. If they're really into one genre, they can search through the topical instances for all sorts of content. For the average creator, they can pick out a topical instance to join and then upload there, knowing that their content is being delivered to those who are likely to be interested in the type of stuff they upload. They can upload knowing that they're not having to compete with every video uploaded on PeerTube for views.