Marty McGuire

Posts Tagged indieweb

2025
Sat Jun 7

Glitched out

Glitch.com was, according to their homepage:

[…] the friendly place where everyone builds the web. Start a new blog, play with React, or build new worlds with WebXR.

Others have said a lot more than I could about the history of Glitch. I’m here to deliver a eulog-

Well, uh, actually others have had a lot to say about that, as well.

Glitch project hosting is shutting down in about a month, at which point any hosted projects will stop working. After that, users will be able to download archives of their own projects for about a year. Between now and then, users can set up redirects to forward requests to your project to a new URL.

Over the past few weeks, I’ve been tuning in to Jenn’s YouTube streams where she is working to triage, archive, and in some cases re-home hundreds of projects in her Glitch account.

Inspired by Jenn’s journey, as well as this RIP Glitch directory at ribo.zone, I’ve archived all my own Glitch projects, and want to talk about them below.

I’m an idiosyncratic person, so please don’t treat any of the following as advice. If you’re looking for the best ways to re-home your own Glitch projects, please check out the Project migration discussion in the Glitch support forums.

Honestly? Don’t even feel like you have to read any of the below. You are free to skip to the end or do anything else more pressing. Live your life!


My surviving projects

steady-sundial - A webring for IndieWeb-enabled sites. Find the latest at šŸ•øšŸ’.ws

Ah, the šŸ•øšŸ’ IndieWeb Webring!

This began almost as a dare at IndieWeb Summit 2018. As I remember it, Doug Beal brought up webrings and the idea of doing one for IndieWeb sites, and brainstormed the emoji domain. I made the mistake of actually registering šŸ•øļøšŸ’.ws which, oops, made me obligated to work on it.

We jammed on ways it could work over the course of the unconference day. One early idea (that could still be interesting for someone to try!) was to have folks join by the webring by posting some kind of “I am a member of the IndieWeb webring” post to their own site, then sending a Webmention. As long as your post stayed up, you’d stay in the ring.

One decision that seemed quite fun at the time, but that I would soon come to regret, was the idea to use emoji as identifiers. Putting these identifiers in webring navigation URLs would make it easy to tell where webring visitors were coming from. In theory. I ended up doing a whole write-up on why emoji IDs were a bad idea.

Anyway, I jammed out a quick demo on Glitch at the Summit’s Making Day, got great feedback, intermittently kept working at it, and so on. You can kind of follow this history via the update posts on the webring homepage.

While the webring lived on Glitch for multiple years, I eventually re-wrote it in PHP and re-hosted it. Viva la webring!

Here’s the original steady-sundial source.

And of course the source for the new version, which I call gem-diamond. You know, the ring salesman.

sticky-scribbles - Make an SVG suitable for pen plotting with simple scribbles and text with Hershey fonts.

Part of the August 2024 Glitch community “#justdraw” jam. I cleaned up a 2011 project from when I was really into pen plotting on my MakerBot Cupcake CNC.

I’ve got a whole post about Stick Scribbles, including where to find it’s new home (and the source).

trite-elderberry

Technically this lives on as “StickPix” - a proof of concept for putting Snapchat-style stickers on photos. Hacked up during IndieWebCamp NYC 2019, based on a demo by Ali Spittel. I never got around to adding the IndieWeb bits, and it basically didn’t work on my iPhone, so I abandoned it.

This fit into a larger idea I had that goes something like: “My friends say they use Snapchat and Instagram because it has filters. If they could post to their own websites with filters, would they do that instead?”

However, it turns out I wasn’t ready to really tackle all that. And I now think it’s a mistake to just copy big social media features.

My retired projects

garrulous-smile - A Micropub client for reaction GIFs??

Another “my friends like this feature on their social apps” special. This project, eventually named “Kapowski”, let you post “reply GIFs” between IndieWeb-powered sites.

Looks like I introduced this at a Baltimore Homebrew Website Club meetup in April of 2018.

