4 min read

Federated Webrings

In the glory days of web 1.0, social websites would prominently link out to their digital neighbors via lists known as webrings; magical doorways to an expansive hinterland of digital villages.
Federated Webrings
'Connected' by SimonGangl

In the glory days of web 1.0, social websites would prominently link out to their digital neighbors via lists known as webrings. Fellow communities they could vouch for.

It was a time of greater connectivity between communal web spaces, each one serving as a magical doorway into an expansive hinterland of digital villages.

We can bring back the cozy vibes of the old web neighborhoods. Not by regressing to a bygone era, but by building the web one-and-a-half that should have been; a Web of the People.

Discord has a rudimentary form of federation via its announcement channels that can be followed by other channels. However, it's very limited as a one-way feed; there's no two-way communication between channels to encourage cross-community bonding.

Let's envision what a truly federated chat like Matrix could do to improve the cross-connectivity of these channels. Most of these features are already possible, they just haven't been implemented yet in a community-oriented client experience. Others might require an MSC.


In addition to my own Discord community for Spicy Lobster studio, I'm on 15+ other servers dedicated to one or several Rust game developments:

15 iconographic Discord servers.
Pro tip: Immediately turn off notifications for every new server you join and you can happily lurk on dozens or even hundreds of servers.

Building on top of Matrix' federation features, we can poke holes in the information silos of such communities and build genuinely pro-social utilities for neighborly intermingling.

Channel Syndication

Many of the aforementioned servers have casual-speak channels like #offtopic, #code or #art which cover the same general topics, but in isolated spaces which can often go days or even weeks without updates in the smallest servers. This is a missed opportunity for cross-pollination, as these communities have several members in common who'd benefit from connecting more with peers.

Using spaces, Spicy Lobster's Commune instance could have a collection of shared channels, syndicated to fellow Rust gamedev communes that have opted in to host the same channels within their instance:

  • #offtopic (rust gd)
  • #code (rust gd)
  • #art (rust gd)


When someone visits the Spicy Lobster space, they ought to be made aware of our friends across the Matrix-verse. Just like the webrings, blogrolls or ‘forum affiliates’ of old:


There are at least two straightforward ways to tie these related spaces more tightly together:

1 - Curated matching

Connect with whichever other communities have opted into a specific webring. Webrings are not mutually exclusive, so one community space can be part of multiple webrings.

Spicy Lobster could have a presence in all of these space collectives:

  • Rust gamedev
  • Open source gamedev
  • Fediverse (ActivityPub)
  • Coops

2 - Algorithmic matching

Among users/communities that have opted into the highest degree of discoverability, additional suggestions for related spaces could also be made by looking at the overlap in users' space memberships. Similar to "since you read this book, you might also like..".


On Discord, many new servers start out with just 2-3 channels and a few dozen members, of which only a small handful are actively participating. They'll go on like that for months until either (1) they build enough traction and expand in size or (2) activity dries up and the server goes defunct.

Alternatively, some upstart communities begin their life as a single channel within an existing server that has agreed to host them:

This is a great way to circumvent the ghost town factor of a new community, because new channel activity will be noticeable by a larger collective of peers in an expansive common area. It's like a shared co-working space. The downside is that if the channel is successful enough, it'll eventually want a dedicated space of its own, and Discord won't let you uproot your channel and move it elsewhere.

With Matrix/Commune however, you can! A channel can start out in one space and later be moved elsewhere, either as a clean break or as part of a continued syndication. Thus making the single-channel incubation approach a low stakes way for up-and-comers to get their community started.

Webrings 2.0

All of this amounts to a next-gen form of webrings that goes beyond the laborious stringing together of neighboring spaces that failed to compete with Facebook's hyperconnectivity in the early 2010s.

By imbuing webrings with a baseline of intelligence they can be equipped with sensing organs, letting them autonomously look out, reach for and connect with their own kind. As such they can form loosely coupled, voluntary superstructures.

Instead of vertical scale by monolithic centralization, it's horizontal scaling by ecological interconnectedness and replication.