I presented during the 2022 Netherlands WordCamp edition in Arnhem on turning all WordPress sites into fully IndieWeb enabled sites. Meaning turning well over a third of the web into the open social web. Outside all the silos.

The slides are available in my self-hosted Slideshare replacement for embed and download, and shown below.

I have been blogging a long time, and can tinker a bit with code (like a home cook). I want my site to be the center of how I read and write the web. Its purpose is to create conversations with others, who write in their own spaces on the web. The IndieWeb community supports that with a number of technical building blocks that allow me a set of pretty cool things. But all that IndieWeb offers has a high threshold for entry.

The key parts of IndieWeb to me, the parts that make interaction between websites possible, that allow any site to be an active part of many conversations, are much simpler though:

  • Microformats2 so that computers know how to interpret our blogposts,
  • some class declarations, so computers know why we link to some other web page,
  • and WebMention, the protocol that lets a web page know another page is linking to them.

Making interaction possible between site authors, across sites, just by writing as they already do, is both the simplest to arrange and the most impactful. It’s not something that site authors should have to deal with though, it should be in your website’s engine. WordPress in my case, and an enormous amount of other websites.
Ensuring that WordPress Themes, and Gutenberg blocks would support and could handle Microformats2 and classes correctly therefore will have a huge impact.

Over 40% of the open web would then with a single stroke be the open social web. No need for data hungry silo’s, no place for algorithmic timelines designed to keep you hooked.

WordPress wants to be the Operating System for the Web. That OS is missing social features, and it’s not a big leap to add them with existing web protocols. No website owner would have to be a coder, be it home cooking style or professional, to use those social features and create conversations. It would just be there.

If you build WP Themes, if you create Gutenberg blocks, you’re invited to help make this happen.

(also posted to Indienews)

In reply to Publish Obsidian Documents to WordPress by Curtis McHale

I didn’t come across this posting at the time. As you say, having to log in every single time as well as having to send it already formatted raw HTML (and not the markdown one writes in in Obsidian), are drawbacks. XMLRPC is blocked by my hoster (part of their security decisions), and I have disabled it within WP therefore. I went with Micropub to publish from Obsidian to WordPress, around the same time as this posting. As notes in Obsidian are plain text files in the local filesystem, I run a local script outside Obsidian periodically checking for files marked for publishing. Using Micropub it can post such files, while turning markdown into html, to several of my WP-run sites, both as post and as a page. The latter allows me to add them to my wiki-like section of my blog. Just posting at the moment though, not updating.

To publish click the WordPress icon in your sidebar which will reveal a panel in the sidebar with a Publish button for you to click. Once you click the Publish button a window opens up with your username prefilled and asks you to fill in your password. The plugin … publishes RAW HTML on your site. … While this does work, it feels far from optimal to me. I’d love to see the option of pushing straight markdown to the editor.

Curtis McHale

Robin Sloan has proposed a protocol, Spring ’83, that serves publisher’s content like a magazine stand. You see a board of cards, where cards get replaced whenever its publisher releases a new one. He aims to ditch the timeline experience it seems, partly considering form and content as pieces of the same expression, as well as a way to maintain space for voices that do not express themselves every other minute but way more infrequently.

A Beijing news stand with spread out mags competing for your attention. Image by Peter Ashlock, license CC BY

Others in my feedreader have commented on it in the past days and it gets me thinking. Not in any structured way yet. No idea yet therefore what I think about this in a form I can narrate, but some associations come to mind.

I do like the notion of small cards. Makes me think of Hugh’s Gaping Void back-of-a-business-card drawings, and of tiny zines made as a folded single sheet chapbook. The set limit creates friction for creativity to feed on. Yet, the built in size limit, when putting more of them together on a ‘board’ may well mean the same drawbacks as in Twitter, aiming for the highest attention grabbing value. Magazines in a kiosk do the same thing after all, using the cover to try and lure you into reading them. Look at that image above. Does that make a board of cards just a collection of adverts for your attention? Reading Maya’s annotations, there too the scarcity mindset a board of such cards might introduce is raised. Are there other ways to thread such cards?

The focus on p2p distribution, and on making it easy to put out there, chimes with me in terms of networked agency and in terms of low thresholds for such agency.

The notion where softer voices have the same claim to space as louder ones (i.e. more frequently posting ones) I appreciate a lot. Kicks Condor in his Fraidycat feedreader provides neat sparklines indicating frequency of posting, and allocates every single author the same space by displaying their last few postings regardless of timelines. That points back as well to my use of social distance (not the pandemic kind!) as a method to order presentation of feeds I follow, in a person focused way, and less a timeline. I follow people’s expressions, not blogs as publications. It also makes me cringe at the use of the word publisher in Robin Sloan’s explanation.

À propos following people, Maya also mentions how she likes to see friction between different strands of her online expression (e.g. blogposts, and Mastodon messages). Such different strands have different qualities to them, and having them in one place, like an IndieWeb enabled site may put them too closely or too obviously together. The notion of friction is important I think when getting to know someone online in more detail by following more of their online traces. I follow people, and for a good number I follow multiple traces (photos, posts, tweets e.g.). Combining those traces needs friction I feel, getting to know someone better from their expressions needs a certain effort. That’s about me having something at stake in building interaction. Blogs are distributed conversations to me and you need to invest your presence in such conversations. Connecting with others should be extremely easy in terms of being able to connect, but certainly not effortless in terms of time spent on the actual connecting. Way back when (2006), Lilia and I had conversations about this, and it’s still relevant now. My site purposefully introduces friction to readers: casual visitors see only a fraction of the postings, some content is only shared through RSS and not findable in the site, some content is both not listed nor shared through feeds etc. All the fragments are still in the same place, mine, though, and not farmed out to various silos to create the same effect of deliberate fragmentation. It means I’ve greatly reduced the friction for me as author using IndieWeb, not eroded the needed friction for readers. Someone who puts in the effort will be able to gather all my traces in their reader.

