Post Kinds Plugin for WordPress

A WordPress plugin that allows you to easily create a huge variety of social media post types to own your social media life online.

Post Types

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
  • Swarm/FourSquare: checkins
  • Last.fm: listens (aka scrobbles)
  • Pinboard: bookmarks
  • GoodReads: reads

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 simple meta box the Post Kinds Plugin displays for choosing what kind of post one is creating.

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.

The interface for choosing particular post types from within Tumblr.
WordPress Post Format meta box with all of the available post types. Note that it’s far more limited than the options for Post Kinds.

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.

Plugin Display

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.

Microformats

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.

Options for installing the Post Kinds Plugin from the administrative interface within WordPress.

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.

Post Kinds Settings
Click the appropriate check boxes for the kinds of posts you’d like to enable on your personal website.

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 Foxes in 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.

The Post Properties meta box in the administrative user interface in WordPress. The URL for the post can be either automatically included or manually filled in.

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.

After retrieving the metadata most of the appropriate fields in the Post Properties box should be filled out. Here we see the “Main” tab filled in.
The Details tab of the Post Properties meta box.
The Author tab of the Post Properties meta box.

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.

A screen capture of what the final “Read” post looks like on my site. (Note that it may look slightly different depending on your theme and other customizations.)

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.).

Archive Displays

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.

Bookmarklet Configuration

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.)

javascript:(function(a,b,c,d){function e(a,c){if("undefined"!=typeof c){var d=b.createElement("input");d.name=a,d.value=c,d.type="hidden",p.appendChild(d)}}var f,g,h,i,j,k,l,m,n,o=a.encodeURIComponent,p=b.createElement("form"),q=b.getElementsByTagName("head")[0],r="_press_this_app",s=!0;if(d){if(!c.match(/^https?:/))return void(top.location.href=d);if(d+="&kindurl="+o(c),c.match(/^https:/)&&d.match(/^http:/)&&(s=!1),a.getSelection?h=a.getSelection()+"":b.getSelection?h=b.getSelection()+"":b.selection&&(h=b.selection.createRange().text||""),d+="&buster="+(new Date).getTime(),s||(b.title&&(d+="&t="+o(b.title.substr(0,256))),h&&(d+="&s="+o(h.substr(0,512)))),f=a.outerWidth||b.documentElement.clientWidth||600,g=a.outerHeight||b.documentElement.clientHeight||700,f=800>f||f>5e3?600:.7*f,g=800>g||g>3e3?700:.9*g,!s)return void a.open(d,r,"location,resizable,scrollbars,width="+f+",height="+g);(c.match(/\/\/(www|m)\.youtube\.com\/watch/)||c.match(/\/\/vimeo\.com\/(.+\/)?([\d]+)$/)||c.match(/\/\/(www\.)?dailymotion\.com\/video\/.+$/)||c.match(/\/\/soundcloud\.com\/.+$/)||c.match(/\/\/twitter\.com\/[^\/]+\/status\/[\d]+$/)||c.match(/\/\/vine\.co\/v\/[^\/]+/))&&e("_embeds[]",c),i=q.getElementsByTagName("meta")||[];for(var t=0;t<i.length&&!(t>200);t++){var u=i[t],v=u.getAttribute("name"),w=u.getAttribute("property"),x=u.getAttribute("content");x&&(v?e("_meta["+v+"]",x):w&&e("_meta["+w+"]",x))}j=q.getElementsByTagName("link")||[];for(var y=0;y<j.length&&!(y>=50);y++){var z=j[y],A=z.getAttribute("rel");("canonical"===A||"icon"===A||"shortlink"===A)&&e("_links["+A+"]",z.getAttribute("href"))}b.body.getElementsByClassName&&(k=b.body.getElementsByClassName("hfeed")[0]),k=b.getElementById("content")||k||b.body,l=k.getElementsByTagName("img")||[];for(var B=0;B<l.length&&!(B>=100);B++)n=l[B],n.src.indexOf("avatar")>-1||n.className.indexOf("avatar")>-1||n.width&&n.width<256||n.height&&n.height<128||e("_images[]",n.src);m=b.body.getElementsByTagName("iframe")||[];for(var C=0;C<m.length&&!(C>=50);C++)e("_embeds[]",m[C].src);b.title&&e("t",b.title),h&&e("s",h),p.setAttribute("method","POST"),p.setAttribute("action",d),p.setAttribute("target",r),p.setAttribute("style","display: none;"),a.open("about:blank",r,"location,resizable,scrollbars,width="+f+",height="+g),b.body.appendChild(p),p.submit()}})(window,document,top.location.href,"http:\/\/example.com\/wp-admin\/post-new.php?kind=bookmark");

