Quoted Slack chat by Chris BeckstromChris Beckstrom (chat.indieweb.org)
...holy crap this stuff [IndieWeb] is great. When I started getting webmentions from social media using Bridgy I flipped. It's like we're in the future!!!

I remember the early days of Twitter when people were excited about what it was and what it could do. Even then I don’t think people were as excited as Chris Beckstrom was when he made what is certainly the IndieWeb quote of the week this morning.

Syndicated copies to:

Enabling two way communication with WordPress and GitHub for Issues

This week, using the magic of open web standards, I was able to write an issue post on my own website, automatically syndicate a copy of it to GitHub, and later automatically receive a reply to the copy on GitHub back to my original post as a comment there. This gives my personal website a means of doing two way communication with GitHub.

This functionality is another in a long line of content types my website is able to support so that I’m able to own my own content, yet still be able to interact with people on other websites and social media services. Given the number of social sites I’ve seen disappear over the years (often taking my content with them), this functionality gives me a tremendously larger amount of control and ownership over my web presence and identity while still allowing me to easily communicate with others.

In this post I wanted to briefly sketch what I’ve done to enable this functionality, so others who are so inclined can follow along to do the same thing.

Setting up WordPress to syndicate to GitHub

I’ll presume as a first step that one has both a GitHub account and a self-hosted WordPress website, though the details will also broadly apply to just about any content management system out there that supports the web standards mentioned.

Register your GitHub account and your website with Bridgy

Ryan Barrett runs a fantastic free open sourced service called Bridgy. To use it you’ll need the microformat rel=​​​“me” links on both your GitHub account and your website’s homepage that point at each other.  GitHub will do most of the work on its side for you simply by adding the URL of your website to the URL field for your GitHub account at https://github.com/settings/profile. Next on your website’s homepage, you’ll want to add a corresponding rel=​​​​​“me” link from your website to your GitHub account.

In my case, I have a simple widget on my homepage with roughly the following link:
<a href="https://github.com/username">GitHub</a>
in which I’ve replaced ‘username’ with my own GitHub username. There are a variety of other ways to add a rel=​​​​​“me” link to your webpage, some of which are documented on the IndieWeb wiki.

Now you can go to Brid.gy and under “Connect your accounts” click on the GitHub button. This will prompt you to sign into GitHub via oAuth if you’re not already logged into the site. If you are already signed in, Brid.gy will check that the rel=​​​​​“me” links on both your site and your GitHub account reciprocally point at each other and allow you to begin using the service to pull replies to your posts on GitHub back to your website.

To allow Brid.gy to publish to GitHub on your behalf (via webmention, which we’ll set up shortly), click on the “Publish” button.

Install the Webmention Plugin

The underlying technology that allows the Bridgy service to both publish on one’s behalf as well as for the replies from GitHub to come back to one’s site is an open web standard known as Webmention. WordPress can quickly and easily support this standard with the simple Webmention plugin that can be downloaded and activated on one’s site without any additional configuration.

For replies coming back from GitHub to one’s site it’s also recommended that one also install and activate the Semantic Linkbacks Plugin which also doesn’t require any configuration. This plugin provides better integration and UI features in the comments section of one’s website.

Install Post Kinds Plugin

The Post Kinds Plugin is somewhat similar to WordPress’s Post Formats core functionality, it just goes the extra mile to support a broader array of post types with the appropriate meta data and semantic markup for interacting with Bridgy, other web parsers, and readers.

Download the plugin, activate it, and in the plugin’s settings page enable the “Issue” kind. For more details on using it, I’ve written about this plugin in relative detail in the past.

Install Bridgy Publish Plugin

One can just as easily install the Bridgy Publish Plugin for WordPress and activate it. This will add a meta box to one’s publishing dashboard that, after a quick configuration of which social media silos one wishes to support, will allow one to click a quick checkbox to automatically syndicate their posts.

Install the Syndication Links Plugin

The Syndication Links plugin is also a quick install and activate process. You can modify the settings to allow a variety of ways to display your syndication links (or not) on your website if you wish.

This plugin will provide the Bridgy Publish Plugin a place to indicate the permalink of where your syndicated content lives on GitHub. The Bridgy service will use this permalink to match up the original content on your website and the copy on GitHub so that when there are replies, it will know which post to send those replies to as comments which will then live on your own website.

Post away

You should now be ready to write your first issue on your website, cross post it to GitHub (a process known in IndieWeb parlance as POSSE), and receive any replies to your GitHub issue as comments back to your own website.

Create a new post.

In the “Kinds” meta box, choose the “Issue” option.

Screen capture of the Kinds meta box with "Issue" option chosen.
Kinds meta box with “Issue” option chosen.

