A sketchnotes diagram of IndieWeb Syndication practices featuring in decreasing order of desirability: POSSE, PESOS, PASTA, PESETAS, POOSNOW

I’ve been reading about sketchnotes for a bit this past week. As a first experiment I created some sketchnotes for a short talk on syndication in social media I prepared a while back. Here’s to hoping that no one ends up taking the actual spiral down to POOSNOW with their own social media presence.

This post was originally published on Chris Aldrich

Automating syndication of reply contexts in Twitter Cards using OGP metacrap and plugins in WordPress

A Metacrap Problem

It’s metacrap–I know, I know–but I’ve been thinking about easy ways to use Open Graph Protocol meta data to add contextual Twitter cards to some of my content when syndicating posts to Twitter. My goal is to leverage the speed and ease-of-use of Micropub clients while doing as little as possible manually, but achieving as much parity between posts on multiple sites. 

I’m particularly keen to do this to syndicate/share more of the articles I read and post about on my site without adding additional manual work on my own part.

Outline of Some Resources

The Post Kinds plugin for WordPress parses URLs for me and pulls in data to create reply contexts for a variety of posts like bookmarks, reads, watches, listens, etc. Since Post Kinds doesn’t display featured images (yet), I’ve also been using the External Featured Image plugin to display the featured images from the original to add to the reply context of my posts as well. 

In addition to all these I’ve been using the All in One SEO plugin to easily add an SEO layer to posts without having to do much thinking about it. AIOSEO recently upgraded their UI and features in the last year, and yesterday I upgraded to the newest v4.0+. One of the new features it’s got is the ability to add default fields or pull in pre-existing custom fields to output OGP meta data. 

Start of a Solution

So I got the idea that since Post Kinds and External Featured Image plugins are pulling in and displaying the sort of data I’d like to show in Twitter cards, I figured why not use them? While metacrap is a DRY violation, the fact that it’s automated for me and is based on data I’m actually showing visually on my website makes it feel much less dirty. It also has the benefit that it helps make some of my syndicated content look and feel on Twitter, more like it does on my website. This is also a problem since Twitter hampers how much data I can syndicate in a single post.

I’ve still got some issues about how to deal with the Post Kinds data, but after a bit of digging around, I discovered the image URL for External Featured Image plugin is hiding in the _dcms_eufi_img field. So I can make the default Twitter settings in AIOSEO pull the external image by setting Default Post Image Source to Image from Custom Field and set the Post Custom Field Name to _dcms_eufi_img

Since a lot of my posts are reads, bookmarks, etc., this works well, but I can easily override the settings for articles or other custom posts which I make less frequently. 

Hopefully I can figure out the settings for Post Kinds to get the rest of the default fields to map across. I’m happy to hear ideas on what field names I’d need to use to get the Post Kinds Name and Summary/Quote fields to map over for the og:title and og:description respectively. Ideally I can manage to get it done without needing to get a subscription to the pro version of AIOSEO which also has support for custom taxonomies which is how Post Kinds works.

Since my theme has relatively solid microformats support, and I have plugin infrastructure to allow easy syndication from my website to Twitter through micropub clients, this last bit for creating Twitter reply contexts helps close some of the loop for me in my syndication workflow while keeping as much context across platforms.

Example

Here’s a visual example of a native post on my site and the corresponding syndicated copy on Twitter. There are some differences, mostly because I don’t have as much control of the appearance on Twitter as I do on my own site, but they’re about as close as I can get them with minimal work.

screen capture of a tweet with my thought at the top and a Twitter card underneath it including the reply context of the article I'm responding to

screencapture of a read post on my website for a Slate article with a reply context at the top and my response to it just below

This post was originally published on Chris Aldrich

Manual Backfeed in the Blogosphere

Manual Backfeed in the Blogosphere

Forcing webmentions for conversations on websites that don’t support Webmention