This lived on Glitch for quite some time. Over the years I updated it to switch the “GIF provider” from GIPHY to gfycat when Facebook bought GIPHY. Later, I ported it to PHP as part of my kick to consolidate all my IndieWeb tools in one place with more shared code.

When gfycat shut down in 2023, I decided to shut it down rather than switch to another provider. I have a longer writeup about Kapowski on the IndieWeb wiki.

Part of me would like to bring it back! GIFs are cringe now, or whatever, but I think it’s fun to communicate in images and video. And these are our websites, so we can do what we want!

Alternative GIF-hosting sites exist that could power it in terms of search and content, but as of the time I did this research they were all truly awful about providing descriptive text for folks who need an alternative to the visuals, real .gif files actually aren’t great for sharing around the web, a video-loop based alternative that works across sites would need a lot of work to develop.

Oh, nobody used it. šŸœļø

Okay, I used it to post like one reaction GIF one time, but I’m only aware of a couple of people besides me who even tried, because I asked them to test it out. šŸ˜Ž

The PHP version can be found at kapowski.bayside.pub, including links to the PHP source.

Here’s an archive of garrulous-smile because hey why not.

I had remix of this project, “peppermint-author”, where I started adding a feature to include an alt text description along with with the GIF reply, but I wasn’t satisfied with it and don’t remember sharing it with anyone.

veil-mirror

An IndieAuth device flow proxy for Microsub/Micropub

Based on Aaron Parecki’s Device-Flow-Proxy-Server, this project let you sign into a service with IndieAuth similar to the way a TV app would have you sign into your HBO Max account.

In my case, I built it to make an IndieWeb-powered photo frame from an Adafruit PyPortal.

I feel a little haunted by the closing “Code to come!” in that post.

The OAuth 2 Device Flow is actually rad in a lot of contexts. While it has been rare for me to use this proxy, it usually saves me several minutes of juggling other ways to get a token for use with command line scripts and embedded devices.

fanatical-wound - A toy Micropub client for managing syndication and mp-syndicate-to properties for posts.

The goal for this one was to make it easier to post on my own site then syndicate elsewhere, and then receive replies back from those silo’s using brid.gy’s ability (at the time) to backfeed likes, replies, etc. from Twitter, Facebook, and other social silos to my post.

Why? Because here was the manual process to post on my site and then share it out on Twitter and Facebook:

  1. Write a post for my site. Wait for my site to publish it up so I have a URL.
  2. Make the syndicated versions of that post on FB, bird site, etc., being sure to link back to my post.
  3. Manually edit my post to add the new URLs to the syndicated copies on hell site, Zuck site, etc. Brid.gy uses these links to know where to post the backfeed comments, reactions, etc.

Without a tool, I was only able to do the last step from a computer with access to the source files for my site. This tool was planned to use Micropub to edit the syndication URLs.

The idea was pretty simple, but I got caught up in how much boilerplate I felt was required to set up a basic Micropub client with IndieAuth support. I ended up getting bogged down thinking about how to abstract all the common stuff with IndieWeb building blocks I had been doing on Glitch to this point into something reusable. I never even finished this.

Oh, also Facebook and Twitter shut down their APIs so Bridgy couldn’t backfeed comments anymore. Also-also I deleted all my silo accounts. So this became a moot point. 🚮

Little IndieWeb endpoints

What’s that? I mentioned IndieAuth above but never explained it?? Thank you for calling me in. IndieAuth is basically a way to sign in to apps and websites using your personal domain (or personal website URL) as your identity. One of the cooler things about IndieAuth is that you decide what service will handle the actual bits about “confirming you are you”.

I set up a couple of these IndieAuth authorization endpoints on Glitch, quick and dirty Javascript knock-offs of Inklings-io/selfauth:

  • befitting-price - handled sign-in for ghostparty.today, the website of my favorite cult-based improv project. (befitting-price source code archive)
  • indieweb-nyc-auth - was intended to let folks other than me post events to indieweb.nyc in the before times. We haven’t had any IndieWeb Camps or Homebrew Website Clubs in NYC in a while, but if we did, we’d use the meetable site where that domain now redirects.

