Building Fediverse channels

Building Fediverse channels
A row of brightly coloured surf boards standing on end
After a run of big picture blog posts, here's a deep dive into channels on Patchwork.

There's a lot going on as we all work to finish building the Fediverse. Long-form content is one big idea. Curated channels are another. Something new which we're working on with Patchwork. Channels enable anyone to curate content and encourage conversation, adding a new dimension to micro-blogging.

The user experience on the Fediverse is currently governed by chronological Following timelines, backed up by hashtags, groups and lists. Channels do something different.

Channels enable any user to create a curated feed with a mix of post type, hashtags, lists, filters and mutes. Customised timelines which anyone can post to via their app or web UI, or by using a dedicated hashtag or emoji.

You can dive into a channel to discover something different. You can return regularly to a channel to catch up on conversations. And you can broadcast your thoughts to a channel, giving you a new, instant and engaged audience, beyond your followers.

The Farcaster app, Warpcast, has a fully formed and fast growing set of channels with:

  • easy channel creation by users.
  • moderation by channel creators and automod.
  • channel discovery built into search functionality.
  • easy posting to any channel.

Bluesky also has a very successful channel format with Custom Feeds. There are over 40,000 Custom Feeds on Bluesky, with the biggest having over 100,000 daily users. These have more heavy duty options than Farcaster to make channels with a wide variety of algorithms. And on the latest roadmap the Bluesky team set out plans to offer "in-app feed creation; the ability to submit posts to feeds, curate the submissions, and manually moderate what's included; better feed discovery."

Patchwork Channels

Patchwork is bringing the same ease of channel creation, discovery and posting to the Fediverse.

Sticking to our architecture, here's a run down of what's involved:

Patches. Channels don't need any server modifications. Just a change to the web UI. That's a very small patch, which any Mastodon server can upload, enabling users to easily browse, discover and post to channels - and create their own. You don't need this on your server to access channels - but it's a great way for server admins to showcase channels to their users.

Hubs. We're building a dedicated hub where users can create and broadcast channels. The channel hub is a customised Mastodon server with content coming in through relays, just like any Fediverse server. It's modelled on our existing Newsmast functionality, made a lot simpler for anyone who wants to make a channel.

Channels. We're bringing channels to the Fediverse in a very different way to Farcaster, Bluesky, or Newsmast. The Fediverse is built around servers, so we're using these to make channels work.

Each channel will be a timeline on a micro-server, sitting in the Fediverse, and an account on the channel hub, which anyone in the Fediverse can follow and add to a list.

Once the channel creator has made the channel, all posts within the timeline will be broadcast to both the micro-server and the channel account.

Hooks. Channels are designed to work easily with existing Fediverse apps. IceCubes and Phanpy already enable users to browse servers - which is how users will access channels. Ivory has something similar on the way, and Trunks offers a sub-set of servers, which we hope can be expanded to include channels. We'll be contacting other Fediverse apps to suggest incorporating this functionality. There's a very long list, as Eugen Rochko has recently pointed out!

To help apps work with Patchwork channels, we'll create:

  • a disco-hook, linking to a discovery hub, where users can browse and select channels.
  • a post-hook, calling up the discover hub and linking every channel to a hashtag or emoji, so users can easily post to the channels they select.
  • a channel-hook - enabling apps to link to channels inline via the discovery hub, using /name to link to the channel - in the same way as hashtags and mentions work as links.

Communities vs channels

What's the difference? Communities are in-depth, long-term repositories, curated by servers or organisations. Channels are broadcasts of conversations on a topic of interest, curated by anyone - organisations and end-users.

With our upcoming Patchwork server plug-ins, admins will be able to create communities which can be private, shared or public. Accessed via the Mastodon or other Fediverse server they sit on. For organisations, server-based communities offer a great way to curate their own content, bring it to the social web - and at the same time curate private and shared communities for the teams and members. The twist is that any public community can also be broadcast as a channel.

In contrast channels are broadcasts with a more instant impact. Channels are all about broadening the end-user experience - and the conversation - in the Fediverse.

How are we getting on ?

We've concentrated on building a pilot version of a channel micro-server, broadcasting content from Newsmast communities. This is now working.

Taking advice from Hugo at masto.host, we're now looking at hosting the micro-servers on a bare metal server at OVHcloud, to keep costs down and enable us to introduce the customisation we want.

On the hub build our dev team is working out the architecture, transferring the important bits of functionality from Newsmast. And we've great designs for creating a community on the Patchwork server, and for end users to make channels.

Here's a snapshot of how community creation could look on a Mastodon server with a Patchwork plug-in:
And here's our draft design for end user channel creation, on an app or on the web:
It feels like we can see the shape of Fediverse channels coming into view, along with the ways we can build them. Look out for the next update as we build this in public.

Postscript

I've just listened to the Dot Social podcast with Mike McCue from Flipboard and John O'Nolan from Ghost. So many great thoughts - and one snippet: "John: What I hope we get to with ActivityPub is diversity of algorithms. Mike: I think we're going to get there...Bluesky has already done some promising and innovative work with Custom Feeds. I think we're going to see these concepts coming this year to the Fediverse." Yes!