Within the IndieWeb community there is a process called backfeed which is the process of syndicating interactions on your syndicated (POSSE) copies back (AKA reverse syndicating) to your original posts. As it’s commonly practiced, often with the ever helpful Brid.gy service, it is almost exclusively done with social media silos like Twitter, Instagram, Flickr, Github, and Mastodon. This is what allows replies to my content that I’ve syndicated to Twitter, for example, to come back and live here on my website.

Why not practice this with other personal websites? This may become increasingly important in an ever growing and revitalizing blogosphere as people increasingly eschew corporate social sites and their dark patterns of tracking, manipulative algorithmic feeds, and surveillance capitalism. It’s also useful for sites whose owners may not have the inclination, time, effort, energy or expertise to support the requisite technology.

I’ve done the following general reply pattern using what one might call manual backfeed quite a few times now (and I’m sure a few others likely have too), but I don’t think I’ve seen it documented anywhere as a common IndieWeb practice. As a point of fact, my method outlined below is really only half-manual because I’m cleverly leveraging incoming webmentions to reduce some of the work.

Manually syndicating my replies

Sometimes when using my own website to reply to another that doesn’t support the W3C’s Webmention spec, I’ll manually syndicate (a fancy way of saying cut-and-paste) my response to the website I’m responding to. In these cases I’ll either put the URL of my response into the body of my reply, or in sites like WordPress that ask for my website URL, I’ll use that field instead. Either way, my response appears on their site with my reply URL in it (sometimes I may have to wait for my comment to be moderated if the receiving site does that).

Here’s the important part: Because my URL appears on the receiving site (sometimes wrapped as a link on either my name or the date/time stamp depending on the site’s user interface choices), I can now use it to force future replies on that site back to my original via webmention! My site will look for a URL pointing back to it to verify an incoming webmention on my site.

Replies from a site that doesn’t support sending Webmentions

Once my comment appears on the receiving site, and anyone responds to it, I can take the URL (with fragment) for those responses, and manually input them into my original post’s URL reply box. This will allow me to manually force a webmention to my post that will show up at minimum as a vanilla mention on my website. 

The manual webmention box and button that appear on all my posts.

(Note, if your site doesn’t have a native box like this for forcing manual webmentions, you might try external tools like Aaron Parecki’s Telegraph or Kevin Mark’s Mention.Tech, which are almost as easy. For those who are more technical, cURL is an option as well.)

Depending on the microformats mark up of the external site, the mention may or may not have an appropriate portion for the response and/or an avatar/name. I can then massage those on my own site (one of the many benefits of ownership!) so that the appropriate data shows, and I can change the response type from a “mention” to a “reply” (or other sub-types as appropriate). Et voilà, with minimal effort, I’ve got a native looking reply back on my site from a site that does not support Webmention! This is one of the beautiful things of even the smallest building-blocks within the independent web or as a refrain some may wish to sing–“small pieces, loosely joined”!

This method works incredibly well with WordPress websites in particular. In almost all cases the comments on them will have permalink URLs (with fragments) to target the individual pieces, often they’ve got reasonable microformats for specifying the correct h-card details, and, best of all, they have functionality that will send me an email notification when others reply to my portion of the conversation, so I’m actually reminded to force the webmentions manually.

An Illustrative Example

As an example, I posted on my website that I’d read an article on Matt Maldre’s site along with a short comment. Since Matt (currently) doesn’t support either incoming or outgoing webmentions, I manually cut-and-pasted my reply to the comment section on his post. I did the same thing again later with an additional comment on my site to his (after all, why start a new separate conversation thread when I can send webmentions from my comments section and keep the context?).

Matt later approved my comments and posted his replies on his own website. Because his site is built on WordPresss, I got email notifications about his replies, and I was able to use the following URLs with the appropriate fragments of his comments in my manual webmention box:

https://www.spudart.org/blog/xeroxing-your-face/#comment-43843
https://www.spudart.org/blog/xeroxing-your-face/#comment-43844

After a quick “massage” to change them from “mentions” into “replies” and add his gravatar, they now live on my site where I expect them and in just the way I’d expect them to look if he had Webmention support on his website.

