I’m trying to limit meta posts to 1 in 3 at most. So after 2 days of other nonsense, here’s me fucking about on the IndieWeb with no idea what I’m doing. If it looks a bit long and a bit dry, trust me, it is.
So feel free to skip to the end and just comment that it was interesting. No one will know.
My search for mobile blogging
After adding webmentions, and then a notes section to give them a bit more flexibility, I’d looked at a POSSE system and decided it wasn’t for me. I figured that that, was really that.
Then, when looking (yet again) for better ways I could post to my site from my mobile, I happened upon a couple of tools (Monocle, Quill, Indigenous, iA Writer for iOS) that could do this, but it wasn’t all that clear how they worked.
Of these apps, 2 were content readers as well as writers, and displayed a timeline of indieweb posts to which you could, in theory, interact with. I started with Indigenous to see if I could get the content timeline working.
MicroSub and the ghosts of standards past
So, it turns out these timeline apps are only clients that connect to a MicroSub backend. I don’t have one of those. So I go and look for a hosted one and find Aperture. I link this to my site by adding an Aperture endpoint to my site’s head and sign in to it with IndieAuth.
I chose AndyC’s write.as blog as my victim. I figure this will work via microformats in the html or maybe via an atom feed, and it seems it works with either. So what you have is a a kind of RSS backend. Like if Google Reader’s UI had only let you add new feeds but not read them.
It’s at this point I realise, that this “Atom feeds of content and activities” that you could “tie to identities” and “interact with”. It sounds a lot like what I remember Evan Prodromou trying to sell, at the very start of his Pump.io adventure. I remember him talking about Pubsubhubbub (stupid name), Webfingers (stupid name), and Salmon Slaps (stupid name). Have a listen.
And it turns out, yeah, it’s very similar indeed.
Pumping, oh aye
Aperture (my MicroSub server) now tells me I have a feed and it has some items, but I need a reader to connect to Aperture to read them. So I open the Indigenous app. Log in (with IndieAuth, always IndieAuth), and look at that, it worked.
So I have a timeline of content, and look at those tempting reply buttons. How the hell do they work. Spoiler, they don’t.
For that you need to be able to publish to your site with MicroPub, and for that, you need a MicroPub service (Is your head exploding? My head is exploding).
I search high and low for a MicroPub service with no luck but there are plenty of github projects. After trying about 5, I get one working (IndieKit) by deploying it straight to a free Heroku dyno. I configure it by providing a github access token and then add the heroku dyno’s url to my sites head as my MicroPub endpoint and we are good to go.
As a side note, the head of my website is now littered with indieweb nonsense.
<link rel="authorization_endpoint" href="https://indieauth.com/auth">
<link rel="token_endpoint" href="https://tokens.indieauth.com/token">
<link rel="webmention" href="https://webmention.io/trivial.observer/webmention" />
<link rel="pingback" href="https://webmention.io/trivial.observer/xmlrpc" />
<link rel="microsub" href="https://aperture.p3k.io/microsub/510">
<link rel="micropub" href="https://trivialobserverpub.herokuapp.com/micropub">
But I lied, it’s not good to go, it takes me the best part of 2 days to get the config working and code a few workarounds, but as of right now, it’s basic functionality it working.
I write a post from Quill, from Monocle, from my phone app or any MicroPub client. It sends the data of the post to the MicroPub endpoint in the head of my website. This endpoint, residing on a Heroku dyno parses the data and translates it into markdown and commits it to my site’s github repo. This github commit triggers a Netlify Hugo build and the new content appears on my site.
Meaning I can reply to something in a content timeline on my phone and it writes the reply as note on my blog all marked up ready for a webmention. Very cool.
It works… mostly, kind of, and it’s kind of wonderful that it works. But, my god, all the different disparate moving parts, all the formats and the standards all running in different places written by different people mostly as side projects. When something doesn’t work, you are never quite sure which bit of the chain has gone sideways. It’s pretty tough going.
The barriers to getting this going were hefty, just understanding what all the different parts were and if I needed them was a hell of a task. My brain is fried, and I’m honestly surprised I saw it through, but I’m very happy I did.