Aaron, there are a couple of different ways to set up IndieWeb replies in WordPress (or even on other platforms like Known).
Known has a simple reply mechanism, but isn’t always good at including the original context for the reply making the individual post as stand-alone as one might like. Known includes the URL of the post it’s a reply to, but that’s about it. It’s contingent upon the user reading the reply clicking on the link to the original post to put the two together. This is pretty simple and easy when using it to reply to posts on Twitter, but isn’t always as flexible in other contexts.
One of the added values of replies in WordPress is that there’s a bit more flexibility for including a reply context to the post. You’ll note that this reply has some context at the top indicating exactly to what it is I’m replying.
The first way to generically set up a reply on almost any platform that supports sending Webmentions is to write your reply and and include some simple semantic HTML along with the URL of the post you’re replying to that includes a class “u-in-reply-to” within the anchor tag like so: <div class="h-entry">
<a class="u-in-reply-to" href="http://example.com/note123">The post you're replying to</a>
<div class="p-name p-content"> Good point! Now what is the next thing we should do?</div>
If you’re using WordPress, you can do this manually in the traditional content block, though you likely won’t need the div with h-entry as your theme more likely than not already includes it.
More automated replies
If you’d like a quicker method for WordPress, you can use a few simple plugins to get replies working. Generally I recommend David Shanske’s excellent and robust Post Kinds Plugin which handles both reply contexts as well as all of the required markup indicated in the manual example above. Naturally, you’ll also want to have the Webmention Plugin for WordPress installed as well so that the reply is sent via Webmention to the original post so that it can display your reply (if it chooses to–many people moderate their replies, while others simply collect them but don’t display them.)
A few weeks ago I wrote about configuring and using the Post Kinds Plugin in great detail. You should be able to follow the example there, but just choose the “reply” kind instead of the “read” example I’ve used. In the end, it will look a lot like this particular reply you’re reading right now, though in this case, I’ve manually included your original tweet in the body of my reply. A more native Post Kinds generated reply to a tweet can be seen at this example: http://boffosocko.com/2016/08/17/why-norbert-weiner/
Naturally, your next question may be how to POSSE your replies to other services like Twitter. For that, there’s a handful of methods/plugins, though often I suggest doing things manually a few times to familiarize yourself with the process of what’s happening. Then you can experiment around with one or more of the methods/plugins. In general the easier the plugin is to set up (example: JetPack), the less control you have over how it looks while the more complicated it is (example: SNAP), the more control you have over how the output looks.
If you’d like, feel free to experiment sending replies back to this post while you try things out. If you need additional help, do join one or more of us in the IndieWeb chat.
A WordPress plugin that allows you to easily create a huge variety of social media post types to own your social media life online.
Within the broader social media world there are a huge variety of types of posts. These range from common articles to status updates to likes or favorites to more varied post types like photos, bookmarks, RSVPs, checkins, videos, reviews, jams, reads, audio, exercise, food, recipes, and even an exotic and rare chicken post type. While this list barely scratches the surface, the IndieWeb wiki has an almost exhaustive list along with examples.
Many social platforms sub-specialize in only one specific post type while others provide support for multiple types. Here are some common examples:
Twitter: status updates
Instagram: photos, videos
Facebook: status updates, articles, photos, videos, links, events, life events, checkins, emotions
LinkedIn: status updates, articles, résumés
Tumblr: text, photo, quote, link, chat, audio and video
Last.fm: listens (aka scrobbles)
Wouldn’t it be better to have a single personal website where you could post all these types of content easily and quickly?!
For a few years now, I’ve been posting these and many other types of posts on my personal website. When it’s appropriate I crosspost many of them to the social media silos that support these types so that friends, family, and colleagues can subscribe to them in the way that’s easiest for them.
Post Kinds Plugin
The Post Kinds Plugin for WordPress attempts to make it much easier to create customized displays for and format each of these types of posts (and many more). It leverages the flexibility and power of WordPress to be your single social media hub while, along with other IndieWeb friendly plugins, still allowing you to interact with other social networks.
Post Kinds Plugin not only indicates in the metadata what each post type is, but provides each post with some contextualization as well as the appropriate microformats classes to make it easier for other sites or parsers to interpret these posts. In short it helps to make status updates look like status updates; favorites appear like favorites; (schnozzberrys look like schnozzberrys); and RSVPs look like RSVPs in keeping with common user interfaces on many social platforms. (And in case you didn’t know, you can now post an RSVP on your own website and send a notification to posts elsewhere on the web of your intention!)
Post Kinds Plugin is different from WordPress’s Post Formats functionality
This sounds a little bit like the WordPress theme specific functionality of Post Formats, doesn’t it? Yes and resoundingly no!
Post Formats was a WordPress feature introduced in version 3.1, ostensibly to compete with other social platforms like Tumblr which offers the explicit post types of text, photo, quote, link, chat, audio and video.
Within WordPress, post formats are available for users to choose from if the theme enables support for them. And typically if they do support them they often provide specific display outputs and CSS styling that are controlled by the theme, often to make them look like what users have come to expect these post types to look like on other social media platforms. As an example, a “Status” post would typically display a short update which doesn’t include a title. Each theme that supports post formats chooses which ones they support, how to display them, and they can vary quite a bit from one theme to the next.
Below is the list of the nine supported formats with brief descriptions of their purpose taken from the WordPress codex:
aside – Typically styled without a title. Similar to a Facebook note update.
gallery – A gallery of images. Post will likely contain a gallery shortcode and will have image attachments.
link – A link to another site. Themes may wish to use the first <a href=” “> tag in the post content as the external link for that post. An alternative approach could be if the post consists only of a URL, then that will be the URL and the title (post_title) will be the name attached to the anchor for it.
image – A single image. The first <img /> tag in the post could be considered the image. Alternatively, if the post consists only of a URL, that will be the image URL and the title of the post (post_title) will be the title attribute for the image.
quote – A quotation. Probably will contain a blockquote holding the quote content. Alternatively, the quote may be just the content, with the source/author being the title.
status – A short status update, similar to a Twitter status update.
video – A single video or video playlist. The first <video width=”300″ height=”150″> tag or object/embed in the post content could be considered the video. Alternatively, if the post consists only of a URL, that will be the video URL. May also contain the video as an attachment to the post, if video support is enabled on the blog (like via a plugin).
audio – An audio file or playlist. Could be used for Podcasting.
chat – A chat transcript
There is anecdotal evidence that the WordPress Post Format functionality is slowly falling out of favor and there hasn’t been much, if any, change in how the feature works in the past several years.
The Post Kinds Plugin in many respects picks up where Post Formats left off, extends them significantly, and also builds a stronger platform for more modern website to website interactions.
The Post Kinds Plugin out of the box generally does an excellent job of styling with some generic CSS to make these various post types look and behave as one expects without any changes or modifications to one’s theme. However, designers are more than welcome to either customize their CSS to their hearts’ content, or, if they prefer, they can manually code specific template views to override the plugin’s original views within their theme or child theme.
Because, in part, the Post Kinds Plugin is designed for use with IndieWeb philosophies in mind, it has built in microformats support. What are microformats? They’re simple semantic classes added to the HTML of one’s site that allow parsers or other programs to read the data on your posts and pages to provide extended or increased functionality. WordPress’s core functionality already includes some microformats version 1 support; Post Kinds Plugin extends this quite a bit and uses the more modern version 2 specifications. Because Post Kinds takes care of these additional microformats, some older themes will have a leg up in the IndieWeb space despite having either limited or no theme support.
As an example using the reply post kind, the context from the site for which the particular post is actually a reply to is wrapped with the semantic class “p-in-reply-to”. As an example of the extended functionality provided by microformats, if one is using the Webmentions Plugin to send a webmention to the post that is being replied to, that remote site can parse the reply and display it properly as a reply in their comments section. (For WordPress sites receiving these webmentions, they can utilize the parser built into the Semantic Linkbacks Plugin.)
Similarly, bookmarklets, feed readers, or other programs could utilize these microformats and the data on your page to create customized views and displays.
Plugin Installation and Configuration
Installation of the plugin is relatively straightforward. From the Plugin tab in the WordPress admin interface, one can click the Add New button at the top of the page and either search for the plugin within the repository and install and activate it, or they can use the Upload Plugin button and install it from a prior download from either the WordPress repository or from the GitHub repository.
Configuration can be done from the Settings tab within the WordPress admin interface or, if the IndieWeb Plugin is installed, the settings can be found under IndieWeb » Post Kinds tabs in the admin interface.
Within the settings you can choose the post kinds you wish to enable on a particular site–not all sites will necessarily need or even want all types. I recommend only enabling the specific kinds you will actively be using; you can always come back and add additional types in the future. Some types may be enabled by other specific plugins that work in conjunction with Post Kinds Plugin.
Not having a post kind enabled will not disable the functionality on existing posts, it only hides the selection in adding new posts. This way if you enable favorites as a type and only use it a few times before deciding to disable it, the old posts will still exist and display properly.
You can also enable a Default Kind for New Posts. Most people will likely choose Article which is the default, but if your site is primarily used like a microblog for short status updates, then obviously Note may be your best default. Are you building a linkblog? Then you could enable the Bookmark kind.
How to use Post Kinds in practice
So how does this all actually work for creating posts?
Let’s start with a simple example. Let’s say I read a lot online and I’d like to have a linkblog of all of the articles I read. Let’s say I’m reading the article Lyme Disease’s Worst Enemy? It Might Be Foxesin the New York Times. I’d like to start out by creating a read post to indicate to those following me that I’ve read this particular article.
While I could do it manually, typically I’ll use a custom bookmarklet (more on how to do this shortly), which I click on in my browser bar as I read the article. The bookmarklet will create a new WordPress post and automatically fill in the URL of the article into the “Post Properties” metabox created by the Post Kinds Plugin in the admin UI of my WordPress site.
Then, I will click on the blue Retrieve button (pictured above) just under the post’s URL. The Post Kinds Plugin will parse the New York Times article page for either explicit metadata or Open Graph data to fill in some context about the article I’m reading in the Post Properties meta box. The main tab will autofill with the Name/Title of the article, a Summary/Quote of the article, and Tags if available. Similarly the other tabs in the Post Properties meta box including Details, Author, and Other will fill in with any available metadata about the Lyme disease post I’m reading.
In this particular example, the Times didn’t do a good job on the author data, so I’ll go to that tab and manually cut/paste the author’s name into the Author/Artist Name field, their URL into the Author/Artist URL field, and (optionally) the URL for their photo image as well. If other fields are improperly filled out or you would like to change them, one can manually adjust them if necessary. Not all kinds need (or show) all theses metadata fields when they’re ultimately published.
The retrieve button will also attempt to fill in an appropriate post Title into the posts’ field for that, but it can be modified manually if necessary. On many post kinds, though one may fill in an explicit (traditional WordPress post) title, it may not display on the final post because an explicit title isn’t really needed and the Post Kinds Plugin won’t display it. The note kind is a particular example of this behaviour.
Now that the contextual part of the post I’m reading is handled, I can, if I choose, add any notes, quotes, thoughts, or other personal data about what I’ve read into the main text box for the particular post.
The bookmarklet should have automatically set the post kind selector in the Kind metabox to Read and, if available, the older WordPress post format to link. (These can be changed or overridden manually if necessary.) Post Kinds does its best to properly and appropriately map Post Kinds to Post Formats, but the relationship isn’t always necessarily one-to-one and there are obviously many more kinds available than there are post formats.
Finally, the article can be published (unless you want to add any additional metadata to your post for other plugins or needs.)
Now I can also go to the URL of my personal site at http://example.com/kind/read/ where I can find an archive of this and all the posts I’ve read in the past.
Other post kinds work relatively similarly, though some may take advantage of other appropriate metadata fields in the Post Property meta box. (For example RSVPs use the RSVP dropdown field within the Other tab in the Post Property box.)
Custom feeds for Post Kinds
For sites adding lots of different post kinds all at once, the extra possible “noise” in one’s RSS feeds may have the potential to turn a site’s subscriber’s off. Fortunately the plugin also has custom RSS feeds for each of the particular post kinds which follows a particular format. As an example, the RSS feed for all the posts marked as “Note”, could be found at either the URL http://www.example.com/kind/note/feed
or http://www.example.com/feed/?kind=note (if one doesn’t have pretty permalinks enabled). Other feeds can be obtained by replacing “note” with the base names of the other kinds (reply, article, etc.).
Post Kinds Plugin also handles the display of archives for individual post kinds. To view all the posts marked as notes, for example, one could visit the URL http://www.YOURSITE.COM/kind/note/. Simply replace YOURSITE.COM with your particular site name and the particular post kind name to access the others. In some areas of the social media world, this particular archive display of notes might be considered a personal Twitter-like microblog.
For Post Kinds Plugin users who like the simplicity and ease of use of bookmarklets, one can add ?kindurl=URL to their post editor URL and it will automatically fill this into the URL box in post properties. Adding ?&kind=like to the post editor URL will automatically set the kind.
As a full example, the URL pattern https://www.example.com/wp-admin/post-new.php?kindurl=URL&kind=like will automatically create a new post, set the post kind as like and auto-import the permalink URL for the page into the URL field of the Post Properties meta box.
The following code could also be used as a template to create a full set of browser bookmarklets. (Keep in mind the base URL example.com will need to be changed to the base URL of your personal site for it to work properly. One would also change the word bookmark in the code to any of the other types.)
Now that we’ve seen a few examples and gotten things set up, let’s take a brief look at all of the Post Kinds that are available. To make things a bit easier, we’ll break them up into four groups based on some shared qualities.
The Non-Response Kinds
These kinds have an analog in WordPress’s original post formats. Adding context to one of these may make it a passive kind.
Article – traditional long form content – a post with an explicit post title
Note – short content or status update – a post with just plain content and usually without an explicit post title
Photo – a post with an embedded image as its primary focus. This uses either the featured image or attached images depending on the theme.
Video – a post with an embedded video as its primary focus
Audio – a post with an embedded sound file as its primary focus
The Response Kinds
Response kinds differ from the non-response in that they are usually intended to be interactions with other external sites. For the best experience and improved functionality with these post kinds, it is recommended, but not required, that one have the Webmentions and the Semantic Linkbacks Plugins installed and activated. Doing so will send notifications of the replies and other interactions to those external sites which often display them. (These help your site work just like replies and mentions do on many other social media platforms, they just do so in distributed ways, so that neither you nor your friends necessarily need to be on the same platform or content management system to communicate.)
Reply – used for replying to someone else’s post
Repost – a complete repost of someone else’s content
Like – compliments to the original post/poster
Favorite – content which is special to the favoriter
Bookmark – this is basically sharing/storing a link/bookmark.
Quote – quoted content
RSVP – a specific type of reply regarding attendance of an event
The Passive Kinds
To “Scrobble” a song is to make a related post on your website when listening to it. This is the most well-known example of a passive kind of post. These kinds are formed by having content in the context box on one of these types of posts.
Listen – scrobble – listening to an audio post
Jam – Indicates a specific personally meaningful song
Watch – watching a video
Play – playing a game
Read – reading a book, magazine, or other online material
The following kinds are reserved for future use within the plugin but will not currently show up in the interface unless enabled directly within the code. In some cases, these kinds don’t have the appropriate metadata fields within the plugin to make them user friendly without significant work.
Wish – a post indicating a desire/wish. The archive of all of these posts would be a wishlist, such as a wedding, birthday, or gift registry.
Weather – a weather post would be about current weather conditions
Exercise – represents some form of physical activity
Trip – represents a trip or journey and would require location awareness
Itinerary – refers to scheduled transit, plane, train, etc. and does not generally require location awareness
Check-In – identifying you are at a place. This would use the extended WordPress Geodata. It will require the Simple Location Plugin or something equivalent to add location awareness to posts. Some people are beginning to use this with the OwnYourSwarm application, which may require further configuration of your site to work properly.
Tag – allows you to tag a post as being of a specific tag, or person tagging.
Eat – for recording what you eat, perhaps for a food diary
Drink – similar to Eat, but for beverages
Follow – a post indicating you are now following someone’s activities (online)
Mood – feelings or emotions you’re having at the time of posting
Recipe – ingredients and directions for preparing food or other items
Issue – an article post that is typically a reply to some source code, though potentially anything at a source control repository
Event – a post kind that in addition to a post name (event title) has a start datetime, (likely an end datetime), and a location.
If you’re reading this on my personal website, you can click on and view a variety of these post kinds described above to give you an idea of what they look like (and how they function with respect to Webmentions and other IndieWeb functionalities).
I’ve tried to cover as much of the basics of the plugin and provide some examples and screenshots to make things easier, but as always, there are ways to do additional custom configuration under the hood. I’m sure there are also off-label uses of the plugin to get it to do things the creator didn’t intend.
For additional details, one is certainly encouraged to skim through the code. If you have specific questions or problems, you can usually find the developer of the plugin and many of its users in the IndieWeb chat (web chat, IRC, Slack, etc.) for possible real-time help or support, or you can post questions or issues at the GitHub repo for the project.
Special thanks to David Shanske for creating and doing a stellar job of maintaining the Post Kinds Plugin. Additional thanks to those in the IndieWeb community who continue to refine and revise the principles and methods which make it constantly easier for people to better own and control their social lives online by owning their own websites and data.
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.
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.
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.
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.
The state-of-the-art in feed readers was frozen in place sometime around 2010, if not before. By that time most of the format wars between RSS and Atom had long since died down and were all generally supported. The only new features to be added were simple functionalities like sharing out links from readers to social services like Facebook and Twitter. For fancier readers they also added the ability to share out to services like Evernote, OneNote, Pocket, Instapaper and other social silos or silo related services.
Mastodon may be the hot thing in social media right now, but you could be living closer to the bleeding edge of true openness and freedom
Mastodon.social is the cool new social platform, and certainly prettier than many of the other federated GNU social instances. My Twitter feed is full of mastodon mentions right now with many people saying “I’m on mastodon.social now as _____, come follow me.”–a phrase I haven’t seen since the last social boom in 2009 before the new class of multi-billion dollar corporations began monetizing their users.
I like the cute mastodon imagery and the concept of a “toot”, but isn’t this yet another social media silo that’s going to own all my content and have control over how I interact with it? What happens when everyone gets tired of it? What happens weeks, months, years from now when it decides to shut down or gets bought out like so many others?
Federated and Decentralized
The buzzwords of the week seem to be “federated” and “decentralized”. I’m glad that tens of thousands of people are being introduced to these concepts this week, but they’re definitely not new, and they’re far from perfected.
If we want openness, federation, identity, flexibility, and control why not just have our own website? They can do pretty much everything that most of the social networks can do now, but with much greater freedom. They’d probably be even stronger if people hadn’t ceded their lives and all their thoughts to Facebook, Twitter, Instagram, et al. Many people in the Indieweb community are already leveraging their own sites and some simple code to do just this.
My Website is an Example
My site is mine. I own the domain name and all the data that gets posted to it. I can write as much or as little as I want about anything I like. No one is artificially limiting me for length. I can post photos. I can post audio, even video. I can write a comment on my own site about something on another site and I don’t have to hope it won’t be moderated out of existence. If I don’t like it, I can edit it (I’m looking at you Twitter) or delete it at any time and know it’s gone (I’m looking at you Facebook).
I support the W3C Webmention recommendation so you can write something on your site and send me the equivalent of an @mention (one which will work across website boundaries instead of being stuck inside them like Twitter, Medium, and Facebook all do). Your mention will then allow your post to show up on my site as a comment! Yes, you hear that correctly. You can use one website to comment on another that’s completely unrelated to the first.
If you don’t have webmention set up yet (via a plugin or other implementation), just add the permalink of my post to your reply on your own site and then put your post’s permalink into the URL labeled box below and click “Ping Me”. Shazam! I have a copy of your comment, but you still own what you wrote to me. Now that’s true website to website federation because it uses open standards that aren’t controlled by third party corporations.
Incidentally I also syndicate many of my posts to the walled gardens like Facebook, Twitter, Instagram, Google+ (where people apparently really love ads served within their content) so I’m not completely cut off from my social graph. Comments and reactions from those silos come back to live with my original posts so everything lives here on my site–future-proofed against their possible disappearance. It also means the conversation doesn’t need to be fragmented across multiple platforms anymore. Are you reading this on or from one of them? Go back, click like, favorite, or write a reply/response/comment where you saw it and it will magically be transported back to me–with the ability for me to moderate it away if you’re rude.
Dig a few layers deeper
So if we’re going to be excited about federating and decentralizing this week, why don’t we take it one or two layers further?!
Domains can be as inexpensive as $1 with most in the $10-15 a year range and simple web hosting (usually with one-button website installations) costing from $5-20 a month at the lower ends. You can do it yourself–I promise. And if you think you can’t, try a quick web search for the answer or start with http://indieweb.org/getting_started. It’ll give you something to do while signups for the Mastodon.social server are turned off due to overload. Why try to be one of the trendy kids when you can easily go “old-school” and do it yourself with more control? (And heck, if you really can’t do it yourself, I can either help you or you can try it out on an instance of WithKnown that I spun up just to let people try the concept out: http://known.boffosocko.com/.
What are you waiting for? Your own follow button? You can have that too if you really want:
But you can at least allow people a choice in how and where you’re followed and read. Prefer to follow me via Email, Newsletter, Social Media, RSS, or even Push Notification? View all subscription methods here.
With one week remaining on its Kickstarter campaign, the Micro.blog indie microblogging project has surged past its original $10K funding goal with $66,710 pledged by 2,381 backers. This puts proje…
I love that Micro.blog is doing so well on Kickstarter! I’m even more impressed that DreamHost is backing this and doubling down in this area.
I coincidentally happened to have a great conversation yesterday with Jonathan LaCour before I saw the article and we spoke about what DreamHost is doing in the realm of IndieWeb and WordPress. I love their approach and can’t wait to see what comes out of their work and infectious enthusiasm.
I’m really surprised that WordPress hasn’t more aggressively taken up technologies like Webmention, which is now a W3C recommendation, or micropub and put them directly into core. For the un-initiated, Webmention works much like @mention on Twitter, Medium, Facebook, and others, but is platform independent, which means you can use it to ping any website on the internet that supports it. Imagine if you could reply to someone on Twitter from your WordPress site? Or if you could use Facebook to reply to a post on Medium? (And I mean directly and immediately in the type @mention/hit publish sense, not doing any laborious cut and paste from one platform to another nonsense that one is forced to do now because all the social silos/walled gardens don’t inter-operate nicely, if at all.) Webmention can make all that a reality. Micropub is a platform independent spec that allows one to write standalone web or mobile apps to create publishing interfaces to publish almost any type of content to any platform–think about the hundreds of apps that could publish to Twitter in its early days, now imagine expanding that to being able to use those to publish to any platform anywhere?
While Twitter has been floundering for a while, WordPress has the structure, ecosystem, and a huge community to completely eat Twitter’s (and even Facebook/ Instagram’s, Medium’s, & etc.) lunch not only in the microblog space, but the larger space which includes blogging, photos, music, video, audio, and social media in general. The one piece they’re missing is a best-in-class integrated feed reader, which, to be honest, is the centerpiece of both Twitter and Facebook’s services. They seem to be 98% readers and 2% dead-simple posting interface while WordPress is 98% posting interface (both more sophisticated/flexible and more complicated), and nearly non-existent (and unbundled) reader.
WordPress has already got one of the best and most ubiquitous publishing platforms out there (25+% of the web at last count). Slimming down their interface a tad to make it dead simple for my mom to post, or delegating this to UX/UI developers with micropub the way that Twitter allowed in the early days with their open API and the proliferation of apps and interfaces to post to twitter, in addition to Webmentions could create a sea-change in the social space. Quill is a good, yet simple example of an alternate posting interface which I use for posting to WordPress. Another is actually Instagram itself, which I use in conjunction with OwnYourGram which has micropub baked in for posting photos to my site with Instagram’s best-in-class mobile interface. Imagine just a handful of simple mobile apps that could be customized for dead-simple, straightforward publishing to one’s WordPress site for specific post types or content types…
With extant WordPress plugins, a lot of this is already here, it’s just not evenly distributed yet, to borrow the sentiment from William Gibson.
For just a few dollars a year, everyday people could more easily truly own all their content and have greater control over their data and their privacy.
I will note that it has been interesting and exciting seeing the Drupal community stepping on the gas on the Webmention spec (in two different plugins) since the W3C gave it recommendation status earlier this month. This portends great things for the independent web.
I haven’t been this excited about what the web can bring to the world in a long, long time.
For me, my personal website is my end-all-be-all hub for reading/publishing and Twitter, Facebook, et al. are just distribution channels.
From what I understand about Manton’s proposed implementation, he’ll be using or making a lot of these technologies available, he’ll just be making it a bit easier for my parents and the “masses” to do it.
As part of my evolving IndieWeb experience of owning all of my own internet-based social data, last year I wanted a “quick and dirty” method for owning and displaying all of my Twitter activity before embarking on a more comprehensive method of owning all of my past tweets in a much more comprehensive way. I expected even a quick method to be far harder than the ten minute operation it turned out to be.
Back in early October, I had also replied to a great post by Jay Rosen when he redesigned his own blog PressThink. I saw a brief response from him on Twitter at the time, but didn’t get a notification from him about his slightly longer reply, which I just saw over the weekend:
So, for his benefit as well as others who are interested in the ability to do something like this quickly and easily, I thought I’d write up a short outline of what I’d originally done so that without spending all the time I did, others can do the same or something similar depending on their needs.
Near the bottom of the page you should see a “Your Twitter archive” section
See the Request your archive button? Click it.
After a (hopefully) short wait, a link to your archive should show up in your email associated with the account. Download it.
Congratulations, you now own all of your tweets to date!
You can open the index.html file in the downloaded folder to view all of your tweets locally on your own computer with your browser.
Display your Twitter archive
The best part is now that you’ve got all your tweets downloaded, you can almost immediately serve them from your own server without any real modification.
Simply create an (accessible–use the same permissions as other equivalent files) folder named twitter on your server and upload all the files from your download into it. You’re done. It’s really that simple!
In my case I created a subfolder within my WordPress installation, named it “twitter”, and uploaded the files. Once this is done, you should be able to go to the URL http://example.com/twitter and view them.
Alternately one could set up a subdomain (eg. http://twitter.example.com) and serve them from there as well. You can change the URL by changing the name of the folder. As an alternate example, Kevin Marks uses the following: http://www.kevinmarks.com/tweets/.
When you’re done, don’t forget to set up a link from your website (perhaps in the main menu?) so that others can benefit from your public archive. Mine is tucked in under the “Blog” heading in my main menu.
Unfortunately, while you’ve now got a great little archive with some reasonable UI and even some very powerful search capabilities, most of the links on the archive direct back to the originals on Twitter and don’t provide direct permalinks within the archive. It’s also a static archive, so you’ve periodically got to re-download and upload to keep your archive current. I currently only update mine on a quarterly basis, at least until I build a more comprehensive set up.
Current Set Up
At the moment, I’m directly owning all of my Twitter activity on my social stream site, which is powered by Known, using the POSSE philosophy (Post on your Own Site, Syndicate Elsewhere). There I compose and publish all of my Tweets and re-Tweets (and even some likes) directly and then I syndicate them to Twitter in real-time. I’ve also built and documented a workflow for more quickly tweeting using my cell phone in combination with either the Twitter mobile app or their mobile site. (Longer posts here on BoffoSocko are also automatically syndicated (originally with JetPack and currently with Social Network Auto-Poster, which provides a lot more customization) to Twitter, so I also own all of that content directly too.)
You’ll notice that on both sites, when content has been syndicated, there’s a section at the bottom of the original posts that indicates to which services the content was syndicated along with permalinks to those posts. I’m using David Shanske’s excellent Syndication Links plugin to do this.
Ultimately, I’d like to polish the workflow a bit and post all of my shorter Twitter-like status updates from BoffoSocko.com, but I still have some work to do to better differentiate content so that my shorter form content doesn’t muddy up or distract from the people who prefer to follow my longer-form content. Based on his comment, I also suspect that this is the same semantic issue/problem that Jay Rosen has. I’d also like to provide separate feeds/subscription options so that people can more easily consume as much or as little content from my site as they’d like.
For those who are interested in more comprehensive solutions for owning and displaying their Tweets, I’ve looked into a few WordPress-based possibilities and like the following two which could also be potentially modified for custom display:
Ozh’ Tweet Archiver (Separately available on GitHub with scripts [.csv, JSON] for importing more than 3200 Tweets limit imposed by Twitter API; it also has a custom “Twitter” theme available; for additional support and instructions there are additional blogposts available. 
Both of these not only allow you to own and display your tweets, but they also automatically import new Tweets using the current API. Keep in mind that they use the PESOS philosophy (Post Elsewhere, Syndicate to your Own Site) which is less robust than POSSE, mentioned above.
I’ll note that a tremendous number of WordPress-based plugins within the plugin repository that are Twitter related predate some of the major changes in Twitter’s API in the last year or two and thus no longer work and are no longer supported, so keep this in mind if you attempt to explore other solutions.
Those with more coding ability or wokring on other CMS platforms may appreciate a larger collection of thought and notes on the Twitter wiki page created by the IndieWeb Community. 
Do you own your own Tweets (either before or after-the-fact)? How did you do it? Feel free to tell others about your methods in the comments, or better yet, write them on your own site and send this post a webmention (see details below).
The IndieWeb movement is coding, collecting, and disseminating UI, UX, methods, and opensource code to help all netizens to better control their online identities, communicate, and connect themselves to others at IndieWeb.org. We warmly invite you to join us.
Pubmed Commons provides a forum, independent of a journal, where comments on articles in that journal can be posted. Why not air your displeasure there? The article is easily found (see PMID: 27467019) and, so far, there are no comments.
I’m hoping that one day (in the very near future) that scientific journals and other science communications on the web will support the W3C’s Webmention candidate specification so that when commentators [like Lior, in this case, above] post something about an article on their site, that the full comment is sent to the original article to appear there automatically. This means that one needn’t go to the site directly to comment (and if the comment isn’t approved, then at least it still lives somewhere searchable on the web).
Some journals already count tweets, and blog mentions (generally for PR reasons) but typically don’t allow access to finding them on the web to see if they indicate positive or negative sentiment or to further the scientific conversation.
I’ve also run into cases in which scientific journals who are “moderating” comments, won’t approve reasoned thought, but will simultaneously allow (pre-approved?) accounts to flame every comment that is approved [example on Sciencemag.org: http://boffosocko.com/2016/04/29/some-thoughts-on-academic-publishing/ — see also comments there], so having the original comment live elsewhere may be useful and/or necessary depending on whether the publisher is a good or bad actor, or potentially just lazy.
I’ve also seen people use commenting layers like hypothes.is or genius.com to add commentary directly on journals, but these layers are often hidden to most. The community certainly needs a more robust commenting interface. I would hope that a decentralized version using web standards like Webmentions might be a worthwhile and robust solution.
I run across notices on the web like this regularly and it used to aggravate me to no end:
Infuriatingly it usually involved having just spent 5 minutes reading something and then spending 10 minutes to hours writing a reasoned and thoughtful response. (Because every troll knows that’s what the internet was designed to encourage, right?)
After pressing the reply button (even scarier than hitting the “Publish” button because you don’t have the ability to edit it after-the-fact and someone else now “owns” your content), you see the dreaded notice that your comment is “AWAITING MODERATION…”
Will they approve it? Will they delete it? Is it gone forever? Did they really get it, or did it disappear into the ether? Oh #%@$!, I wish I’d made a back up copy because that took a bit of work, and I might like to refer to it again later. Are they going to censor my thoughts? Silence my voice?
On a daily basis, I’m spammed by sites desperate to sell or promote FIFA coins, Ray Bans, Christian Louboutin shoes, or even worse types of hateful blather, so I too gently moderate. I try to save my own readers from having to see such drivel, and don’t want to provide a platform or audience for them to shout from or at, respectively.
I won’t be silenced anymore
No longer can I be silenced by random moderators that I often don’t know.
Why, you ask?
I now post everything I write online onto a site I own first.
Because now, thanks to philosophies from the Indieweb movement and technologies like webmention, which growing numbers of websites are beginning to support, I now post everything I write online onto a site I own first. There it can be read in perpetuity by anyone who chooses to come read it, or from where I can syndicate it out to the myriad of social media sites for others to read en masse. (And maybe my voice has more reach than the site I’m posting to?)
Functionality like webmention (a more modern version of pingback or trackback) then allows my content to be sent to the website I was replying to in an elegant way for (eventual?) display. Or I can copy and paste it directly if they don’t support modern protocols.
Sure, they can choose to moderate me or choose not to feature my viewpoint on their own site if they wish, but at least I still own the work I put into those thoughts. I don’t have to worry about where they went or how I might be able to find them in the future. They will always be mine, and that is empowering.
The IndieWeb movement is a global community that is building an open set of principles and methods that empower people to take back ownership of their online identity and data instead of relying on 3rd party websites. Come learn more about the next generation of the Web.
For the first time since 2013, when it appeared in Hollywood, IndieWebCamp is coming to Los Angeles! I’m definitely going, and I invite you to join us. For the past two years or so, I’ve been delving into the wealth of tools and resources the community has been developing. I’m excited to attend a local camp, help out in any way I can, and will help anyone who’s interested in learning more.
Join us in LA (Santa Monica) for two days of a BarCamp-style gathering of web creators building and sharing open web technologies to empower users to own their own identities & content, and advance the state of the #indieweb!
The IndieWeb movement is a global community that is building an open set of principles and methods that empower people to take back ownership of their identity and data instead of relying on 3rd party websites.
At IndieWebCamp you’ll learn about ways to empower yourself to own your data, create & publish content on your own site, and only optionally syndicate to third-party silos. Along the way you’ll get a solid grounding in the history and future of Microformats, domain ownership, IndieAuth, WebMention and more!
For remote participants, tune into the live chat (tons of realtime notes!) and the video livestream (URL TBD).
General IndieWeb Principles
Your content is yours
When you post something on the web, it should belong to you, not a corporation. Too many companies have gone out of business and lost all of their users’ data. By joining the IndieWeb, your content stays yours and in your control.
You are better connected
Your articles and status messages can go to all services, not just one, allowing you to engage with everyone. Even replies and likes on other services can come back to your site so they’re all in one place.
You are in control
You can post anything you want, in any format you want, with no one monitoring you. In addition, you share simple readable links such as example.com/ideas. These links are permanent and will always work.
1333 2nd Street, Suite 200
Santa Monica, CA, 90401
United States Map
Day 0 is an optional prep night for people that want to button up their website a little bit to get ready for the IndieWebCamp proper.
18:30 Organizer setup
19:00 Doors open
19:30 Build session
22:00 Day 0 closed
Day 1 Discussion
Day 1 is about discussing in a BarCamp-like environment. Bring a topic you’d like to discuss or join in on topics as they are added to the board. We make the schedule together!
08:00 Organizer setup
08:30 Doors open – badges
09:15 Introductions and demos
10:00 Session scheduling
12:00 Group photo & Lunch
13:00 Sessions on the hour
16:00 Last session
17:00 Day 1 closing session, break, meetup later for dinner
Day 2 Building
Day 2 is about making things on and for your personal site! Work with others or on your own.
09:30 Doors open – badges
10:10 Day 2 kick-off, session scheduling
10:30 Build sessions
12:00 Catered lunch
14:30 Build sessions continue
16:30 Community clean-up
17:00 Camp closed!