Development / Issues

Development for the Post Kinds Plugin takes place on GitHub. While users can certainly report issues/bugs on the page for the WordPress plugin, the developer actively watches the issue queue on GitHub and problems will be seen (if not resolved) there more quickly.

List of available Post Kinds

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

Reserved Kinds

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.

Additional Examples

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).

Go Forth and Post All the Things!

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.

Post all the things

Thanks

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.

​​​

Syndicated copies to:

📅 WordPress Pasadena General July N Fly Meetup Edition

Attending WordPress Pasadena General July N Fly Meetup Edition
Tuesday, July 25, 2017 from 7:00 PM to 9:00 PM; Cross Campus, 85 N. Raymond Avenue, Pasadena, CA (map) Howdy everyone! Welcome to our July general WordPress user group! We discuss all the things WordPress here. If any of you would like to do a presentation post your idea in the comments. Bring your curiosity, your questions, your swell attitude and lots of potatoes. J/k, just bring your smiling faces.

Interested in using WordPress to create an online presence? Got questions? Come join us tonight in learning together.

Cross Campus, Pasadena, California, United States of America

Syndicated copies to:
WPCampus 2017 (WPCampus.com)
A two-day event filled with sessions, networking, and social events covering a variety of topics, all dedicated to the confluence of WordPress in higher education. The second annual WPCampus conference will take place July 14-15, 2017 at Canisius College in lovely Buffalo, New York.

How did I manage to miss this? I know they livestreamed the sessions, but did they manage to record them?

Syndicated copies to:

Doing a demo of POSSE and Webmentions at the Pasadena WordPress Developer Meetup.

Here are some resources for those attending:

 

Syndicated copies to:

📺 Using IFTTT for WordPress Social Media Automation | Advanced WordPress Meetup, San Diego, CA (YouTube)

Using IFTTT for WordPress Social Media Automation by Jim Walker from Advanced WordPress Meetup, San Diego, California
This presentation was given by Jim Walker, The Hack Repair Guy, on "Using IFTTT for WordPress Social Media Automation", at the Advanced WordPress Meetup, San Diego, California, July 2017.

This is a short video about using IFTTT.com to do a PESOS type of workflow for WordPress. While interesting, it reminds me of Louis Gray’s old diagram and my response which puts one’s own website at the center and uses POSSE. In short, there’s now a far better way of doing this type of thing with WordPress.

Below are the slides from the presentation, which includes this gruesome looking diagram:

Who wants to implement this type of convoluted workflow?
Syndicated copies to:

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

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:

📅 RSVP: Yes for WordPress Pasadena Developer Meetup July 2017 Edition @ CrossCampus

Attending WordPress Pasadena Developer Meetup July 2017 Edition @ CrossCampus
Tuesday, July 18, 2017 7:00 PM to 9:00 PM Cross Campus 85 N. Raymond Avenue, Pasadena, CA (map) Hi all and happy July! We are planning a WordPress Pasadena Developer Meetup for July 18, 2017, 7pm @ Cross Campus in Old Towne Pasadena. We also decided to change the title of this sub-group to WordPress Pasadena Developer Meetup in order to focus more on developer-oriented topics. We're still experimenting with the exact format and would love to hear your feedback in this next meeting! This meetup is for a discussion of topics pertaining to WordPress development.

The best thing you could do on a Tuesday evening, right?

Cross Campus, Pasadena, California, United States of America

Syndicated copies to:

The Facebook Algorithm Mom Problem

How I temporarily cut my mom out of my social media life to reach a larger audience.