At one point I was enamored with the idea of making it easy for folks to set up a site on Neocities, then power them up with IndieWeb building blocks to let them use existing tools. The GHOST PARTY site above is an example of that (nitty-gritties Neocities details here.

  • prism-dirt - A micropub endpoint for Neocities sites?? - this provided the actual Micropub support for the GHOST PARTY site. (prism-dirt source code archive)
  • sapphire-sulky-clover - looks like the start of me making a more generic Micropub endpoint with the goal of encouraging others to remix it for their own Neocities cites.

What’s that? I mentioned Micropub but never explained it??? Whew. Well, Micropub is a protocol for posting, updating, and deleting content from your site. It uses IndieAuth to verify that you are allowed to do the posting / updating / deleting. I, uh, hope that helps?

Remixes of other people’s stuff

  • outrageous-coral - Traces bitmap images of crease patterns to create a cuttable SVG file. By Dr. Tiffany Tseng. Seems really cool for papercraft and patterns for sewing!
  • lemon-spark-fairy - A demo using P5.js and googlecreativelab/creatability-components to do some kind of nose-tracking. Probably a demo someone sent me that I remixed in order to hang on to a copy.
  • rich-tuna - An example IndieWeb website using my micropub-endpoint library. An building block for making IndieWeb-powered sites on Glitch by grant.codes.
    • elite-cornet-1 - An example IndieWeb website using my postr library. Is another Grant project. Part of his impressive PostrChild set of IndieWeb / Micropub tools!
  • fantasy-slime - I tweet new blog posts for qubyte.codes. I check for them when a webhook is called by netlify. Another tool for someone to POSSE posts out from their own site. Can you tell I flirted with becoming a collector of IndieWeb-related projects on Glitch?
  • bejewled-burly-penguin - A proof-of-concept for running a PHP app on Glitch!
  • outrageous-wooded-octagon - At XOXO 2024 the octothorp.es folks published this as an example project. Octothorpes kind of strik me like a webring meets decentralized forums with an alternate reality version of Webmentions.
  • wise-broad-microraptor - A WebSocket starter app using the ws node.js library. I think websockets are magic so I collect people’s projects for using them yet have only used them in a couple of projects! Scandal!
  • juniper-magic-bream - This is a basic example of AR camera using aframe-ar with experimental browsers for ARKit and ARCore. Speaking of magic! A-Frame is so dang cool. I really ought to make a project with it someday!

There were a few others, but I decided they were not worth keeping or mentioning here.


Are you still there?

Hahaha, wow, okay, I didn’t expect to have so much to say about so many of these projects. Most of them weren’t mine. Of those that were mine, most of those were only experiments. By the time of the Glitch shutdown announcement, all but one of my few active projects that started on Glitch had already been moved to other hosting.

But I think that even this small realization, and this small collection of projects, hints at the magnitude of what the web is losing with the shutdown of Glitch project hosting.

Glitch made it possible to start making “real” apps on the web, right away, with no credit card requirement and no need to install a bunch of tools on your own computer.

With the remix system, you never had to start from a blank page. You could take a working example, make it yours, learn how it works, and change it as you like. As you did more, you learned more. As you learned more, you were capable of doing more.

And if you got stuck? The Glitch editor, right in your browser, allowed live collaboration! For a time there was even an ask-for-help feature where a stranger could come and help you with your project! And you could thank them in a way that showed up on their community profile!

As a long-time IndieWeb contributor, I’m well aware that the IndieWeb community has a perception of being exclusively “for developers”. While I didn’t have the resources to make it happen, I had big hopes that Glitch could be a way to get a fully-functional IndieWeb site, with no code required to get started, but everything open and available as you learned and leveled up. I don’t think the thing I was dreaming of could be possible anywhere but Glitch.

Clearly I have a major soft spot in my heart for Glitch. It took real thoughtfulness and care to build a platform to support a powerful learning community with no BS enterprise upsells. I know it wasn’t without its issues, but I think it’s safe to say that the world was much better with Glitch, and will be poorer without it.

My congratulations and thanks (and condolences) to all the folks that made Glitch possible.

Ok. I’m not crying, you’re crying.

Shut up!

screenshot of my Glitch profile's Your Project page listing my archived projects, discussed above.
See you, space cowboy 🐟🐟
Wed May 28

šŸ”‘šŸ˜…šŸ—ļø Some IndieAuth confusion

Are you a member of the IndieWeb webring? Or you wanted to be, but you couldn't sign in because of obscure-looking IndieAuth errors?

Turns out when I hastily re-added support for sign-in with indielogin.com I introduced a bug that would end up always using indielogin.com as your authorization endpoint. For many folks, this actually worked fine, as indielogin.com would defer to your endpoint. However, if your authorization endpoint supported the IndieAuth server metadata endpoint with an issuer identifier, indielogin.com would apparently not pass it along.

The fix was quick: use your IndieAuth authorization endpoint, if found, and only fall back to indielogin.com if it is not found!

Here is the update that fixed this bug, haha, sigh. šŸ¤¦šŸ»ā€ā™‚ļø

Many thanks to the folks that reported this to me and nudged me to eventually work through it, including fusil.uk, fireburn.ru, serverless.industries, and gRegorlove.com!

Okay that's it, for now! Thanks for reading, imaginary interlocutor! As always, feel free to reply to this post on your own site, or feel free to drop me a line in the #indieweb chat (I’m schmarty there)!

Fri Apr 25

This is just so, so nice. Congrats Joe and thanks, and thanks to all who have helped one another learn and make web pages. šŸ’– And here’s to more!! āœØšŸ”„āœØ

https://artlung.com/blog/2025/04/25/study-hall-reflections/

Tue Apr 8
ā˜‘ RSVP'd to an event https://events.indieweb.org/2025/04/front-end-study-hall-025-WKu1yLDGBbMm
post
Online! Zoom!
Front End Study Hall #025
The foundation of a flexible, good IndieWeb website is markup (the "M" in HTML!") that doesn't drive you batty to debug and CSS that works with it to have it look, sound, and interact how you want, whatever device or format the website is displayed on.
I'm going!

Couldn’t stay for the whole thing, but enjoyed sitting in on my first Front End Study Hall (FrESH). Kudos to Joe for building such a great event! Looking forward to joining again.

2024
Thu Aug 29

Has the IndieWeb become discourse again?

I recently read Has the IndieWeb Become Irrelevant from starbreaker.org.

The post does a great job linking to and summarizing a spate of posts that I will call “people being mad at the IndieWeb”, while also being one of these posts.

These posts accuse “the IndieWeb” of being elitist, exclusionary, overengineered, complicit, and unnecessary, among many other things.

There are some common threads I noticed among these posts:

  • None of them mention micro.blog!
  • They seem to attack a “straw person” version of the IndieWeb, where one is expected to read, follow, and implement over a decade of experimentation on the web.

Micro.blog is real

Folks that would like to try a turnkey website hosting service, where:

  • you bring your own domain (or register a new one!)
  • you can leave and take your content with you whenever you want
  • requires no coding (and no plugins to configure, and no “files and folders”)
  • offers mobile and desktop apps that let you post (and read) the kinds of content you want
  • supports IndieWeb building blocks to let you follow and interact with other people via your own websites

I don’t see eye-to-eye with its creator Manton Reese about everything, but micro.blog is a great example of a real world service that makes use of IndieWeb building blocks in ways that customers benefit from without having to build anything!

The rest is wiki

I think many of other complaints, from being “overengineered” to (paraphased) “POSSE makes IndieWeb complicit with the corporate web”, come from misconstruing the IndieWeb wiki at indieweb.org as the entirety of “being IndieWeb”.

When I discovered indieweb.org (in maybe 2015?) I was intrigued and nearly instantly overwhelemed. Trying to absorb all the concepts there would be nearly impossible. Understanding and implementing all the techniques there is actually impossible.

That’s because indieweb.org is not a presciption or a cookbook or an exercise plan. It doesn’t tell you how to “be IndieWeb”. It’s a collective memory of experiments, some successful and some not, from a group of experimenters that has changed greatly over time.

For example, I find that criticisms like “f*ck the corporate web and f*ck IndieWeb for interoperating with the corporate web” don’t really hold up when a lot of that stuff doesn’t even work anymore.

On corporate complicity

Automatic POSSE, syndicating posts from your own site out to your profiles on social silos, only ever barely (and briefly) worked for Instagram, was turned off for Facebook a few years ago, and was all but destroyed for Twitter shortly after its last acquisition. backfeed - pulling comments and likes from these platforms to display on your own site - has similarly been blocked by technical measures.

These were experiments that worked for a time. People used them for a time. That time has passed and the people have moved on.

Some folks have replaced their Twitter usage with something like Mastodon, or Blue Sky, or Threads, and amazing people like Ryan have stepped up to help experiment with bridging personal sites and federated services.

There is no “the way”, only “your way”

People don’t have to move on for purely technical reasons. Even before Twitter closed their APIs, many in the IndieWeb community were shuttering their Twitter accounts and removing posts. They moved on from Twitter, despite all those documented pages on the IndieWeb wiki, because they didn’t want to use the web this way anymore.

And to me, this is actually what “being IndieWeb” or “doing IndieWeb” is about: using the web in ways that fit your wants and needs, being mindful of when (and to whom) you give up control over your stuff and your connections.

Figuring out how you want to use the web is a daunting task, to say the least! The IndieWeb wiki is full of interesting examples and ideas - but as a logbook of ways of using the web, it can be inscrutable. It was never intended that every way of using the web would be suitable for everyone. A collective memory is extremely hard to keep up-to-date and to signpost for navigation. Trying to rely on the wiki alone is a recipe for frustration.

I freely admit that the community has fallen into some serious prescriptive traps over time. Like with tools like indiewebify.me that offer a checklist of implementation details, without accompanying reasons why you might want these features.

This isn’t the first time this has happened, by any means, and it won’t be the last, but the criticisms of these tools and models do make their way back into the collective memory. (see: generations and IndieMark)

Talk with us

That’s why the IndieWeb chat exists. It’s a place where real actual people, who are working to use the web in ways that suit them, are ready to help in whatever ways we can. We love to share what is (and is not) working for us, what we’re trying, and so on. More importantly, we want to help you find ways of using the web that work for you.

Sun Aug 25

šŸ”šŸ•øļøšŸ’ Restored sign-in options for an IndieWeb webring

Are you a member of the šŸ•øļøšŸ’ IndieWeb Webring? Or have you wanted to be, but you couldn't sign in because it strictly required IndieAuth for sign-in?

I was recently gently reminded that the IndieWeb webring at one time allowed you to verify your identity using an alternative sign-in mechanism. For instance, by making bi-directional links between your home page and your GitHub account, you can delegate the step of "proving" that you are the person in control of your homepage to GitHub, and let them worry about storing and checking usernames and passwords.

This concept is called RelMeAuth (because it works by embedding links in your homepage let look like <a rel="me" ... >). The original version of the webring would first check to see if your site specifies its own IndieAuth provider and, if not, would fall back to using Aaron Parecki's indielogin.com, which handles checking for these rel="me" links to supported sites. It also supports sending codes to your email, if you prefer!

So it used to work?

Yeah! I, uh, broke it when I moved the site over to PHP some time ago.

But it works now?

It should! If your homepage has no IndieAuth server specified, but has rel="me" links to your GitHub or an email "mailto:" link, you should be able to sign in to the webring using those methods!

It was broken for how long?

šŸ˜… it was fixed within a day of someone telling me it was broken!

Please don't share any links to code-

Here are the updates I added today to enable indielogin.com support. Some of it is a little hacky until indielogin.com is updated to allow the full client_id URL for the webring, but it works OK!

Sigh, ok.

Okay that's it, for now! Thanks for reading, imaginary interlocutor! As always, feel free to reply to this post on your own site, or feel free to drop me a line in the #indieweb chat (I’m schmarty there)!

Wed Aug 21
ā˜‘ RSVP'd to an event https://events.indieweb.org/2024/08/indiewebcamp-portland-2024-8bucXDlLqR0k
post
Grand Stark Study Hall 509 SE Grand Ave. Portland Oregon USA
IndieWebCamp Portland 2024
I'm going!

Looking forward to spending some quality time with some quality IndieWeb folks! šŸ’–

Tue Aug 20
ā˜‘ RSVP'd to an event https://events.indieweb.org/2024/08/indieweb-meetup-at-xoxo-social-2024-okVmgbkaps1w
post
Rogue Eastside Pub & Pilot Brewery 928 SE 9th Ave Portland Oregon United States
IndieWeb Meetup at XOXO Social 2024
I'm going!

Excited for my first in-person IndieWeb event in quite some time!

Sun Jun 23

šŸ•øļøšŸ‘‰šŸ‘ˆšŸ’ Ordering an IndieWeb webring

Are you a member of the šŸ•øļøšŸ’ IndieWeb Webring? Perhaps one of many who noticed that the "previous" and "next" links were actually going to random active member sites in the ring?

I'm pleased to announce that the "next" and "previous" links between webring member sites should now be, more or less, deterministic! For example, if you visit gRegor's site, scroll to the webring links at the bottom, and click "next", you'll be taken to a site like mine! (at this moment, it is mine!) From my site, if you click the "previous" link, you'll be taken back to gRegor's site! This should m-

Wait, did you say "more or less"?

Well, uh, yeah, good spot. At a high level, the update works like this:

Each active member site gets a pseudo-random "sorting" number. For a given site, the "next" site is the one with the next highest sorting order, and the "previous" is the one with the next lowest.

When you click on a "next" or "previous" webring link from a member site, your browser tells* the webring where you're coming from with a "referrer" header. If the webring recognizes the referer as an active member site, it'll look up the next - or previous - site in the ring to redirect you.

Woah, woah, I see that asterisk

Way to stay sharp! Referrer headers can leak potentially sensitive information, so over time browsers have added ways to restrict how and when referrer headers are sent between sites.

Most of the time, the webring will only see the referring URL up to the first slash after the domain. For folks whose site on the webring has a path component, the webring won't be able to match it against most referrers.

It's also possible that your site is configured to not send referrer headers at all - in that case, the webring has nothing to go on to figure out that the visitor came from your site.

If the webring can't figure out where a visitor came from, they'll just get directed to a random active site.

That feels kinda broken if you ask me

Well, it's no worse than before!

Isn't there a way to improve it?

There is! Or... was. The first version of the webring included unique identifiers in the webring "next" and "previous" links for each member site. These unique IDs would have made it straightforward to figure out where a visitor is coming from.

Oh, don't tell me-

Yeah, I removed that feature last year. šŸ˜…

The emoji-based IDs were hard to manage, added messy unintended meaning, and made it easy to mess up the webring links (or spoof someone else's) when copy-pasting!

You're going to link us to some code, aren't you?

You bet! You can find today's updates to the code here on my git hosting.

Thanks, I guess. So, what's next?

I'm not sure! I feel like this update has the webring in a pretty good place. It's simple enough that I understand it and it works. I might look into some updates for the directory or the site layout, or help surface more information about member sites, like whether they advertise RSS feeds.

Okay that's it, for now! Thanks for reading, imaginary interlocutor! As always, feel free to reply to this post on your own site, or feel free to drop me a line in the #indieweb chat (I’m schmarty there)!

Sat Jun 15

šŸ¤–āœ€šŸŒæ Gardening an IndieWeb webring

Are you a member of the šŸ•øļøšŸ’ IndieWeb Webring? Perhaps one of many who have been confused to discover that member sites are not automatically removed when the webring links disappear from their site?

I'm pleased to announce that the webring will now be self-gardening! Webring member sites th-

Hold on, links to what now?

That-... is actually a good question!

In order for webrings to work, member sites have to link to one another, usually through the webring itself.

When you sign in to the šŸ•øļøšŸ’ IndieWeb Webring, you see this prompt on your dashboard page:

Screenshot of a warning "to stay active, make sure these links are visible on your site", followed by a text area with HTML links to copy and paste.

These links should be copied and pasted into your site so that they appear on the page that matches your webring sign-in. For example, I sign in with my homepage https://martymcgui.re/, so I put my links to the webring on my homepage. They look like this on my site, but you can style them up to look like anything you want.

"An IndieWeb Webring šŸ•øļøšŸ’" text flanked by left and right unicode arrow links.

The basic deal for most webrings is that, in order to receive incoming traffic from other member sites, you need to also display links back to the webring so a visitor can continue on their journey browsing sites from the webring.

If that's the deal, then when a member site goes offline, or removes the webring links from their page, the webring should no longer direct visitors to that site.

The IndieWeb webring tracks whether a site is "Active" or ... "Not Active" (ahem, Inactive). Active sites can receive traffic from webring visitors and, if you choose, appear on the Directory page. Inactive sites... can't do those things.

As the owner of an webring member site, you can sign in to the webring and your Dashboard page will show your site's current "Active" / "Not Active" status and the results of the most recent attempts to check your site for webring links. If you've made changes to your site, there's a "Check links now!" button on the Dashboard to scan for them again.

Okay that's enough background, I think.

Right, thanks. But actually no, there is more.

Initially, Active status on the webring kiiiiind of worked like an honor system. The first time you successfully sign in, your site is added to the webring and set to Active. From that point on, there were only two ways for your site to get marked as Not Active:

  • If you clicked "Check links now!" while your site was offline or didn't have webring links on it.
  • OR if I ran a "gardener" script that checked the webring links for one or more sites.

Since the webring came online in, um, 2018, I've only received a handful of nudges from folks who have been willing to track me down to the IndieWeb chat and complain. That led me to think this honor system was "okay" or "at least not so bad that folks are willing to jump through hoops to bring it to my attention".

That's definitely enough background.

Agreed!

So what's new?

Well, the honor system days are over! Which should be good for all webring member sites, I think.

I've built a little automated gardener that will periodically check member sites for their links. It's designed in a way that trends towards polling member sites about once per month.

For a new member site, it basically works like this: about an hour after you sign up, your site will be checked for links. If they're there, the gardener will check again the next day. It will check again a few days later, then a week, then two weeks.

Finally, as long as the links are there at every check, the gardener will only check once per month.

What happens if the webring links disappear from my site?

If the gardener finds that an Active member site has gone offline or lost the webring links, the site is marked Not Active. It's checked again the next day, then a few days later, then a week and then two.

Finally, the Not Active site will be checked once per month for 3 months. If the site stays Not Active that whole time, the gardener will stop checking and the site owner will need to sign in to re-check links manually if they want the site to become Active again.

What happens if I put the webring links back on my site?

If the gardener finds that a Not Active member site has their webring links back, the site is marked as Active and the schedule resets. The gardener will then check it the next day, then three days later, then a week, then...

Okay, got it!

Woohoo!

Why now, though?

Oh dang, that's a good question.

I've found the energy and space to start working on the webring again, including some possible projects like those I listed in my last update. Before jumping into any of those, though, I want to feel like I can "trust" that the webring is taking care of itself and its visitors. That means not sending folks to sites where the owner changed their mind about being a webring member or, worse, lost sites, and keeping track of active sites on its own!

Can we see the code?

Sure! The bulk of the updates are here on my git hosting. As with most things webring there's a little bit that's well thought out and some attempts at rigor followed by a rush of throwing things together when it appears near working.

I'm open if folks have suggestio-

Wait, I didn't actually want to look at code!

I put some words in your mouth, there, yeah. Sorry. šŸ™ˆ

Okay! That's it for now. As always, feel free to reply to this post on your own site, or feel free to drop me a line in the #indieweb chat (I’m schmarty there).