I saw this post on Mastodon this morning, and it evoked some Feelings. I was there during the First Web, and I remember the conventions listed in this post. Technically these were the days before I got into development, but I was an avid web user and can recall all of the crappy website designs that were crappy because crappy was all we could do. Search engines worked, but only compared to the alternative of “no search engines at all”. I miss those days some days, but it was the OP’s mention of “web rings” that caught my attention.

I’ve given thought to web rings several times over the past few years. While the above post assumes an air of “oral tradition retelling of the ancient rites in a post-apocalyptic hellscape”, the poster isn’t entirely incorrect. The web used to be smaller, more intimate in all ways because the hardware wasn’t there, the skills weren’t there, and the technology wasn’t there the way it is today. Those who had the drive to create a website were really in it for the Right Reasons like passion and knowledge. It’s reasons like that which drive us to connect with other, similar-minded folks, which is where web rings come in.

For those who are Too Young to know what web rings are, or those who are older but never experienced them, a web ring is essentially a list of websites that a user can navigate to through a widget posted usually at the bottom of a site. For example, if this site were a member of a Video Game web ring, there would be a widget at the bottom of this page which had at least five buttons: first, previous, random, next, and last. Users could move from site to participating site using those buttons. While that might seem horribly inefficient in today’s climate of millions of algorithmically indexed sites, the benefit was that web rings were generally small: users had to opt-in to be included in a web ring, and those who did so were choosing rings based on mutual affinity for a subject. That way, you could be pretty certain that every site you’d land on through a web ring would be talking about the same or similar subjects. It was a great means of discovery back before we had all kinds of other tools which essentially killed the web ring ecosystem.

Is there room for web rings in today’s web? Personally, I think it’s a great time to find out. Many people are becoming dissatisfied with the current gatekeepers of the web as they’ve been throwing people and projects under the bus for their own benefit. Search works a lot better than it used to, but since most people still (probably) rely on Google — which is becoming more ads and fewer useful results every day — maybe getting back to smaller communities of like-minded sites would be the throwback technology we really need.

Since I am an Idea Guy(tm) and my execution skills are pretty lacking on account of Squirrelitis, I’ve thought about what might be needed to set up a modern web ring system. That’s not to say I am the first, or even the most thoughtful person who has or is doing this; some of the original web ring systems are still out there, apparently, and while we don’t see them much these days, I’m sure there are many people out there who never stopped using them.

Obviously I’m going to lean towards self-hosting. If the Fediverse has taught me anything it’s that if something means enough to enough people, they’ll come together to make it happen, so decentralizing web rings seems like a good idea. That means we could end up with an untold number of massive rings and smaller rings, which is completely the point. A web ring of 16,000 websites is insane and borderline useless; no one is going to click through 16,000 affiliated sites, but 20? 20 is totally doable. Even if there’s 4,876 different “Video Game” web rings, that’s also OK because each one would be owned and operated by the people who want to be in that specific company.

I had posted about this earlier and opined that there had to be a way to use ActivityPub to support a project like this, but the more I thought about it the more that was trying to hammer a square peg into a round hole. As a ring would be opt-in by self-selecting samples, people would mostly be concerned with who their immediate neighbors might be. If there was any use for a federated ring system, then I suspect it would be to somehow bridge all of the similar-yet-different rings set up across the Internet, and to provide a way to “break out” of the current ring you’re navigating through to a different but subject-similar ring somewhere else.

Of course, someone would need to be In Charge, because we live in 2024 and it’s a given that if there’s ever a technology or feature that can positively benefit people, some asshole is going to try and ruin it. For that, we’d have to make it a whitelist-only system. Users would have to sign up to be included, and there would need to be some kind of due diligence to ensure that the site they are registering is a site that can and should be included. Honestly, I think this is the hardest part because some of it could be automated, like how Mastodon validates a user account’s website through a code snippet they place on their site. But who’s to say that some Bad Actor won’t set up a good looking site that reports back just fine, but later gets changed to include revenge porn or something? Eyes-on might be the only way to handle it, unless we resort to occasional web-scraping methods which then could lead to abuse from the operator side. Like I said, this is probably the hardest part of the project: keeping the links in the ring relevant and weeding out assholes.

The key to representing a link in the ring is the widget. I’ve not actually ever worked on a feature like this, but a web ring widget would need to source data from the server at the time a host page loads. That data would include the first, previous, next, and last websites in the ring, which shouldn’t be too difficult, although we’ve been trending hard towards making the web more secure, which might require a widget design that can satisfy certain security conditions to allow it to navigate to other locations when the source of the content originates from a different server. “Random” would need to either randomly choose a site from the central hub on render, coding it to the displayed button, or again, figure out a way to get the data from the server in real time without setting off alarm bells in the browser.

I had forgotten about “dead links”. I don’t know if this would be as much a problem as it used to be, mainly because the server to which a user applies would be it’s own ecosystem, and could occasionally ping or receive feedback from scripts included in the member site. Any site which doesn’t report in a timely manner could be flagged in the server’s data store and simply wouldn’t get served to widgets on render. Being a white-list-only system, though, would require someone to keep an eye on things, but that’s really no different from how any Fediverse servers operate now.

Personally, I think modern-day web rings are completely doable, but would require folks with more knowledge than I have to yay or nay whatever technohurdles such a project might encounter with modern web browsers and “foreign” content. Making it a FOSS project would ensure peace of mind regarding what the server does, which would be paramount for adoption. Anyone could download, anyone could host, and we could start rebuilding the small, more intimate communities that we lost in the name of expedient search results.

1 Comment

  • Tipa

    April 1, 2024 - 10:21 am

    Your site is a part of my web ring, though 🙂 In fact I got here today through it. Just does random, though, because since my site is the only node, previous/next would be pointless.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.