POSSE

For quite a while now, I’ve been publishing most of my content to my personal website first and syndicating copies of it to social media silos like Twitter, Instagram, Google+, and Facebook. Within the Indieweb community this process is known as POSSE an acronym for Post on your Own Site, Syndicate Elsewhere.

The Facebook Algorithm

Anecdotally most in social media have long known that doing this type of workflow causes your content to be treated like a second class citizen, particularly on Facebook which greatly prefers that users post to it manually or using one of its own apps rather than via API. [1][2][3][4] This means that the Facebook algorithm that decides how big an audience a piece of content receives, dings posts which aren’t posted manually within their system. Simply put, if you don’t post it manually within Facebook, not as many people are going to see it.

Generally I don’t care too much about this posting “tax” and happily use a plugin called Social Media Network Auto Poster (aka SNAP) to syndicate my content from my WordPress site to up to half a dozen social silos.

What I have been noticing over the past six or more months is an even more insidious tax being paid for posting to Facebook. I call it “The Facebook Algorithm Mom Problem”.

Here’s what’s happening

I write my content on my own personal site. I automatically syndicate it to Facebook. My mom, who seems to be on Facebook 24/7, immediately clicks “like” on the post. The Facebook algorithm immediately thinks that because my mom liked it, it must be a family related piece of content–even if it’s obviously about theoretical math, a subject in which my mom has no interest or knowledge. (My mom has about 180 friends on Facebook; 45 of them overlap with mine and the vast majority of those are close family members).

The algorithm narrows the presentation of the content down to very close family. Then my mom’s sister sees it and clicks “like” moments later. Now Facebook’s algorithm has created a self-fulfilling prophesy and further narrows the audience of my post. As a result, my post gets no further exposure on Facebook other than perhaps five people–the circle of family that overlaps in all three of our social graphs. Naturally, none of these people love me enough to click “like” on random technical things I think are cool. I certainly couldn’t blame them for not liking these arcane topics, but shame on Facebook for torturing them for the exposure when I was originally targeting maybe 10 other colleagues to begin with.

This would all be okay if the actual content was what Facebook was predicting it was, but 99% of the time, it’s not the case. In general I tend to post about math, science, and other random technical subjects. I rarely post about closely personal things which are of great interest to my close family members. These kinds of things are ones which I would relay to them via phone or in person and not post about publicly.

Posts only a mother could love

I can post about arcane areas like Lie algebras or statistical thermodynamics, and my mom, because she’s my mom, will like all of it–whether or not she understands what I’m talking about or not. And isn’t this what moms do?! What they’re supposed to do? Of course it is!

mom-autolike (n.)–When a mother automatically clicks “like” on a piece of content posted to social media by one of their children, not because it has any inherent value, but simply because the content came from their child.

She’s my mom, she’s supposed to love me unconditionally this way!

The problem is: Facebook, despite the fact that they know she’s my mom, doesn’t take this fact into account in their algorithm.

What does this mean? It means either I quit posting to Facebook, or I game the system to prevent these mom-autolikes.

Preventing mom-autolikes

I’ve been experimenting. But how?

Facebook allows users to specifically target their audience in a highly granular fashion from the entire public to one’s circle of “friends” all the way down to even one or two specific people. Even better, they’ll let you target pre-defined circles of friends and even exclude specific people. So this is typically what I’ve been doing to end-around my Facebook Algorithm Mom problem. I have my site up set to post to either “Friends except mom” or “Public except mom”. (Sometimes I exclude my aunt just for good measure.) This means that my mom now can’t see my posts when I publish them!

Facebook will let you carefully and almost surgically define who can see your posts.

What a horrible son

Don’t jump the gun too quickly there Bubbe! I come back at the end of the day after the algorithm has run its course and my post has foreseeably reached all of the audience it’s likely to get. At that point, I change the audience of the post to completely “Public”.

You’ll never guess what happens next…

Yup. My mom “likes” it!

I love you mom. Thanks for all your unconditional love and support!!

Even better, I’m happy to report that generally the intended audience which I wanted to see the post actually sees it. Mom just gets to see it a bit later.

