I’ve started creating my own feed reader. Which I find is a pretty wild thing to say for me, given my limited coding skills.
Last month I created my own Micropub client. Micropub allows me to post directly to this site, without using the WordPress admin back-end for it. In fact I’m writing this as plain text, and at the end will hit a keyboard short cut for it to appear on my site. Part of the things I post to this site however are responses to posts by other people. I follow those people through their RSS feeds. Using Micropub I could post my responses directly while I’m reading the post I’m responding to, provided there’s a ‘reply’ button in my feed reader.
Feed readers usually don’t have such reply options. In fact, feed readers don’t have a whole range of functionality I’d like them to have. Building my own feed reader as a generic application probably would be hard. But as personal software tool, a ‘narrow band‘ tool that caters just to me it becomes easier to do. I’m pretty predictable to myself, and my workflows are known to me, so there are not many ‘what-ifs’ to cater for. My preferences are the default. As a result such a local tool could be more versatile, and much smarter in responding to my wishes than any fancy application, because I know what I want.
I said at the start I don’t know much about coding, but with some effort I can find my way in PHP well enough, and have been hand coding web pages ever since 1993.
Microsub is a web standard that makes a key difference: it splits the part where feeds are retrieved from other websites and stored in a database, from the part that presents the contents of the database. The retrieving and storing part is the Microsub server, for which I use a WordPress plugin called Yarns, but there are various others (and you could also build your own). The server has an API that allows you to query the content it stores. The presentation and reading part is the Microsub client. The client sends queries to the server and shows the results on screen. And that’s the part I’m building. Because building that part is basically like building a website, that every now and then requests something from a database.
The first step has been taken. I run a php script locally that shows me a webpage like in the image.
Screenshot of my feed reader to be, channels on the left, fetched feed items on the right.
It correctly grabs the groups of feeds and feed content from the Microsub server, and shows them on screen. It can of course be made to look nicer, but the basic concept works.
To this, unlike other feed reading apps, I can add my own response buttons. As links, buttons, or a form below each post. For that I already have scripts I can reuse, from when I was making my Micropub client, the bit that does the posting to my site.
Then I will be able to write my reactions directly underneath the bit I’m reading. Strengthening how my blog allows me to have distributed conversations. Getting that bit closer to the read/write web as it was envisioned.
For many of the other elements on my list of ideal feed reader features, I probably have to do some local storage. Specifically for things like visualising the activity of a feed, or doing things like showing me the topics people in a specific community are talking about this week, local storage might be needed.
I have a basic roadmap of steps to take, more or less following my post about this from last year around this time. For now this first step, a proof of concept that allows me to read feeds, is done.
Mentions