I’ll mention that, all of this could be done in a very manual cut-and-paste manner–even for two sites, neither of which have webmention support.  But having support for incoming webmentions on one’s site cuts back significantly on that manual pain.

For those who’d like to give it a spin, I’ll also mention that I’ve similarly used the incredibly old refbacks concept in the past as a means of notification from other websites (this can take a while) and then forced manual webmentions to get better data out of them than the refback method allows.

This post was originally published on Chris Aldrich

Dan, There are a lot of moving pieces in your question and a variety of ways to implement them depending on your needs and particular website set up. Fortunately there are lots of educators playing around in these spaces already who are experimenting with various means and methods as well as some of their short and long term implications.

I suspect some of the most interesting parts may be more closed off to you  (or possibly more difficult) because in your particular case it looks like you’re being hosted on WordPress.com rather than self-hosting your own site directly. For the richest experience you’d ideally like to be able to install some of the IndieWeb for WordPress plugins like Webmentions, Semantic Linkbacks, Post Kinds, and potentially others. This can be done on WordPress.com, but typically involves a higher level of paid account for the most flexibility.

For crossposting your content to micro.blog, that portion is fairly simple as you can decide on any variety of post formats (standard, aside, status, images, etc.), post kinds, categories, or even tags and translate those pieces into RSS feeds your WordPress installation is already creating (most often just by adding /feed/ to the end of common URLs for these items). Then you can plug those particular feeds into your micro.blog account and you’re good to go for feeding content out easily without any additional work. Personally I’m using the Post Kinds plugin to create a finer-grained set of content so that I can better pick and choose what gets syndicated out to other sites.

From within micro.blog, on your accounts tab you can enter any number of incoming feeds to your account. Here’s a list of some of the feeds (from two of my websites one using WordPress and the other using Known) that are going to my account there:

 

 

As a small example, if you were using the status post format on your site, you should be able to add https://dancohen.org/type/status/feed/ to your feed list on micro.blog and then only those status updates would feed across to the micro.blog community.

I also bookmarked a useful meta-post a few weeks back that has a nice section on using micro.blog with WordPress. And there are also many nice resources on the IndieWeb wiki for micro.blog and how people are integrating it into their workflows.

For crossposting to Twitter there are a multitude of options depending on your need as well as your expertise and patience to set things up and the control you’d like to have over how your Tweets display.

Since micro.blog supports the Webmention protocol, if your site also has Webmentions set up, you can get responses to your crossposts to micro.blog to show up back on your site as native (moderate-able) comments. You can do much the same thing with Twitter and use your website as a Twitter “client” to post to Twitter as well as have the replies and responses from Twitter come back to your posts using webmention in conjunction with the brid.gy website.

I’ve been playing around in these areas for quite a while and am happy to help point you to particular resources depending on your level of ability/need. If you (or anyone else in the thread as well) would like, we can also arrange a conference call/Google hangout (I’m based in Los Angeles) and walk through the steps one at a time to get you set up if you like (gratis, naturally). Besides, it’s probably the least I could do to pay you back for a small fraction of your work on things like PressForward, Zotero, and DPLA that I’ve gotten so much value out of.

Because of the power of these methods and their applicability to education, there are an ever-growing number of us working on the issue/question of scaling this up to spread across larger classrooms and even institutions. I’m sure you saw Greg McVerry’s reply about some upcoming potential events (as well as how he’s receiving comments back from Twitter via webmention, if you scroll down that page). I hope you might join us all. The next big event is the IndieWeb Summit in Portland at the end of June. If you’re not able to make it in person, there should be some useful ways to attend big portions remotely via video as well as live chat, which is actually active 24/7/365.

As is sometimes said: I have made this longer than usual because I have not had time to make it shorter. At least I wasn’t hampered by Twitter’s character constraints by posting it on my own site first.

 

 

 

 

 

Reply to Dan Cohen tweet was originally published on Chris Aldrich