Tracy Durnell has some remarks, and compares Spring ’83 to IndieWeb efforts and discusses the visual aspects. Her suggestion showing a blogroll as cards, not as a list, is a good one I think, perhaps showing the last three postings the Fraidycat way? I’ve seen others do it as a river of news, but that once more provides additional amplification to the loudest authors.
Louis Potok takes a first look under the hood.

Mid-september is het Nederlandse WordCamp, een tweedaagse bijeenkomst over alles dat WordPress is. Ik ben niet zozeer de doelgroep lijkt me, maar het oogt wel als een goede manier om de IndieWeb ervaringen van mijzelf als WordPress gebruikende blogger te gaan laten zien. Wie weet kan ik een lans breken voor het vaker adopteren van IndieWeb bouwstenen in WP themes, plugins of zelfs core. Daarom heb ik nadat ik de oproep bij co-organisatoren Marcel en Remkus tegenkwam deze dagen, me aangemeld als spreker. Ze zoeken nog meer sprekers en workshops, tot 1 juni kun je nog een voorstel indienen. Eind juni hoor je dan meer.

Ongeacht dat voorstel is het misschien ook de moeite waard om te kijken of er iets meer te organiseren is, zoals een homebrew website meet-up of zelfs een IndieWebCamp. Daar moet ik nog even over nadenken.

I extended the capabilities of my microsub feed reader with the option to save web articles directly from the reader to my Obsidian notes in markdown format.

Until now if I wanted to save an entire article I found in my feed reader, I would open it in the browser and then use the markdownclipper browser add-on to add some context and then save the article in markdown in my notes. I wanted to cut out that step of opening it in the feed reader, by saving it directly to my markdown notes. In my feedreader I already have a response form to e.g. post a reply to a posting on my own site. Posting it to my notes means adding a path to how I process that form.

I had to find a suitable script for converting HTML to MarkDown first. Which I found in PHP League’s HTML-to-Markdown, as suggested by Jan Boddez. It requires Composer which I already had installed on my laptop.

I tweaked my feed reader’s response form to also (as a hidden field) include the original HTML of a posting (using htmlentities to stuff it into a form field value). The script that processes the form I altered to both have a path for posting to websites (using micropub) and a new path to make a note in Obsidian, which is then saved as a .md file to the folder I store all clipped articles in.
To make a note I shape the available input the same way I template clipping things from the browser. At the top is my rationale for clipping something and reference to the source, followed by the original posting after which I add some keywords as tags and again the reference to the source.

In the images below you see the corresponding elements marked both as they appear in the reader as well as the resulting note.

The article as shown in my feed reader:

1: the original HTML content from a feed
2: title of the article (prefilled by my feed reader)
3: name of the author (prefilled by my feed reader)
4: original article’s URL (prefilled by my feed reader)
5: the reason and context why I am saving this to notes (also used to write a reply to a post, or the reason for bookmarking something if it will be posted on my site)
6: a quote I want to highlight
7: keywords that will become tags or categories on my site, and tags in my notes
8: selector for which site to post to (zyl is my blog), or ‘obs’ for making a note in Obsidian

Except for that last one those numbers are marked on the image of the resulting markdown note.

The resulting note in Obsidian:

1: the original HTML content from a feed shown in Markdown as the main body of the note
2: title of the article, both shown as part of the content of the note, as well as the title of the note (where a timestamp is added)
3: name of the author (mentioned with the source both at the top and bottom)
4: original article’s URL (mentioned with the author both at the top and bottom)
5: the reason and context why I am saving this, always at the top as it helps me process the content better
6: a quote I wanted to highlight
7: keywords that have become hashtags

(This posting was also written in my notes and, except for the images, posted directly from Obsidian to my site. Meaning I can both automatically move material into Obsidian, as well as automatically move material out of Obsidian. I quite enjoy the feeling of using that ‘magic’.)

Bookmarked Interoperable Personal Libraries and Ad Hoc Reading Groups by Maggie Appleton

I somehow missed Maggie Appleton’s blogpost (bookmarked above) about the IndieWeb pop-up session on personal libraries of a few weeks ago. During the session I found her suggestion for ad-hoc reading clubs very interesting, as an application of having book lists on your site. I first and foremost think about discovery in the context of publishing book lists: if I enjoy your blog, or know you and you share book lists those may contain good suggestions to read. Discovery is also why in my ‘data format‘ for such lists I allow for sharing the URLs of lists of others, as well as share the URL of where I found the recommendation for a specific book. What Maggie Appleton suggests is something else and interesting: what if you could see when several others in your network are also currently reading the same book you are reading, allowing an ad-hoc book reading club for that book. It would require a way to compare lists you follow. My sharing of lists I follow is a useful start for it I think, but you’d add a match detection layer on top of it. Whether that matching needs to take place in my site, I don’t know. To me it feels like a personal tool perhaps, alerting me to other readers, and allowing me to privately think about whether I’d want to form an ad-hoc book club with them at that time.

An idea I brought to the event and ended up hosting a session on was ad hoc reading groups – discussions and meetups facilitated by our public bookshelves.

Maggie Appleton