Dear Facebook Engineering

Could you fix this algorithm problem please? I’m sure I’m not the only son or daughter to suffer from it.

Have you noticed this problem yourself? I’d love to hear from others who’ve seen a similar effect and love their mothers (or other close loved ones) enough to not cut them out of their Facebook lives.

References

[1]
R. Tippens, “Drop the Autobot: Manual Posting to Facebook Outperforms Automated,” ReadWrite, 01-Aug-2011. [Online]. Available: https://readwrite.com/2011/08/01/manually_posting_to_facebook_significantly_outperf/. [Accessed: 11-Jul-2017]
[2]
“How to Increase Your Traffic from Facebook by 650% in 5 Seconds,” WPMUDEV, 02-Aug-2011. [Online]. Available: https://premium.wpmudev.org/blog/how-to-increase-your-traffic-from-facebook-by-650-in-5-seconds/. [Accessed: 11-Jul-2017]
[3]
J. D. Lasica, “Demystifying how Facebook’s news feeds work,” SocialMedia.biz, 11-Feb-2011. [Online]. Available: http://socialmedia.biz/2011/02/07/how-facebook-news-feeds-work/. [Accessed: 11-Jul-2017]
[4]
D. Hay, “Will auto-posting stunt the reach of your Facebook posts?,” SocialMedia.biz, 26-Jul-2011. [Online]. Available: http://socialmedia.biz/2011/07/26/will-auto-posting-stunt-the-reach-of-your-facebook-posts/. [Accessed: 11-Jul-2017]
Syndicated copies to:

You know it was an awesome Indieweb Summit for WordPress, when you log in and see all these awesome updates!

Just some of the WordPress related updates that were built and released at the Indieweb Summit this weekend in Portland.

Congratulations and Thank You to Matthias Pfefferle, David Shanske, Ryan Barrett, Michael Bishop, Asher Silberman, Brandon Kraft, Lillian Karabaic and all of the others in the Indieweb community who provided the setting, conversation, thinking, and underpinning that made all this possible!

Syndicated copies to:

Reply to Gutenberg: First Impressions | MattCromwell.com

Gutenberg: First Impressions by Matt Cromwell (MattCromwell.com)
Gutenberg is the future of content in WordPress. It will deliver the elegance of Medium but with far more power and flexibility of layouts and content types

I love how this looks and works and it’s certainly about time that WordPress had alternate means of publishing to its platform. (I miss the days when Twitter had thousands of different configurable apps to post to it, though these were far simpler.)

Not only does it remind me a bit of Medium.com’s interface, it is highly reminiscent of Aaron Parecki’s Quill editor which uses the open Micropub spec to publish to the Micropub endpoint on my blog. Though his isn’t as fully featured as the Gutenberg example, he could certainly add to it, but then it could be used to publish to any site that supports the spec.

A sample of the Quill interface for posting to WordPress via Micropub.

The nice part about Micropub (and the fact that there’s already a Micropub plugin for WordPress) is that developers can build multiple competing publishing interfaces to publish to any website out there. (Or developers could even build custom publishing interfaces for their clients.)

In fact, if they wanted to do a highly valuable pivot, Medium.com could add publishing via Micropub to their platform and really become the billionaire’s typewriter that some have suggested it to be.

Syndicated copies to:

👓 WordPress.com Announces New Importer for Medium Posts | WP Tavern

WordPress.com Announces New Importer for Medium Posts by Sarah Gooding (WP Tavern)
Medium started 2017 on uncertain footing, laying off a third of its staff in January after admitting that its ad-based business model was not working.
Syndicated copies to:

👓 WordPress’s owner is closing its San Francisco office because its employees never show up | QZ

Wordpress's owner is closing its San Francisco office because its employees never show up by Oliver Staley (Quartz)
Automattic, the technology company that owns WordPress.com, has a beautiful office in a converted San Francisco warehouse, with soaring ceilings, a library, and a custom-made barn door. If you like the space, you're free to move in. The office at 140 Hawthorne went on the market after CEO Matt Mullenweg came to the realization not...
Syndicated copies to: