Categories :

PeerTube’s Content Wasteland

PeerTube is a video platform that offers an amazing promise: imagine a video portal like YouTube that isn’t monetized, isn’t curated by algorithms, doesn’t censor people, and allows anybody to host it themselves. As a bonus, different video sites can connect together, so that a person can watch DIY hardware hacker videos from Diode Zone, niche Linux videos from Linux Rocks, and documentaries from TILvids.

These different pools of content on the internet beautifully converge into a wonderful stream of things to watch, where the user can pick and choose what they actually want to watch. It’s an amazing promise, and there’s a huge amount of potential in it. If there’s any way that people are going to get off of walled garden networks like YouTube, it’s likely going to be through open source federated communication systems like this.

There’s a major problem, though: people that log on struggle to find anything worth watching, and gradually lose interest. This problem can be further understood as two separate problems:

  1. It’s hard to find the good stuff worth watching.
  2. There’s a lot of garbage everywhere

Let’s break these both down. Afterwards, I’ll highlight a few ideas on how to work around this problem.

Part I – It’s hard to find the good stuff

The central problem is that looking for things to watch on the network is kind of a chore. This isn’t to say that there’s nothing to watch at all – there are more than a few sites in the network making lots of progress on building up their own connected communities (more on this in a bit). The issue is that you have to go down a rabbit hole to figure out where they are.

To find instances, I generally follow four paths of inquiry:

  1. Keyword search from my fediverse instance
  2. PeerTube’s Reddit / Lemmy groups
  3. Sepia Search
  4. Instance List

This one is generally the most straightforward – because I run a single-person Pleroma instance that connects to many other fediverse instances, I can perform full-text searches, like this one. When I’m logged in, this index shows me every status my server knows about that matches the query, which is pretty handy.

My rule of thumb here is that, since I know most of the people on the instances I’m connected to, I can scrounge around to see if anybody is announcing new instances being founded, new channels being started, and new videos being uploaded.

The downside is that you’re basically scrolling through a bunch of random status updates looking to see if anybody’s doing anything with PeerTube, and this way of searching doesn’t always provide something useful. Still, it can be a pretty good way to incidentally discover something being casually discussed, rather than formally announced.

Dedicated Groups

Community groups dedicated towards PeerTube are kind of the best way to find formal announcements of instances and videos. There are three worth knowing about: On Reddit, there’s r/PeerTube and r/PeerTubeVideos, and on Lemmy, there’s c/PeerTube. Occasionally, these can be a great way for people to announce what’s going on with the project, what problems users are experiencing, and where people can go to discover things to watch or even places to upload their own videos.

The downside, though, is that these groups are sometimes only sporadically updated. It’s useful as a supplemental resource, perhaps, but kind of disappointing.

Instance List

When things get really rough, and you’re hurting for content, it’s sometimes not a bad idea to just look up some instances and see what’s on them. The PeerTube project offers two entrypoints for parsing the instance list – the list itself, and the much more user-friendly Instance Picker.

So far, so good!

The picker is useful in the sense that it offers a filtering tool to narrow down the results between the 900+ reported public instances. It can help people find a place to upload videos to, or discover places to follow. However, the picker generally only gives a tiny bit of useful information about the instance. It doesn’t really tell you how well-maintained it is, whether there’s a terms of service, or what the most prominent videos or channels are.

An example result from the instance picker.

For me, the easiest thing to do from this point is to click the “See the Instance” button, and then click over to the “Local” tab. This at least tells us what kinds of videos are uploaded there, which gets us a little closer to content discovery.

BeerTube’s local page. This feels… really random…

Sometimes, the results are coherent. When it’s an instance that revolves around a specific theme, most of the content seems to align to it quite nicely. However, it’s a hot mess for general instances, like in the screenshot above. There’s a bunch of podcast entries, some random entries in Russian, and out of the frame of the screenshot, conspiracy theory videos about COVID vaccines.

At the very least, this technique can be useful to find instances to avoid.

Last but not least is Sepia Search, which is the PeerTube project’s attempt at a solution to this very problem. It’s a search engine that crawls through the catalogues of every public instance that opts into sharing search results with it.

On paper, it seems like a great idea: all of these videos have tons of metadata associated with them, so a global search system to parse through it all might appear to be an ideal way to reach for things that seem most relevant to curious viewers. There’s a reason that I’ve included this technique at the bottom of the list, and gives me the perfect segue into Part II of this article.

Part II – There’s a lot of garbage everywhere

Let’s try a few search results from Sepia, using common search topics. Here’s one for fashion:

That first result is pretty goddamned funny.

Alright, how about comedy:

Eh. Mostly YouTube mirrors.

Hmm, okay. Slightly better. How about linux?

Still kind of mixed results.

So, there’s definitely stuff, even if the index isn’t always the most accurate. Here’s the rub, though: try to find videos that were exclusively created for PeerTube, for the communities that are there, and not simply random media that’s being mirrored from other platforms. It’s virtually impossible.

The infrastructure that makes Sepia Search possible also leads to a secondary mechanism that predates it: instance following. Because of the way that PeerTube is put together, videos themselves aren’t directly shared between servers. Instead, the catalog entry containing metadata for that video is what gets shared. If you follow another PeerTube instance as an admin, you can add that instance’s video catalogue to your own, which in theory can create a more robust search index.

A few years ago, a feature was introduced to build on this: automatic following. That is, if an instance tries to follow you, your instance can automatically follow it back, meaning both servers will populate their own catalogues with unique results that belong to the other website. Taken to its logical conclusion, it’s also possible to automatically follow every new instance that’s listed on the PeerTube Instance list. So, what happens if you decide to follow as many instances as possible with this mechanism enabled?

You get this. Have fun, I guess?

Part III – A Way Forward

So far, I’ve largely focused on the negative aspects, rather than the positive ones. In spite of everything I’ve just said, there’s still things worth watching, because there are still communities of people out there making videos, uploading them, watching other videos, and commenting. What can we do to make the best of this nascent space? While none of these are a silver bullet in solving for The Discovery Problem of Decentralized Networks, they do help somewhat.

1) Build smaller communities with intention

It can be tempting, sometimes, for people running social nodes to try to make them as big as possible. If I get the more users, I can get more videos, and that will somehow make my community the biggest and the most engaged, right?

The truth is: in comparison to large communities, smaller ones are easier to moderate. In the early stages of an instance community, a good way to do this is to be intentional about who the early members are. Something that I do with my own instance at Spectra Video is that I manually invite people who are already interested in joining. I also set early expectations on what the Code of Conduct is, because those conventions can be carried forward with new members over time.

Disputes might be inevitable as my community grows, but the invite-only nature of it means that there isn’t a flood of new people signing up at random every five minutes.

2) Selectively connect with other instances

Instance following, despite the described pitfalls, is a legitimately useful feature. It’s just that an admin should learn to research every instance they connect with. For me, the biggest rule of thumb is asking myself these two questions:

  1. Does this place have interesting stuff?
  2. Does this community seem to share my values?

A good example of a great instance to follow is Diode Zone. It’s a fantastic community of people hacking away at DIY hardware projects, like this awesome Fake Walkie Talkie Ghost Tour video where a guy 3D printed his own walkie-talkie that plays a different audio file based on the device’s GPS location. Additionally, Diode Zone has a Code of Conduct / Terms of Service that align pretty well with what I have for my own community. So, following that instance seems obvious.

My instance’s Recently Added tab, showing the videos coming in. It’s still kind of random, but it’s mostly aligned with people that I know within the community, or stuff I care about

The benefit of doing this is that you’re effectively building bridges between islands, and kind of creating a larger community out of independently-run smaller communities. Spectra follows almost 40 of these little instances, and while it’s still a nascent effort, there’s a real opportunity for something great to happen.

Just don’t turn on the whole firehose of all content on the network, and you should be good.

3) Make your own stuff, too

This is probably the hardest thing, from my point of view. It takes time and energy to make videos, way more than just writing a status update or sharing a piece of art. Some people have tools and a pipeline that cuts down on the amount of work that needs to be done, but for most people, creating a video is still a massive undertaking. That doesn’t mean it’s not important.

The network still has something of a “First Mover” problem. Lots of people might be interested, but won’t join or post anything until they see something they’re interested in, created by someone they like. For those of us already here, this kind of puts the burden on us to try to make the network slightly better, by giving it something worthwhile for other people.

Creating videos and putting them out there is a fundamental step for getting engaged with other people in a community space that revolves around video. Similarly, watching videos and commenting with your own personal insights can cause other people in that space to interact back, and can give people incentive to return for more of that, if it’s good.

Leave a Reply