Obviously I've been thinking about blog and the IndieWeb a lot these days. We are not very far from the two year anniversary of Cohost shutting down; maybe I'm thinking about how to build some of that social experience up again brick by brick, using the web as a substrate rather than a silo (or a federation of silos, which is the approach some others have been taking).
For me personally, the core design that made Cohost so valuable was a particular mix of features that enabled:
- Full-spectrum posting; Cohost felt suited to and supported well everything from <140 character microblogs to long essays to media posting. In particular, it was extremely good at what I'd call "mesoblogging," posts in the 500-800 word range which are a poor fit both for traditional essayistic blogging and microblogging platforms. This is really what I miss the most.
- Posts on Cohost could have titles, but did not have to; the posting interface essentially scaled gracefully in complexity from "typing some words into a box and hitting send" to "fully formatted writing with subheads, tags, metadata, etc" and nothing got lost in the shuffle.
- A static-website blog like this one is perfectly good for essay posting, but the simplicity win of this kind of setup does mean that you miss on the conveniences of a CMS interface that takes away, for example, the work adding date of publication information to a post.
- Replies and comments as distinct first-class entities. I think they occupy vastly different niches, and I think the ability to choose between responding with or without rebroadcasting
- Funnily enough, webmentions as I just added them runs counter to Cohost's original design—the site very deliberately did not create backlinks on replies; you could see who had replied to you but their replies were not findable from your post. This meant that if someone was being dogpiled in replies (something that the site's OP-then-reply design already discourages relative to Twitter's quoter-then-OP model) there was no centralized place where people could go to find the dogpile and join in. I think right now at least, the risks that Cohost was designed to mitigate aren't really there with indie web, so the backlinks are valuable...
- But commments as their own distinct entity still have value, because sometimes you want to remark on something without rebroadcasting it!
I am thinking a lot about how to achieve similar things using those open web tools within the constraints of a static-website (or "JAMstack") setup. I don't really want to go back to any kind of service that has a CMS; using Eleventy is just too nice in terms of the control that it gives me over templates and the long-term portability and safety of the material, which does not in any way live in an opaque database but rather in the filesystem on my computer (backed up in several places) where it belongs.
I like the concept of Micropub but I also like the static website workflow, and it occurs to me that it'd be pretty easy to build an adapter of sorts as just a server that ingests Micropub POST data and spits out git commits (which are, de facto, the standard for "publishing" posts on a Jekyll or Eleventy website). You could run this on an actual server or just as a local-machine daemon that adapts desktop micropub clients to a static website project. I know such a thing exists for Jekyll already, though a particular difficulty with these tools is that (as far as I can tell) micropub clients expect to spit out HTML, and what I'd want to eventually land in the git repo is in fact well-formatted markdown. I don't think that's intractable, though, and tools like Pandoc exist which can "un-render" Markdown.
It is possible however that I'm overthinking this terribly and the solution I really want is a shell script that 1. opens an ephemeral vim session, like the one you get to write a commit message 2. turns whatever I type into that session into an untitled post dated to now and asks if I want to immediately post it or save as a draft.
On the other half of what I'm thinking about: webmentions only provide the "reply" half of the reply/comment duality, and with comments I feel a bit more stuck. I would love it if something like Comentario existed, but set up to use IndieAuth as its only authentication method.
Authentication systems are the annoying hurdle of operating a blog with a comment system. Obviously having distinct "user accounts" adds complexity, but having to have a distinct account on the blog of every person you read and comment on is itself impractical. Traditional email/password login, besides not being terribly secure, requires a server somewhere that can send email—and sending email is itself an incredibly annoying task, because the email system is so choked with spam that we've kind of landed on an internet where we only let a single-digit number of major providers really send email.
Comentario itself supports Oauth with a few different services, but I think that's not good enough. IndieAuth is; it's a stable long-term solution. There's no need for the consumers of authentication to know or care about which providers of authentication are available, which means that you are not essentially maintaining your authentication system's usefulness against the ongoing churn of the internet. Using URLs as identities has some inherent anti-spam properties; domain names are simply a more limited commodity than email accounts, and they have a public verification mechanism baked in. Such a comment system wouldn't even need an admin password or any kind of secrets at all—you could log on to the admin panel by simply logging in with the domain name of the website itself. I believe other people have built similar setups as one-offs, but this is something that really is begging for a turnkey solution that occupies the same "slap this webcomponent on your template" niche as Comentario or Disqus.
Ultimately I am enjoying this exercise in trying to reconstract a good version of the social media web as essentially a hot-rodded, self-built project, even if I eventually hit a wall with how close I can approximate that experience.