Type in a title for the issue in the “Title” field.

In the “Response Properties” meta box, put the permalink URL of the Github repopository for which you’re creating an issue. The plugin should automatically process the URL and import the repository name and details.

The “Response Properties” meta box.

In the primary editor, type up any details for the issue as you would on GitHub in their comment box. You can include a relatively wide variety of custom symbols and raw html including

and  with code samples which will cross-post and render properly.

In the GitHub meta box, select the GitHub option. You can optionally select other boxes if you’re also syndicating your content to other services as well. See the documentation for Bridgy and the plugin for how to do this.

Screen capture of the Bridgy Publish meta box with GitHub chosen
Bridgy Publish meta box with GitHub chosen.

Optionally set any additional metadata for your post (tags, categories, etc.) as necessary.

Publish your post.

On publication, your issue should be automatically filed to the issue queue of the appropriate GitHub repo and include a link back to your original (if selected). Your post should receive the syndicated permalink of the issue on GitHub and be displayed (depending on your settings) at the bottom of your post.

Syndication Links Plugin will display the location of your syndicated copies at the bottom of your post.

When Bridgy detects future interactions with the copy of your post on GitHub, it will copy them and send them to your original post as a webmention so that they can be displayed as comments there.

An example of a comment sent via webmention from GitHub via Brid.gy. It includes a permalink to the comment as well as a link to the GitHub user’s profile and their avatar.

If you frequently create issues on GitHub like this you might want a slightly faster way of posting. Toward that end, I’ve previously sketched out how to create browser bookmarklets that will allow you one click post creation from a particular GitHub repo to speed things along. Be sure to change the base URL of your website and include the correct bookmarklet type of “issue” in the code.

The Post Kinds plugin will also conveniently provide you with an archive of all your past Issue posts at the URL http://example.com/kind/issue/, where you can replace example.com with your own website. Adding feed/ to the end of that URL provides an RSS feed link as well. Post Kinds will also let you choose the “Reply” option instead of “Issue” to create and own your own replies to GitHub issues while still syndicating them in a similar manner and receive replies back.

Other options

Given the general set up of the variety of IndieWeb-based tools, there are a multitude of other ways one can also accomplish this workflow (both on WordPress as well as with an infinity of other CMSes). The outline I’ve provided here is one of the quickest methods for beginners that will allow a relatively high level of automation and almost no manual work.

One doesn’t necessarily need to use the Post Kinds Plugin, but could manually insert all the requisite HTML into their post editor to accomplish the post side of things via webmention. (One also has the option to manually syndicate the content to GitHub by cutting and pasting it as well.) If doing things manually this way is desired, then one will need to also manually provide a link to the syndicated post on GitHub into their original so that Bridgy can match up the copy and the original to send the replies via webmention.

More details on how to use Bridgy with Github manually in conjunction with WordPress or other CMSes can be found here: https://brid.gy/about#github-issue-comment

Further steps

If you’ve followed many of these broad steps, you’ve given already given yourself an incredibly strong IndieWeb-based WordPress installation. With a minimal amount of small modifications you can also use it to dovetail your website with other social services like Twitter, Facebook, Flickr, Instagram, Google+ and many others. Why not take a quick look around on the IndieWeb wiki to see what other magic you can perform with your website!

I’ve documented many of my experiments, including this one, in a collection of posts for reference.

Help

If you have questions or problems, feel free to comment below or via webmention using your own website. You can also find a broad array of help with these plugins, services, and many other pieces of IndieWeb technology in their online chat rooms.​​​​​​​​

Syndicated copies to:
Replied to Support GitHub · Issue #56 · dshanske/bridgy-publish (GitHub)
Bridgy now supports stars (likes), replies and new issues in early beta. I believe the Issue kind is coming to post-kinds. Forgive me if this is already being worked on.

@snarfed and @dshanske are brilliant!

With any luck, this will be my first POSSE reply to Github via my WordPress site using Bridgy Publish.

Syndicated copies to:

Reply to Why we transitioned from Medium back to our own blog | Baremetrics

Replied to Why we transitioned from Medium back to our own blog by Josh Pigford (Baremetrics)
Where to publish something has becoming a difficult decision for a lot of businesses. You read so many stories about using various channels to distribute content and grow traffic, it’s hard to know what does and doesn’t work. Medium, in particular, has become a major player in the world of startup content, but is it really that great? [...] The numbers just didn’t make sense. Yes, I could put more into Medium and try to build up readership even more. The guys at Basecamp regularly get 250k+ views on their content. But doing that helps Medium the most in the long run. They’ve been fumbling left and right trying to figure out how to make Medium sustainable, and I’m just not convinced they’ll always do what’s best for us and our business. Switching back Now I didn’t want to throw out distribution on Medium entirely. There can definitely be some benefit to syndicating content there. It’s essentially another distribution channel to expose people to our content. So we needed a game plan on how we could still make use of Medium as a distribution channel without cannibalizing our own readership or SEO work.

