I may finally start rewriting my Microsub server from the ground up. It’ll be inspired by both Aperture and Yarns, plus all the extra goodies I’ve been adding to my Aperture fork. Only dependencies should be PHP and MySQL, and, optionally, Redis. This should make it _very_ easy to self-host. And a built-in client/reader, eventually.

It’d still totally leverage X-Ray for parsing feeds, and use Yarns-like polling—WebSub may be a future option. The client bit would be more of an RSS reader and less of a social media app.

Another benefit of built-in polling rather than relying on a separate WebSub server is that it suddenly becomes really easy to update feed URLs.


Laravel’s scheduler would make all of this so easy. But: if I use the built-in `hourly`, `everyTwoHours`, `twiceDaily`, etc. schedules, lots of feeds would still get downloaded at the exact same time (_on_ the hour). So, I can either use `hourlyAt($minutes)` to spread things out a bit, with `$minutes` a random offset (and somehow skip rarely updated feeds that I deem “not yet due”). Or simply use `everyMinute` and something like a `next_check` column to only fetch and process overdue feeds.

Think I’ve got it. All that’s left is the actually hard stuff: the interface for adding, editing, and categorizing feeds and channels.

Surely there’s quite a bit that can be borrowed from Aperture. Not sure if I want extensive filters and what not. (Maybe you should, you know, just unfollow feeds you don’t enjoy reading. Anyhoo, we’ll see.) Not sure if the JS modals are a keeper, either. Not a big fan of ’em, although they are interesting (and kind of work well here).

@bekopharm A bit like WordPress’s “cron system.” Gets run every couple minutes and runs actions that should’ve been run. systemd is out of the question, thing has to be pure PHP (plus a single Linux cron job).

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!