Replied to How to send a Webmention in comments? by Paul JacobsonPaul Jacobson (Paul Jacobson)
I’ve had Webmentions enabled on this site for some time now. Sending a Webmention is pretty straightforward thanks to plugins like Webmention for WordPress and Semantic-Linkbacks. The question is how to send Webmentions in comments when someone replies to one of my posts?
Okay, this gives a lot more context!

It looks like you’re 90% of the way there. I suspect the last piece you’re missing are the proper microformats either in your theme or in the_body of your specific reply. I suspect you know what microformats are Paul, but for context and the benefit of others reading, they’re bits of metadata added into HTML as classes that provide computers additional information about what is in your post and what each part represents.

For implementing Webmention with WordPress, the Semantic Linkbacks plugin has a built in parser that looks at the microformats of the incoming webmentions and uses that data to decide what to display in your comments section. The first part it looks for is an h-card which is a microformats version of a business card that generally includes the post author’s name, photo/avatar, and URL. This is how the system determines the avatar and name to use.

The second part it’s looking for in the received webmention is an h-entry (or hentry in the older microformats v1 specification). This defines the broader body of the comment that it will display. And the last big part that the parser is looking for is what kind of response was sent. Was it a simple reply, like, a bookmark, a read, a listen, etc.? If it can’t figure out what the specific reply may have been it defaults to a simple “mention” which is the response that you’re seeing in your example Paul. 

The positive part of this system is that WordPress already has some reasonable support for microformats v1 built into core and many themes even extend on it relatively well. Sadly, WordPress doesn’t support microformats v2, which would make it a far better IndieWeb friendly platform. Fortunately most themes have h-card or hcard along with the related microformats that go on the names, URLs, and avatars. Unfortunately they don’t have the microformats that indicate the response types. 

To fix this many people IndieWeb-ifying a site use a theme with strong Microformats v2 mark up like SemPress (or one of its children) and they’re doing it in combination with the Post Kinds plugin which adds the microformats to the response to indicate the proper type. Post Kinds, a dramatic expansion of the idea of Post Formats by the way, also has a built in parser which kindly provides a reply context for your posts as well.

A screenshot of a reply context (highlighted in yellow) which indicates the post is about a favorite of Huffduffer which includes a blockquote from the Huffduffer site to show what the site is about. My commentary about the favorite appears beneath the reply context.

If you’re not using (or don’t want to use) Post Kinds you can manually add the required mark up in your posts to indicate the type. Most of these are documented on the IndieWeb wiki, here’s an example for a typical “reply“:

<div class="h-entry">
    <a href="http://example.com/note123" class="u-in-reply-to">Some note with a point</a>
    <div class="p-name p-content">Good point! Now what is the next thing we should do?</div>
</div>

In this example the important microformats are the u-in-reply-to and the p-name p-content. Generally most WordPress themes will add either h-entry (or hentry) in the theme, so you just need the u-in-reply-to piece.

Again, most people get around the need to add these microformats by using Post Kinds plugin while others use a version of the old core Press This bookmark functionality that was adopted for use as IndieWeb Press This. IndieWeb Press this bookmarklet will take a page you want to reply to, like, or bookmark, then create a post with the requisite microformats, and finally allow you to write your reply and publish pretty quickly.

Yet another method to get around some of the required microformats is to publish using a Micropub client in combination with the WordPress Micropub plugin.

The upshot is that once you’ve arranged the basic pieces, your publishing process proceeds apace as before.

And of course, to be even more upfront, I’ll mention that some of the replies I’ve sent to Paul in the past (and you can see this in the example screenshot he includes) mistakenly include my reply context to his post in them. This is a result of my having overwritten some theme changes in my site that once upgraded my lowly mf1 hentry to the better mf2 h-entry. As a result the parser inside the Semantic Linkbacks plugin falls back to parsing as microformats version 1 and includes the context instead of stripping it out and just sending only the piece that is the intended reply. The reply that should have shown up on Paul’s post was the portion he outlined in red. I’ll try to fix this again shortly.

For those looking to help spread the ideas and functionality of the IndieWeb within WordPress, we’d all love help to:

  • Improve WordPress’ core support for Microformats version 2
  • Better support for Microformats v2 in more Themes

I and others have documented some other subtleties and resources for microformats with respect to WordPresss and themes on the IndieWeb wiki which should be of help for those of a variety of development levels. Obviously we still have a way to go towards making all this more intuitive, obvious, and user friendly, but we’re getting there day by day. Any extra help and feedback is always helpful. 

If you’ve got questions, need help, or have suggestions, feel free to hop into the IndieWeb WordPress chat and we can try to get you up to speed. 

 

Replied to IFTTT Recipes for PESOS by Charlotte AllenCharlotte Allen (charlotteallen.info)
So, I spend a long time trying to set up PESOS for individual silos on IFTTT, specifically Facebook and Instagram, because they are terrible. I’ve got it currently set up to publish my initial post, but no back feed support yet. Also, this is going to wordpress, but it shouldn’t matter (in theor...
This is some brilliant work. Thanks for puzzling it all out.

I do have a few questions/clarifications though so as not to be confused since there are a few pieces you’ve left out.

For the IndieAuth token, which is created at /wp-admin/users.php?page=indieauth_user_token one only needs to give it a title and the “create” scope?

For the “then” portion that uses IFTTT.com’s Webhooks service are the following correct?

  • The URL is (when used with WordPress) of the form: https://example.com/wp-json/micropub/1.0/endpoint
  • The Method is: POST
  • The Content Type I’m guessing based on the Body field you’ve included is: application/x-www-form-urlencoded

For your Pocket example, it looks like you’re using the Post Kinds Plugin, so I’m guessing that you could have gotten away without the {{Excerpt}} and {{Title}} portions and just have sent the URL which Post Kinds picks up and parses to give you your context portion with a title and an excerpt anyway?

It looks like part of the trouble of this PESOS set up is that you’re too reliant in the long run of relying on Pocket (or other services) being around in the long term. If Pocket disappears, then really, so does most of your bookmark, which ideally should point to the canonical URL of the content you’re bookmarking. Of course perhaps IFTTT may not give you that URL in many cases. It looks to me like the URL you’re bookmarking would make a more appropriate syndication link URL.

For most of my bookmarks, likes, reads, etc. I use a plugin that scrapes my post and saves a copy of the contents of all the URLs on my page to the Internet Archive so that even in the event of a site death, a copy of the content is saved for me for a later date.

In any case, I do like this method if one can get it working. For some PESOS sources, I’ve used IFTTT before, though typically with RSS feeds if the silo provides them. Even then I’m often saving them directly to WordPress as drafts for later modification if the data that IFTTT is providing is less than ideal. Sometimes worse, using RSS doesn’t allow one to use Post Kinds URL field and parsing functionality the way your webhook method does.

Replied to a tweet by Paul JacobsonPaul Jacobson (Twitter)
There’s a few quick ways depending on your needs:

  • If you’re using the Webmention plugin, it will happen automatically on publish. (If you’re also using it to receive, then I highly recommend using Semantic Linkbacks as well.)
  • For quick “manual” webmentions you can use Aaron Parecki’s Telegraph or Kevin Marks’ Mention Tech. Just input your source URL that has a link to a target URL and the services will send the Webmention on your behalf.
  • Some sites that receive them will have boxes you can put your URL response in them and click a send button. (See mine below.)

I also maintain a collection for most of my WordPress IndieWeb-based research, which may answer additional questions or go into more depth. Hopefully the above three can get you started quickly though.

Cleaning up feeds, easier social following, and feed readers

I’ve been doing a bit of clean up in my feed reader(s)–cleaning out dead feeds, fixing broken ones, etc. I thought I’d take a quick peek at some of the feeds I’m pushing out as well. I remember doing some serious updates on the feeds my site advertises three years ago this week, but it’s been a while since I’ve revisited it. While every post kind/type, category, and tag on my site has a feed (often found by simply adding /feed/ to the end of those URLs), I’ve made a few custom feeds for aggregated content.

However, knowing that some feeds are broadly available from my site isn’t always either obvious or the same as being able to use them easily–one might think of it as a(n) (technical) accessibility problem. I thought I’d make a few tweaks to smooth out that user interface and hopefully provide a better user experience–especially since I’m publishing everything from my website first rather than in 30 different places online (which is a whole other UI problem for those wishing to follow me and my content). Since most pages on my site have a “Follow Me” button (courtesy of SubToMe), I just needed to have a list of generally useful feeds to provide it. While SubToMe has some instructions for suggesting lists of feeds, I’ve never gotten it to work the way I expected (or feed readers didn’t respect it, I’m not sure which?) But since most feed readers have feed discovery built in as a feature, I thought I’d leverage that aspect. Thus I threw into the <head> of my website a dozen or so links from some of the most typical feeds people may be most interested in from my site. Now you can click on the follow button, choose your favorite feed reader, and then your reader should provide you with a large list of feeds which you might want to subscribe. These now broadly include the full feed, a comments feed, feeds for all the individual kinds (bookmarks, likes, favorites, replies, listens, etc.) but potentially more useful: a “microblog feed” of all my status-related updates and a “linkblog feed” for all my link-related updates (generally favorites, likes, reads, and bookmarks).

Some of these sub-feeds may be useful in some feed readers which don’t yet have the ability for you to choose within the reader what you’d like to see. I suspect that in the future social readers will allow you to subscribe to my primary firehose or comments feeds, which are putting out about 85 and 125 posts a week right now, and you’ll be able to subscribe to those, but then within their interface be able to choose individual types by means of filters to more quickly see what I’ve been bookmarking, reading, listening to or watching. Then if you want to curl up with some longer reads, filter by articles; or if you just want some quick hits, filter by notes. And of course naturally you’ll be able to do this sort of filtering across your network too. I also suspect some of them will build in velocity filters and friend-proximity filters so that you’ll be able to see material from people who don’t post as often highlighted or to see people’s content based on your personal rankings or categories (math friends, knitting circle, family, reading group, IndieWeb community, book club, etc.). I’ve recently been enjoying Kicks Condor’s FraidyCat reader which touches on some of this work though it’s not what most people would consider a full-featured feed reader but might think of as a filter/reader dashboard sort of product.

Perhaps sometime in the future I’ll write a bit of code so that each individual page on my site that you visit will provide feeds in the header for all the particular categories, tags, and post kinds that appear on that page?That might make a clever, and simple little plugin, though honestly that’s the sort of code I would expect CMSes like WordPress to provide out of the box. Of course, perhaps broader adoption of microformats and clever readers will obviate the need for all these bits?

 

Liked Syndication Links 4.2.1 and Simple Location 4.0.2 Released by David ShanskeDavid Shanske (david.shanske.com)

Released some minor bugfix editions today.

Simple Location

  • Rounds all numbers to a maximum of two decimal points, as I introduced a bug in the last version that would fail to fill in numbers in the post editor due form validation requirements.
  • Extracts additional location information from Compass…mostly the information I store when I’m on a plane, to generate a better description of the location. It also passes this info to WordPress more effectively so it could do more in future.
  • I also introduced a new location provider. If set, if you enter a 3 letter airport code in the location name box, it will replace it with the location and name of that airport, as well as the weather. In future, I may add a similar reverse address lookup for people.
  • Misc bug fixes

Syndication Links

  • Some bug fixes introduced in 4.2.0
  • Due to the request to allow syndication provider checkboxes to be checked by default, I introduced two new filters: syndication_link_checked and syndication_link_disabled. The first parameter of each is a boolean that if true, will set either checked or disabled on that Syndication Provider. The second and third parameter is the uid of the provider and the post_id of the post.
Hooray!
Bookmarked SPLOT Tools (splot.tools)
The acronym SPLOT was coined by Brian Lamb (Levine, 2014) when working with Alan Levine to create tools that solved a number of issues seen in the LMS and ad-based web tools. While it’s (intentionally) difficult to pin down an exact definition (Splot.ca, 2019), the focus is on simple tools that protect student privacy while providing powerful opportunities for students to create and share media that directly align with learning objectives. SPLOTs support and value open education while making it as easy as possible to post media in an appealing and accessible way.

Syndication Links now supports per-post syndication to Micro.blog from WordPress

The inimitable David Shanske released the 4.2.0 version of the Syndication Links plugin for WordPress this evening.

In addition to some other useful upgrades and bug fixes, the big new feature this release adds is excellent syndication support for Micro.blog.

While many people use RSS feeds, JSONfeed, or other plugin methods for syndicating their WordPress website’s content to Micro.blog, this plugin now provides for a per-post decision about exactly what content to send to Micro.blog. It also naturally provides a syndication link from your site back to the Micro.blog post. To my knowledge no other method provides this  syndication link functionality.

As I suspect many may already be aware, if your site supports Webmention (typically done with the Webmention and Semantic-linkbacks plugins), then Micro.blog will notify your site with replies and comments to your post as they appear on Micro.blog. This provides one the ability to do two-way communication between the two platforms.

Set up and configuration for Micro.Blog syndication

If you don’t already have it, install the plugin and activate it, otherwise update it within your site’s administrative interface.

Add your Micro.blog account username to your user profile on your WordPress site. This is typically found at /wp-admin/profile.php. In my case I simply added c to the field labeled Micro.blog username.

screencapture of the WordPress user interface
Enter your Micro.blog username (not the full URL) in the appropriate field and save your profile.

Adjust your WordPress Syndication Links settings page (typically found at /wp-admin/admin.php?page=syndication_links) to include Micro.blog by using the appropriate checkbox. Be sure to save the setting.

Screencapture of the Syndication Links settings UI
I obviously have a lot of syndication targets. Micro.blog is always one of them. If you’re also using Micropub clients like Quill that support the feature, you can choose Micro.blog as a syndication target in those interfaces.

Remove, if necessary, any of the RSS, JSON, or other syndication feeds from your Micro.blog account so you’re not accidentally duplicating the syndication.

Add the JSONfeed URL from the bottom of the Syndication Links plugin settings page into your list of feeds at https://micro.blog/account/feeds.

Screencapture of the Syndication Links settings UI

Create a post, select Micro.blog as an endpoint in the relevant meta-box, and publish your post.

Once published, your post will ping Micro.blog’s server to indicate the new content which will then be displayed in your timeline. The Syndication Links plugin will then find the permalink URL of your post on Micro.blog and display it on your post (as per your settings) along with any other syndicated copies. This notification process is roughly real time, but may take a minute or two for your post to display and the syndication link to appear on your site based on the processing times on the relevant servers.

Screencapture of a post on my site featuring the new Syndication Links features for micro.blog
Here’s an example of what Syndication Links looks like on a post recently syndicated to Micro.blog. This example was syndicated to both Micro.blog and Twitter.

As an added bonus, Syndication Links plugin will also find the syndication links from Micro.blog in your current feed and add those to your original posts.

If you have any questions, need clarifications, or find bugs with regard to your set up, you can file issues for the plugin on GitHub.

 

Improving RSS Subscription Workflows with SubToMe

I love that WordPress has some built-in functionality within WordPress.com and many themes to allow one to easily build and display a social media menu on a website. Frequently these are displayed in headers, footers, or even sidebars of websites.  I have one in the footer of my website that looks like this:

Screencapture of my social links for email, RSS, Twitter, Instagram, LinkedIn, etc.

The RSS icon and links are automatically generated for me by simply putting in any RSS feed that has a /feed/ path in its URL. 

While this is great, clicking on the RSS icon link goes to a page with a hodgepodge of markup, content, and meta data and typically requires multiple additional steps and prior advanced knowledge of what those steps should be to do something useful with that link/page. In other words the UI around this (and far too many other RSS icons) is atrocious, unwelcoming, and generally incomprehensible to the general public. (Remember those long and elaborate pages newspapers and magazines had to define RSS and how to use it? It’s a HUGE amount of cognitive load compared to social media following UI in Facebook, Twitter, Instagram, et al. which just works™.) 

Fortunately Julien Genestoux and friends have created an elegant solution in SubToMe, described as a Universal Follow button, that is open, non-intrusive, protects privacy, and works with virtually any feed reader. It uses some JavaScript to create a pop-up that encourages users to use any of various popular feed readers (or the one of their choice). The UI flow for this is far superior and useful for the casual web-user and has the potential to help along the renaissance of feed readers and consumption of web content in a way that allows readers more control over their reading than social media platforms like Twitter, Facebook, and Instagram that mandate their own proprietary reading algorithms.

While one can embed SubToMe directly into a website (I do this with a Follow button in my site’s top right sidebar, for example) or using Julien and MatthiasWordPress plugin, I suspect it would be far easier if some of this functionality were built directly into WordPress core in some way. Or alternately, is there an easy way to put data into one of the common fields (or wrap it) in these social links menus, so that when a user clicks on the relatively ubiquitous RSS icon in those social links menus, that it triggers a SubToMe-like subscription workflow? 

I would suspect that WordPress.com might try something like this and naturally recommend their own beautiful reader, which was relatively recently redesigned by Jan Cavan Boulas et al., using a bit of functionality which SubToMe kindly provides.

I think that the simplification of this RSS reader subscription workflow would go a LONG way toward making it more successful and usable. It could also provide massive influence on increasing the use of feed readers in general and the WordPress Reader in particular.

I do note that there is a form of follow functionality built into WordPress.com-based websites, but that’s locked into the .com platform or needs a plugin for self-hosted sites. It also only benefits the WordPress.com reader rather than other readers in the space. Some of the issue here is to fix the NASCAR problem of needing dozens of plugin solutions and widgets to have what amounts to the same functionality on each platform in existence. I think it’s far more important for the open web to be able to do these sorts of simple functionalities in a more standardized way to give users more freedom, flexibility and choice. The standardization makes it easier for competition in a market economy to gradually improve this sort of user interface over time.

If someone did undertake some development in this area, I’d give bonus development points on this for:

  • Is there a way to do this without JavaScript to get around the js;dr potentiality?
  • Is there a way for this to find not only the common main and comments feeds for posts, but also for the affiliated /category/feed/ and /tag/feed/ taxonomy feeds on posts to allow for subscriptions to niche areas of websites that cover multiple broad topics? I know David Shanske has done some work on feed discovery in WordPress recently for the Yarns Microsub Server that may be useful here.
  • Is there a way to talk major browsers into adding this into their products?

I wonder if Jeffrey Paul, Jeremy Felt, Matthias Pfefferle, Jeffrey Zeldman or others may have some ideas about broader implementation and execution of something like this for improved UI in these areas? 

Replied to a post by Zsolt BenkeZsolt Benke (decoding.io)

I made a lot of adjustments to my blog to use IndieWeb technologies, so in essence: I can reply, like or repost tweets, receive mentions as comments here, and update my status, all from Decoding.

This is really cool, since I can keep everything under my control, but I can participate in social services.

Kudos!

I love the clean simplicity of your site too. Is your theme open-sourced? I suspect that there are many who would consider using it.

Replied to Agenda for Nov. 22nd Meeting by Todd ConawayTodd Conaway (Teaching and Learning on the Open Web)

We should make some agreements about our focus.

  • Are we continuting with various tools and sharing them on this site?
  • Should we focus more on building out our own domains and share that process?
  • Both? Other? 
  • Where shall we go?
Todd, I’ve randomly come across this post today and thought I’d toss out some additional ideas to consider if you haven’t already made up your minds.

If you’re thinking about doing something like WithKnown (aka Known, the CMS your post is on), and interested in the WordPress portion, you might consider doing a full/partial Domain of One’s Own program through Reclaim Hosting or even rolling your own. Even if you go small with just a few classes, you might consider adapting the Homebrew Website Club model at your site where you invite students to tinker around, help each other out, and then show off or demonstrate their work. The related IndieWeb wiki and online chat are free to join and can provide a wealth of information and help for students (and educators!) working at owning their own domains.

Incidentally, if you’re unaware, WordPress now has a suite of plugins that will allow it to have a lot of the site-to-site communication capabilities that Known does. I’ve not done it before, but I’m fairly certain you could run it on a multiuser installation of WordPress much the same way you’re using http://janevangalen.com/cms/.

Another interesting option would be to have students try out accounts on micro.blog which are relatively inexpensive, though I suspect if you touched base with Manton Reece and explained what you were doing, he might offer free or significantly reduced hosting for a reasonable period of time. I know he’s given away a year of free hosting to attendees of IndieWebCamps who are starting out with their own domains. If he did then you might be able to use some institutional funds to purchase domains for students to get them started.

I’m happy to spitball ideas in these areas if you’re interested. I’m glad to see others experimenting around with the ideas around DoOO and IndieWeb for Education!

By the way, good on you for opening up your planning process for teaching and learning on the open web. It certainly sets a useful example for others who are exploring and following in your footsteps.

Watched Connecting to the IndieWeb Movement by Jim GroomJim Groom from bavatuesdays

B4CoUflCUAEMNpG

Tomorrow at 12 PM Eastern/ 9 AM Pacific I’ll be be hosting a Connected Courses discussion that will explore the IndieWeb movement as a people-centered response to the corporate web. How do core IndieWeb principles such as owning your content, remaining better connected, and redefining control online intersect with the values of connected learning? Take a bit of time tomorrow and join myself, Mikhail GershovichBen WerdmullerErin Jo Richey, and Simon Thomson to find out more.

I particularly love how they all underline the humanity that should and does underlie the web. This is certainly a classic for the area of IndieWeb and education. I’m not sure how I hadn’t seen this before.

[Withknown is] the posterchild of the IndieWeb.
— Jim Groom

I’ll agree that it is pretty darn awesome!

Some slight rephrasings from Ben in the video that I thought were spot on:

IndieWeb: allowing people to connect online without caring about what platforms or services they’re using.

IndieWeb puts the learner first. The LMS, which primarily serves an administrative function, should not be the center of the process.