This is 100% on the mark, you should definitely own your own content. Syndicating it out to Medium is a great idea, particularly when you can get a rel=”canonical” tag for the original on Medium. Incidentally Medium has their own WordPress plugin that will allow you to quickly and easily syndicate your site’s content directly to Medium without needing to separately import it. It’s also available on a per post basis.

But, even with this, you’re only getting 50% of the value of having your own website because you’ve only got one way communication out. Next you’ll need communication back in. What if I said you could get a lot of the comments, likes, and interactions from those other silos back into your website too? This way the conversations others are having relating to your content also come back to your site and enrich it there? What if you could own all (or almost all) of the conversation around your content?

Think about it, what if there was an @mention functionality that worked from website to website instead of being stuck inside Twitter, Facebook, Google+, Instagram, Flickr etc.? Interestingly, it exists! And you can set it up for free with last year’s new W3C Webmention protocol which already has WordPress plugins ready to go. Roughly for WordPress you’ll need the Webmentions plugin, the Semantic Linkbacks plugin, the Syndication Links plugin, a few strategically placed rel=”me” tags on your site, (maybe some tweaks to your microformats on your theme), and a free Brid.gy account. Details for setting it up can be found on the WordPress pages of the indieweb.org website. I suspect if you’re strong enough to have figured out the tech for your article, you could probably have it up and running in under an hour or so. Then instead of feeding content from your blog to the black hole of social media, you could have actual two-way communication with many social silos! Now you won’t need to pay as much attention to those other sites as you can use your WordPress site as an “app” to interact with them instead.

I’m happy to help walk you through it if you’re interested and need help. My own personal site has some documentation of some of the above as well as examples of how it works.

In some sense, hopefully this post on my site will be an interesting exemplar. I own it and “loaned” or syndicated copies to Disqus and Twitter. Comments, likes and reposts you make to the Twitter copy will automatically be ported back here after the fact using Brid.gy. (Sadly, Disqus isn’t supported–yet.)

Syndicated copies to:

Reply to @sikkdays @seanl I’m happy to help too if you like.

Replied to A post on Mastodon by Chris AldrichChris Aldrich (Mastodon)
@sikkdays @seanl I'm happy to help too if you like. There may be some inactive and even forked projects within the broader scope, but then there are lots which are flourishing. WordPress in particular is one of those since, it's what you mentioned: https://indieweb.org/Getting_Started_on_WordPress A good place to start is to jump into the IndieWeb chat (via web, IRC, Slack, etc.) https://indieweb.org/discuss For a quick overview, try here: altplatform.org/2017/07/28/an-introduction-to-the-indieweb/

Testing out to see if I can reply to Mastodon via my own website. This is going to be awesome if it works!!!

Using Facepiles in Comments for WordPress with Webmentions and Semantic Linkbacks

An update to an IndieWeb WordPress plugin now facilitates more streamlined conversations and interactions online

Today, through the brilliant and diligent work of David Shanske and Matthias Pfefferle (as well as Ashton McAllan and many other opensource contributors), I’ve enabled facepiling for likes, reposts, and mentions within my website’s comment section using the Semantic Linkbacks plugin for WordPress (in conjunction with the Webmention plugin.)

What does this mean? My personal website both sends and accepts Webmentions, a platform independent “at mention” or @mention, including those from the fantastic, free service brid.gy which sends replies/comments, likes, reposts, and mentions to my site from silo services like Facebook, Twitter, Instagram, Google+, and even Flickr.

As I’ve long known, and as someone noted at least once on my site, some of these likes, replies, and mentions, which provide some interesting social interaction and social proof of a post’s interest, don’t always contribute to the actual value of the conversation. Now with this wonderful facepiling UI-feature, I’m able to concatenate these types of interactions into a smaller and more concentrated section at the bottom of a post’s comments section, so they’re still logged and available, but now they just aren’t as distracting to the rest of the conversation.

Compare the before and after:

Before

A mention, a Facebook like, another mention and a repost on Twitter. Anil’s comment is pretty useful, but the others don’t add as much to the ideas in the post.
Richard MacManus “liked” the post and subsequently wrote about it on AltPlatform (relatively useful) along with some tangential mentions, which don’t add as much to the conversation. The raw URL of Gisele’s Twitter post likely looked better natively on Twitter (as a Twitter Card), but translated onto my site as a mention like this, just isn’t as useful.

After

Likes and Reposts concatenated on my site now after converting them into facepiles. They still give the social “proof” and indicate the interaction, but don’t interfere in the conversation now–especially when there are hundreds of them.

 

A Prime Example

In particular, this functionality can best bee seen on my article The Facebook Algorithm Mom Problem, which has over 400 such interactions which spanned pages and pages worth of likes, reposts, and mentions. Many of my posts only get a handful of these types of interactions, but this particular post back in July was overwhelmed with them when it floated to the top of Hacker News and nearly crippled my website. Without the facepile functionality, the comments section of this post was untenably unreadable and unusable. Now, with facepiles enabled, the comments are more quickly read and more useful to those who are interested in reading them while still keeping the intent.

Implementing

For those who have already begun Indiewebifying their WordPress sites with plugins like Webmention and Semantic Linkbacks, the most recent 3.5.0 update to Semantic Linkbacks has the functionality enabled by default. (Otherwise you can go to your administrative dashboard and click on the checkbox next to “Automatically embed facepile” located under Settings » Discussion).

Settings interface for enabling or disabling facepiles in your comments section with Semantic Linkbacks (and Webmentions)

As a caveat, there’s a known bug for those who are using JetPack to “Let readers use WordPress.com, Twitter, Facebook, or Google+ accounts to comment”. If the facepiles don’t show up on your site, just go to your JetPack settings (at yoursite.com/wp-admin/admin.php?page=jetpack#/discussion) and disable this feature. Hopefully, the JetPack team will have it fixed shortly.

If you haven’t begun using IndieWeb principles on your WordPress website, you might consider starting with my article An Introduction to the IndieWeb, which includes some motivation as well as some great resources for getting started.

Nota bene: I know many in the WordPress community are using the excellent theme Independent Publisher, which already separates out likes, mentions, etc. (though without the actual “facepiles”), so I’m not sure if/how this functionality may work in conjunction with it. If you know, please drop me a note.

Hopefully most WordPress themes will support it natively without any modifications, but users are encouraged to file issues on the plugin if they run across problems.

Using another platform?

I’m not immediately aware of many other CMSes or services that have this enabled easily out of the box, but I do know that Drew McLellan enabled it (along with Webmentions) in the Perch CMS back in July. Others who I’ve seen enabling this type of functionality are documented on the IndieWeb wiki in addition to Marty McGuire and Jeremy Keith, who has a modified version, somewhat like Independent Publisher’s, on his website.

There are certainly many in the IndieWeb community who can help you with this idea (and many others) in the IndieWeb’s online chat.

Give it a spin

Now that it’s enabled, if you’re reading it on my website, you can click on any of the syndicated copies listed below and like, retweet/repost, or mention this article in those social media platforms and your mention will get sent back to my post to be displayed almost as it would be on many of those platforms. Naturally comments or questions are encouraged to further the ongoing conversation, which should now also be much easier to read and interact with.

Thanks again to everyone in the IndieWeb community who are continually hacking away to allow more people to more easily own and control their content while still easily interacting with people on the internet.

UPDATE

Turning mentions into comments for native display

Following Aaron Davis’ comment, I thought I’d add a few more thoughts for those who have begun facepiling their likes, mentions, bookmarks, etc. As he indicates, it’s sometimes useful to call out a particular mention, a special like, or you might want to highlight one among the thousands for a particular reason. This is a feature that many are likely to want occasionally and code for it may be added in the future, but until then, one is left in the lurch a bit. Fortunately, as with all things IndieWeb, part of the point is having more control over your site to be able to do anything you’d like to it. So for those without the ability to write the requisite code to create a pull request against the Webmention or Semantic Linkbacks plugins (they’re more than welcome), here are a few quick cheats for converting that occasional (facepiled or not) webmention into a full comment within your WordPress site’s comment section.

Pro tip: This also works (even if you’re not using facepiles) to convert a basic mention into something that looks more like a native comment. It’s also useful when you’ve received a mention that you’d prefer to treat as a reply, but which wasn’t marked up as a reply by the sending site.

I’ll use an example from the Facebook Algorithm Mom Problem post referenced above. On that post, I’d received a webmention via Twitter from Anil Dash, a blogger and advocate for more humane, inclusive and ethical technology, with some commentary about usability. Here is his original tweet:

That webmention is now hidden behind an avatar and not as likely to be seen by more casual readers. I’d like to change it from being hidden behind his avatar in that long mention list and highlight it a bit to make it appear as a comment in the full comments section.

On a post with a large number of mentions, you’re very unlikely to find some of the valuable nectar hiding in them. Do you see Anil Dash’s lovely mug hiding among all these avatars? (Hint, it’s not a “blank” avatar caused by someone having changed their Twitter, Facebook, etc. avatar.)

Steps to convert a mention to a comment

Caution: I recommend reading through all the steps before attempting this. You’ll be modifying your WordPress database manually, so please be careful so you don’t accidentally destroy your site. When doing things like this, it’s always a good idea to make a back up of your database just in case.

  1. Search for the particular comment you want to change in the WordPress Admin UI.
  2. Hover over the date in the “Submitted On” column to find the comment ID number in the URL, in this case it’s http://boffosocko.com/2017/07/11/the-facebook-algorithm-mom-problem/#comment-35281. Make a note of the comment ID: 35281.
  3. Open up the mySQL database for your WordPress install (I’m using phpMyAdmin) to view the data for your site.
  4. Go to the wp_comments table in the database. (Yours may be slightly different depending on how your site was set up, but it should contain the word “comments”.)
  5. Use the search functionality for your table and input your comment ID number into the field for comment_ID.
  6. We’ve identified the specific comment we want to modify in phpMyAdmin.
  7. Now delete the word “webmention” from the comment_type field for the particular comment. This field should now be empty.
  8. You should now be able to view your post (be sure to clear your cache if necessary) and see the mention you received displayed as a native comment instead of a mention. It should automatically include the text of the particular mention you needed.
Here’s what the modified mention from Anil Dash looks like in my comments section now. It appears as if it were a native comment.

If you need to convert a large number of mentions into comments, you may be better off searching for the particular post’s post_ID in the comments table and changing multiple comment_type fields at once. Be careful doing this in bulk–you may wish to do a database back up before making any changes to be on the safe side.
​​​

Syndicated copies to:

Reply to Introducing Speed of Light Discussions by Jason Brennan

Replied to Introducing Speed of Light Discussions by Jason Brennan (Near the Speed of Light)
Today I’m happy to announce I’ve added a discussions section to the website, directly below each article. Here you’ll be able to directly respond to what you’ve just read, share your thoughts, and have a discussion with other readers of my site. Today’s post is going to take a bit of a look inside why I’m doing this and how discussions work.

Jason your blogpost does a great job of laying out the values (and distractions) of comments on blogs and why someone would want to have them. I particularly like your choice to call this area of his personal site a “Discussion” area instead of the traditional “Comments” moniker most would give it.

Some of your early discussion reminded me of articles by Audrey Watters in which she delineated pieces of why she’s turned off comments on her site and why she also turned off annotations recently. It’s definitely important to have control and agency over one’s own domain, which she also writes about rather eloquently in A Domain of One’s Own in a Post-Ownership Society.

While you use the oft-quoted statement (usually said in a dismissive tone in my experience):

If you want to respond, do so on your own website and tell me.

in the section espousing not allowing comments, I realize that this long-held concept of writing on your own website not only has significant value, but that the Indieweb way of replying and utilizing Webmentions (with moderation enabled if one prefers) for the notifications portion adds even more tremendous value.

Far too often, either in a blog’s comments section or even within social media, it’s all too easy to post an ill-conceived or hurtful drive-by response. It takes little time and thought to say “me too”, “I hate you”, “insert slur here”, or even click an innocuous “like” button many which do nothing for the conversation or discussion being proffered by the site owner. Worse, a very small portion of the world will see that a reader took these actions because they don’t really reflect heavily, if at all, within the reader’s own online presence–who searches for comments others have made online? How would you easily? It’s usually in these interactions that only the writer who spent some significant time trying to communicate can be crushed by overwhelming negativity rather than being showered with the intelligence, logic, or forethought they deserve for putting themselves out there, much less receiving praise for their work. It’s no wonder that people prefer to turn off comments.

Earlier this evening as I was reviewing the online discussion from the San Francisco Homebrew Website Club, I saw a comment from bdesham captured by Tantek Çelik, “I heard not having comments on Tumblr was a deliberate design, to avoid abuse, so to comment you have to reblog?” I recall having an HWC at Yahoo’s LA headquarters and hearing from someone within Yahoo that indeed this was exactly the reason that drove this piece of UX/UI. If you wanted to comment on Tumblr, you had to repost the content to your own front page along with the comment. This meant that you had to take true ownership of your words as they appeared front and center on your own site there. Who wants to publicly mark themselves with a proverbial Scarlet Letter just to be mean? (Some will, but increasingly many won’t because it redounds directly to their reputation.) Perhaps this is why some of the most marginalized people on the internet heavily use Tumblr and feel safe within their communities there?

As some will know, for the past few years I’ve been using the W3C’s recommended Webmention specification, a sort of cross-website universal @mention or @reply, which I’ve implemented on WordPress with the Webmention plugin and a few others, to accept replies/comments and other associated interactions on my blog in addition to the traditional comments box. While the traditional comment box has largely been unused on my site–making it often feel in the early days like I was “spewing words out into the void” as Jason describes–the Webmention piece seems to have made a far larger difference to me.

The majority of the interaction my site receives comes via Webmentions from Brid.gy in the form of short one-offs or simple “likes” which are backfed from Facebook, Twitter, or Google+. However a growing number of interactions are actually interesting and more substantive discussions. It’s these more “traditional” replies via Webmention that have the most value to me. They are better thought out replies and helpful commentary, which almost always appear front and center on the commenter’s own site (much the way Tumblr designed theirs) before they ever appear on my site  as a comment. As Jason astutely points out, having comments that are longer than 140 characters can be very valuable as well; since my commenters are posting on their own sites where they have ultimate freedom, most of them aren’t constrained in any way except perhaps for the amount of time they wish to take.

So here you are Jason, I’ve commented by posting on my own site first and notifying you by manually copying it to your discussion section where others can participate as well. (If you supported receiving Webmentions, the interaction would be automatic and nearly seamless.) I’m curious if you’d consider implementing the Webmention spec (both sending and receiving) on your website and if you think it would have the same intended effect you mean when you enabled “Discussions” on yours?–I know it feels like it has on mine.

If you care to reply back, feel free to reply on your own site, include a permalink to my original and use the manual Webmention form (below the traditional comment box) and click “Ping Me!” Of course, if you’re old school, feel free to dust off the old comment box and give that a whirl too!


Some additional miscellaneous thoughts, highlights, and short comments on Jason’s post:

Comments sections often become shouting matches or spam-riddled.

They can also become filled with “me too” type of commentary which more than often doesn’t add anything substantive to the conversation.

One of my all-time favorite comment moderation notes comes from the FAQ section of Peter Woit’s blog under “Why Did you Delete my comment?” He writes:

I delete a lot of the comments submitted here. For some postings, the majority of submitted comments get deleted. I don’t delete comments because the commenter disagrees with me, actually comments agreeing with me are deleted far more often than ones that disagree with me. The overall goal is to try and maintain a comment section worth reading, so comments should ideally be well-informed and tell us something true that we didn’t already know. The most common reason for deleting a comment is that it’s off-topic. Often people are inspired by something in a posting to start discussing something else that interests them and that they feel is likely to interest others here. Unfortunately I have neither the time nor inclination to take on the thankless job of running a general discussion forum here.

I hope my thoughts pass the Woit-comment-test for Jason.

 

For a website the size and popularity of Daring Fireball, it’d probably be madness to foster any kind of coherent conversation.

Certainly to do it without a staff would be difficult… Again here, Audrey Watter’s post about turning off comments indicates to some extent that even though she views her site as her personal blog, it’s audience, like that of Daring Fireball, has gotten so large that it’s not just friends, family, and community, but something beyond “community” (beyond the pale) that changes the dynamic of accepting comments.

 

I never felt like I was talking with anyone or anyone’s website, but more like I was spewing words out into the void.

I often feel this way, but supporting Webmentions and backfeed has largely negated these feelings for me in the last few years. I can now communicate directly with websites (and their authors) that support these open protocols.

 

It has the added benefit of making one-word smart-ass posts impossible.

I do remember the days of old, when people would comment “First!”, but beyond that #OneWordSmartAss is usually overrated unless you’re a professional comedian like Jon Stewart.

Syndicated copies to:

Reply to What the New Webmention and Annotation W3C Standards Mean for WordPress | WPMUDEV

Replied to What the New Webmention and Annotation W3C Standards Mean for WordPress
Commenting on blog posts and other website articles is a divisive topic in web circles. WPMU DEV has as many articles about dispensing with comments altogether as it does with fostering conversation through WordPress!

Michael, good job bringing some attention to these two new specs!

After having used Webmentions on my site for 2+ years, I think you (and the Trackbacks vs Pingbacks vs Webmentions for WordPress article) are heavily underselling their true value. Yes, in some sense they’re vaguely similar to pingbacks and trackbacks, but Webmentions have evolved them almost to the point that they’re now a different and far more useful beast.

I prefer to think of Webmentions as universal @mentions in a similar way to how Twitter, Facebook, Google+, Instagram, Medium and others have implemented their @mentions. The difference is that they work across website boundaries and prevent siloed conversations. Someone could use, for example, their Drupal site (with Webmentions enabled) and write (and also thereby own) their own comment while still allowing their comment to appear on the target/receiving website.

The nice part is that Webmentions go far beyond simple replies/comments. Webmentions can be used along with simple Microformats2 mark up to send other interactions from one site to another across the web. I can post likes, bookmarks, reads, watches, and even listens to my site and send those intents to the sites that I’m using them for. To a great extent, this allows you to use your own website just as you would any other social media silo (like Facebook or Twitter); the difference is that you’re no longer restrained to work within just one platform!

Another powerful piece that you’re missing is pulling in comments and interactions from some of the social services using Brid.gy. Brid.gy bootstraps the APIs of Facebook, Twitter, Instagram, Google+, and Flicker so that they send webmentions. Thus, I can syndicate a post from my WordPress site to Twitter or Facebook and people commenting in those places will be automatically sending their commentary to my original post. This way I don’t really need to use Facebook natively to interact anymore. The added bonus is that if these social sites get shut down or disappear, I’ve got a copy of the full conversation from other places across the web archived in one central location on my personal site!

To add some additional perspective to the value of Webmentions and what they can enable, imagine for a moment if both Facebook and Twitter supported Webmentions. If this were the case, then one could use their Facebook account to comment on a Tweet and similarly one could use their Twitter account to like a Facebook post or even retweet it! Webmentions literally break down the walls that are separating sites on the web.

For the full value of the W3C Webmention spec within WordPress, in addition to the Webmention plugin, I’d also highly recommend Semantic Linkbacks (to make comments and mentions look better on your WordPress site), Syndication Links, and configure Brid.gy. A lot of the basics are documented on the Indieweb wiki.

If it helps to make the entire story clearer and you’d like to try it out, here’s the link to my original reply to the article on my own site. I’ve syndicated that reply to Twitter and Facebook. Go to one of the syndicated copies and reply to it there within either Twitter/Facebook. Webmentions enable your replies to my Twitter/Facebook copies to come back to my original post as comments! And best of all these comments should look as if they were made directly on my site via the traditional comment box. Incidentally, they’ll also look like they should and absolutely nothing like the atrociousness of the old dinosaurs trackbacks and pingbacks.

Syndicated copies to:

@Mentions from Twitter to My Website

An outline of how I used Indieweb technology to let Twitter users send @mentions to me on my own website.

You can tweet to my website.

One of my favorite things about the indieweb is how much less time I spend on silo sites like Facebook and Twitter. In particular, one of my favorite things is not only having the ability to receive comments from many of these sites back on the original post on my own site, but to have the ability for people to @mention me from Twitter to my own site.

Yes, you heard that right: if you @mention me in a tweet, I’ll receive it on my own website. And my site will also send me the notification, so I can turn off all the silly and distracting notifications Twitter had been sending me.

Below, I’ll detail how I set it up using WordPress, though the details below can certainly be done using other CMSes and platforms.

rel=“me”

The rel=“me” is put on the link that wraps this Twitter icon in my h-card on my homepage.

On my homepage, using a text widget, I’ve got an h-card with my photo, some basic information about me, and links to various other sites that relate to me and what I’m doing online.

One of these is a link to my Twitter account (see screenshot). On that link I’m using the XFN’s rel=“me” on the link to indicate that this particular link is a profile equivalence of my identity on the web. It essentially says, “this Twitter account is mine and also represents me on the web.”

Here’s a simplified version of what my code looks like:

<a href="https://twitter.com/chrisaldrich" rel=“me">@chrisaldrich</a>

If you prefer to have an invisible link on your site that does the same thing you could alternately use:

<link href="https://twitter.com/twitterhandle" rel=“me">

Similarly Twitter also supports rel=“me”, so all I need to do there is to edit my profile and enter my website www.boffosocko.com into the “website” field and save it. Now my Twitter profile page indicates, this website belongs to this Twitter account. If you look at the source of the page when it’s done, you’ll see the following:

<a class="u-textUserColor" title="http://www.boffosocko.com" href="https://t.co/AbnYvNUOcy" target="_blank" rel="me nofollow noopener">boffosocko.com</a>

Though it’s a bit more complicated than what’s on my site, it’s the rel=“me” that’s the important part for our purposes.

Now there are links on both sites that indicate reciprocally that each is related to the other as versions of me on the internet. The only way they could point at each other this way is because I have some degree of ownership of both pages. I own my own website outright, and I have access to my profile page on Twitter because I have an account there. (Incidentally, Kevin Marks has built a tool for distributed identity verification based on the reciprocal rel=“me” concept.)

Webmention Plugin

Next I downloaded and installed the Webmention plugin for WordPress. From the plugin interface, I just did a quick search, clicked install, then clicked “activate.” It’s really that easy.

It’s easy, but what does it do?

Webmention is an open internet protocol (recommended by the W3C) that allows any website to send and receive the equivalent of @mentions on the internet. Unlike sites like Twitter, Facebook, Medium, Google+, Instagram, etc. these mentions aren’t stuck within their own ecosystems, but actually work across website borders anywhere on the web that supports them.

I use the domain name BoffoSocko as my online identity.

The other small difference with webmention is instead of using one’s username (like @chrisaldrich in my case on Twitter) as a trigger, the trigger becomes the permalink URL you’re mentioning. In my case you can webmention either my domain name http://www.boffosocko.com or any other URL on my site. If you really wanted to, you could target even some of the smallest pieces of content on my website–including individual paragraphs, sentences, or even small sentence fragments–using fragmentions, but that’s something for another time.

Don’t use WordPress?

See if there’s webmention support for your CMS, or ask your CMS provider or community, system administrator, or favorite web developer to add it to your site based on the specification. While it’s nice to support both outgoing and incoming webmentions, for the use we’re outlining here, we only need to support incoming webmentions.

Connect Brid.gy

Sadly, I’ll report that Twitter does not support webmentions (yet?!) otherwise we could probably stop here and everything would work like magic. But they do have an open API right? “But wait a second now…” you say, “I don’t know code. I’m not a developer.”

Worry not, some brilliant engineers have created a bootstrap called Brid.gy that (among many other useful and brilliant things) forces silos like Twitter, Facebook, Google+, Instagram, and Flickr to send webmentions for you until they decide to support them natively. Better, it’s a free service, though you could donate to the ASPCA or EFF in their name to pay it forward.

So swing your way over to http://brid.gy and under “Get started” click on the Twitter logo. Use OAuth to log into Twitter and authorize the app. You’ll be redirected back to Brid.gy which will then ensure that your website and Twitter each have appropriate and requisite rel=“me”s on your links. You can then enable Brid.gy to “listen for responses.”

Now whenever anyone @mentions you (public tweets only) on Twitter, Brid.gy will be watching your account and will automatically format and send a webmention to your website on Twitter’s behalf.

On WordPress your site can send you simple email notifications by changing your settings in the Settings >> Discussion dashboard, typically at http://www.exampl.com/wp-admin/options-discussion.php. One can certainly use other plugins to arrange for different types of notifications as well.

Exotic Webmentions

A bonus step for those who want more control!

In the grand scheme of things webmentions are typically targeted at specific pages or posts on your site. General @mentions on Twitter not related to specific content on your site will usually be sent to your homepage. Over time, this may begin to get a bit overwhelming and may take your page longer to load as a result. An example of this is Kevin Marks’ site which has hundreds and hundreds of webmentions on it. What to do if this isn’t your preference?

In my case, I thought it would be wise to collect all these unspecific or general mentions on a special page on my site. I decided to call it “Mentions” and created a page at http://boffosocko.com/mentions/.

Update

While the code snippet just below should work, as of the 3.3.0 update of the Webmention Plugin, there is now an automatic setting at /wp-admin/options-discussion.php that will allow you to use a dropdown UI box to choose the page on your site to which homepage webmentions will be directed.

Then I inserted a small piece of custom code in the functions.php file of my site’s (child) theme like the following:

// For allowing exotic webmentions on homepages and archive pages

function handle_exotic_webmentions($id, $target) {
// If $id is homepage, reset to mentions page
if ($id == 55669927) {
return 55672667;
}

// do nothing if id is set
if ($id) {
return $id;
}

// return "default" id if plugin can't find a post/page
return 55672667;
}

add_filter("webmention_post_id", "handle_exotic_webmentions", 10, 2);

This simple filter for the WordPress Webmention plugin essentially looks at incoming webmentions and if they’re for a specific page/post, they get sent to that page/post. If they’re sent to either my homepage or aren’t directed to a particular page, then they get redirected to my /mentions/ page.

In my case above, my homepage has an id of 55669927 and my mentions page has an id of 55672667, you should change your numbers to the appropriate ids on your own site when using the code above. (Hint: these id numbers can usually be quickly found by hovering over the “edit” links typically found on such pages and posts and relying on the browser to show where they resolve.)

Tip of the Iceberg

Naturally this is only the tip of the indieweb iceberg. The indieweb movement is MUCH more than just this tiny, but useful, piece of functionality. There’s so much more you can do with not only Webmentions and even Brid.gy functionality. If you’ve come this far and are interested in more of how you can better own your online identity, connect to others, and own your data. Visit the Indieweb.org wiki homepage or try out their getting started page.

If you’re on WordPress, there’s some additional step-by-step instructions: Getting Started on WordPress.

Syndicated copies to: