This has to be the most awesome Indieweb pull request I’ve seen this year.

This has to be the most awesome Indieweb pull request I've seen this year.
WithKnown is a fantastic, free, and opensource content management service that supports some of the most bleeding edge technology on the internet. I’ve been playing with it for over two years and love it!

And today, there’s another reason to love it even more…

This is also a great reminder that developers can have a lasting and useful impact on the world around them–even in the political arena.

My reply to Micro.blog Project Surges Past $65K on Kickstarter, Gains Backing from DreamHost | WordPress Tavern

Replied to Micro.blog Project Surges Past $65K on Kickstarter, Gains Backing from DreamHost (WordPress Tavern)
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.

The IndieWeb and Journalism

I’ve been officially participating in the IndieWeb movement for almost two years–though from a philosophical standpoint it’s much closer to twenty. While I can see lots of value in the IndieWeb for even the average person on the internet, I’ve always felt that there’s also a tremendous amount of specific value for journalists and web-based publishers.

I suspect that a lot of the value of the IndieWeb philosophy is that it encompasses how many people inherently wish the internet worked. As a result I’ve seen a growing number of people discovering the concept de novo either on their own or by borrowing bits and pieces from their friends and colleagues who are practicing parts of it as well. This harkens back to the early days of the web when bloggers incrementally improved their websites based on what they saw others doing and sharing ideas more directly and immediately with their audiences.

An(other) unwitting example in the wild

Recently I came across the personal website of journalist Marina Gerner which is one of the few, but growing number, I’ve come across that is unknowingly practicing some of the primary tenets of the IndieWeb movement that I suspect more journalists will eventually come to embrace to better reach and engage with their audiences.

Another brief example I’ll mention having seen recently that almost explicitly rewrote the IndieWeb philosophy verbatim was on the the website redesign launch of PressThink, the blog of Jay Rosen, a journalism professor at NYU. It’s a great read individually as is the majority of what Mr. Rosen writes.

Though I read many of the publications for which Ms. Gerner is writing and might see most of what she’s writing organically, having all of her work in one primary location is a spectacular convenience! I can quickly and easily subscribe to all her work by email or RSS. For a working journalist, this is a boon, because like musicians in the evolving music business a lot of the value that they bring to the table (and to the venues in which they play) is a result of their individual fan bases.

While her personal website probably doesn’t drive even a tiny fraction of exposure for her work as when it appears in The Economist or the Financial Times, for example, it does allow her fans to easily keep up with what she’s writing and thinking about. Ideally in the future, outlets will make links to writer’s bylines direct to the writer’s own website rather than to archive pages within their own publications (or perhaps both if necessary).

Journalistic Brand & the Sad Case of Leon Wieseltier: The Counter-example

Here I’m reminded of the seemingly sad case of Leon Wieseltier, the long time literary editor of The New Republic, who was ousted by its editor-in-chief and publisher Chris Hughes, a former Facebook executive. Wieseltier’s brand was almost all-too-wrapped up in The New Republic, where he had worked for decades, and when he was pushed out (ostensibly for the puerile desire to get more clicks and eyeballs), his output and influence seemingly disappeared overnight. Suddenly there just wasn’t as much of him to read. While he still has some output, as a fan who enjoyed reading his work, the problematic hurdles of finding his new work were the equivalent of using a cheese grater to file down one’s knee cap. I suspect that if he had his own website or even a semblance of a Twitter presence, he could easily have taken a huge portion of his fans and readership built up over decades along with him almost anywhere.

While there are some major brand names in journalism (examples like James Fallows, Walt Mossberg, or Steven Levy spring to mind), who are either so wrapped up in their outlet’s identities or who can leave major outlets and take massive readerships with them, this isn’t the case for the majority of writers in the game. Slowly building one’s own personal journalistic brand isn’t easy, but having a central repository that also doubles as additional distribution can certainly be beneficial. It can also be an even bigger help when one decides to move from one outlet to another, bridge the gap between outlets, or even strike out entirely on one’s own.

Portfolio

From a work/business perspective, Ms. Gerner’s site naturally acts as a portfolio of her work for perspective editors or outlets who may want to see samples of what she’s written.

Sadly, however, she doesn’t seem to be utilizing the WordPress category or tag functions which she could use to help delineate her work by broad categories or tags to help find specific types of her writing. She appears to have a “featured” category/tag for some of her bigger pieces to appear at the top of her front page, but I can see the benefit of having a “portfolio” or similar tag to give to prospective outlets to encourage them to read her “best of” work. This would also be helpful to new readers and future fans of her work.

Categories/tags could also be beneficial to readers who may want to follow only her book reviews and not her economics related work, or vice-versa. With a bit of massaging, she could easily have an economics-only RSS feed for those who wanted such a thing. I spent a bit of time in December writing about how I customized my own RSS feeds and helping to make them more discoverable.

An IndieWeb mini-case study of Ms. Gerner’s website

Because it might take some a bit of time to delve into and uncover a lot of the spectacular and inherent value in the the massive and growing wiki behind IndieWeb.org, I thought I’d take a minute or two to point out some of the subtle IndieWeb-esque things that Ms. Gerner’s site does well and point out a few places she (or others) could quickly and easily add a lot of additional value.

IndieWeb-forward things that she is doing

She has her own domain name.

If you’re looking for all things Marina Gerner on the web, where better to start than http://www.marinagerner.com?

She owns her own data.

Technically, it looks like her site is hosted on WordPress.com, so they own, backup, and maintain it for her, but there is a very robust export path, so she can easily export it, back it up, or move it if she chooses.

She’s posting her own content on her own site.

I’m not sure if she’s posting on her site first using the concept of Post on your Own Site, Syndicate Elsewhere (POSSE), but even if she’s posting it secondarily (known as PESOS), she’s still managing to capture it on her site and thereby own a full copy of her output. If any of the publications for which she’s published should go out of business or disappear from the internet, she will still own a copy of her work. (See and compare also the commentary at Anywhere but Medium.)

Syndication Links

She’s even got a syndication link (or attribution) at the bottom of each article to indicate alternate locations where the content lives on the internet. Since she’s not using Webmentions to back-port the resulting commentary (see below for more), this is highly useful for finding/reading the potential ensuing commentary on her posts or interacting with it in the communities in which it was originally intended.

Missing IndieWeb pieces that could provide additional value

Syndication Links to Social Media

There are no syndication links to where her content may be living on Twitter, Facebook, LinkedIn, or other social media spaces to give an idea of the conversations that are taking place around her work. In addition to the value that these conversations add to her work, they also give an idea of the breadth of the reach of her work, which could be useful not only to her, but to future outlets/employers.

Webmention and back-feed from Brid.gy

She’s clearly not using Webmention (now a W3C Recommendation) or services like Brid.gy which would allow her to have the comments and conversation about her articles from other sites or social media silos come back to live with the original articles on her own site. Given the quality of what she’s writing, I’m sure there are some interesting threads of thought stemming from her work which she’s not capturing back on her own site, but certainly could. As it stands, it’s highly unlikely (and perhaps nearly impossible) that I would go trolling around the thousands or hundreds of thousands of links to try to uncover even a fraction of it myself, but it wouldn’t take much for her to be able to capture all that data and make it easy to consume.

Webmention is a simple protocol that allows one website to indicate to another that it has been mentioned elsewhere on the web–it’s akin to Twitter @mentions, but is something that works internet-wide and not just within Twitter. Brid.gy is a service that bootstraps services like Facebook, Twitter, Instagram, Google+, and Flickr via API to make them support webmention until they choose to implement it directly themselves.

Given the schedules of many journalists, they may not always have time to pay attention to the commentary on past articles, but if she were aggregating them back to her own site, she could occasionally check back in on them and interact as necessary or appropriate. Even better she could do this herself without necessarily needing to spend the additional time and energy to go to multiple other social websites to do so. I suspect that a lot of the value that journalists get out of Twitter could be better had by aggregating some of it within their own websites instead.

As an example, the reader will note that I also have syndication links (by means of icons) at the bottom of this post, but I’ve enabled Webmentions and have most of the replies and commentary from these social silos coming back to this original post to aggregate as much of the conversation back to this original post. In the event that any of these social media sites are acquired or go out of business for any reason, all of this commentary will be archived here on the site. As an experiment, if you’d like, click on the Twitter icon at the bottom of this post and reply to that post on Twitter, your reply will be sent to me via webmention through Brid.gy and I can choose to display it as a comment under this post.

Owning her replies to others

Naturally if she does interact with her pieces via other social channels (Twitter, for example), she could post those replies on her own site and automatically syndicate them to Twitter. This would also allow her to own all of that subsidiary content and conversation as well.

Search and SEO

Once she owns all of her own writing and subsidiary data, her platform of choice (WordPress along with many others) also provides her with some good internal search tools (for both public-facing and private posts), so that her online hub becomes an online commonplace book of sorts for not only searching her past work, but potentially for creating future work. Naturally this search also extends to the broader web as her online presence gives her some reasonable search engine optimization for making it more discoverable to future fans/followers.

And much more…

Naturally the IndieWeb encompasses far more than what I’ve written above, but for journalists, some of these highlighted pieces are likely the most immediately valuable.

I’ll refer those interested in learning more to browse the wiki available at IndieWeb or join the incredibly helpful community of developers who are almost always in the online chatroom which is accessible via multiple methods (online chat, Slack, IRC, etc.) Major portions of the IndieWeb have become easily attainable to the average person, particularly on ubiquitous platforms like WordPress which have simple configurable plugins to add a lot of this simple functionality quickly and easily.

Another IndieWeb Journalism Example

While I was writing this piece, I heard Mathew Ingram, who currently writes for Fortune, say on This Week in Google that he’s been posting his work to his own website for several years and “syndicating” copies to his employers’ sites. This means he’s got a great archive of all of his own work, though I suspect, based on his website, that much of is posted privately, which is also an option, though it doesn’t help me much as a fan.

Thoughts/Questions/Comments

I’d love to hear thoughts, comments, or questions journalists have about any of the above. Are there other online tools or features journalists would like to see on their own websites for improved workflow?

Please post them below, on your own website along with a permalink back to the original article (see “Ping Me” below), via webmention, or even by responding/replying on/to one of the social media silos listed just below in the syndication links, or natively on the social platform on which you’re currently reading.

Browser Bookmarklets and Mobile Sharing with Post Kinds Plugin for WordPress

The Post Kinds Plugin

I’ve been using David Shanske’s excellent WordPress plugin Post Kinds, which is conveniently bundled into the IndieWeb Plugin, for more than a year now. (Update: I’ve also written a fairly in-depth primer for it.)

Much like WordPress’s native post formats (standard, aside, image, quote, link, status, audio, etc.) which were introduced in v3.1, Post Kinds instead provides a better mapping of post types across a larger variety of social media types (article, bookmark, favorite, itinerary, jam, like, listen, note, photo, play, read, reply, repost, watch, and more). In addition to changing the visual layout and formatting of most posts, the plugin also importantly includes the correct microformat classes for each of these post types and this enables a lot of other fantastically important functionality for the open web.

Custom URLs for Post Kinds

One of the problems I had with using it initially was taking the extra time to cut and paste in the several pieces of additional data or fill in meta data to make a post. It was particularly painful in a mobile setting. I was thrilled when David mentioned that he’d built in some customized query parameters which could take URLs to import in much of the data as well as to set the correct post kind automatically. They came with the general format of

http://example.com/wp-admin/post-new.php?kind=bookmark&kindurl=@url

where one could replace @url with the target URL of the site to be bookmarked, for example. Replacing bookmark with the appropriate post kind name would allow one to set the flag for each post to the proper post kind automatically, and naturally one should replace example.com with the base URL for their site.

Putting this customized URL into a browser will create a new post in one’s website admin UI and Post Kinds will automatically set the URL and scrape its meta data. One can then modify any additional data or add a comment and then publish quickly and easily.

As a concrete example, I would put the following URL in my browser of choice to “like” the Post Kinds Plugin page:
http://www.boffosocko.com/wp-admin/post-new.php?kind=like&kindurl=https://wordpress.org/plugins/indieweb-post-kinds/

Browser Bookmarklets

I am a huge fan of browser bookmarklets, so for a while I’ve been meaning to create some for the post kinds I use to better automate my post process. After dragging my feet for ages, particularly because my JavaScript skills are nearly non-existent, I’ve finally gotten around to adapting the common WordPress “Press This” bookmarklet to work with Post Kinds.

Below is the modified code that can be put into a bookmarklet to allow for easily bookmarking a particular post:

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");
Browser bookmarklets for Post Kinds

Other versions of the bookmarks can easily be made for all the other other Post Kinds by replacing the two red highlighted portions of the code sample appropriately for each one. Specifically one should exchange bookmark with the name of the kind desired (all of them should be in lowercase) and replace example.com with one’s own domain name.

For simplicity, I’m including a sample/template bookmarklet button below which can be dragged and dropped into most browser bars. Before using it, edit the JavaScript as described above and paste it into the URL box. I’m happy to help those who may have problems. I’ve included a screen capture of what all of them look like once they’re set up and configured with matching emoji added into the titles to assist in visual selection.

🔖 Bookmark

Perhaps I (or someone else enterprising) would contribute all this back into the plugin repository for Post Kinds so that these bookmarklets would be self-generated for plug and play usage within the admin interface for the plugin the way the bookmarklets are for the IndieWeb plugin’s PressThis bookmarklets, perhaps at /wp-admin/admin.php?page=kind_options.

A Post Kinds “Bookmarklet” for Mobile

For those who would like something similar to the above for use on mobile platforms (and particularly Android) I’ve written up some instructions below which allow one to use the Android app URL Forwarder to use the ubiquitous mobile “share” functionality from most pages and/or apps in a way similar to this bookmarklet functionality. (This is based in part on some work by Ryan Barrett and some work I’d written up for the Known CMS a while back.)

I’d suspect that there’s also a similar app for iOS, but I haven’t checked. If not available, URL Forwarder is open source on Github and could potentially be ported. There’s also a similar Android app called Bookmarklet Free which could be used instead of URL Forwarder.

Configuring URL Forwarder for Post Kinds

  1. Open URL Forwarder on your phone
  2. Click the “+” button to create a filter.
  3. Give the filter a name, “Bookmark” for the bookmark version. (See photo below.)
  4. Use the following entry for the “Filter URL” replacing example.com with your site’s domain name: http://EXAMPLE.com/wp-admin/post-new.php?kind=bookmark&kindurl=@url
  5. Leave the “Replaceable text” as “@url”
  6. Finish by clicking on the checkmark in the top right corner.
  7. Repeat the above for the other desired post types but replacing “bookmark” with the lower case names of those other types.

Simple right?

Creating a post via mobile

With the configuration above set up, do the following:

  1. On the mobile page one wants to bookmark, like, favorite, etc., click the ubiquitous “share this” mobile icon (or share via a pull down menu, depending on your mobile browser or other app.)
  2. Choose to share through URL Forwarder
  3. Click on the “bookmark” option just created above (or other option as necessary for the desired post type).
  4. Change/modify any meta data within your website administrative interface or add any additional thoughts and publish. (This part is the same as one would experience using the desktop bookmarklet.)

Happy posting!

Reply to Antonio Sánchez-Padial about webmentions for academic research

Replied to a tweet by Antonio Sánchez-PadialAntonio Sánchez-Padial (Twitter)
Hi there @ChrisAldrich! I'd like to add webmentions, but I haven't worked on it yet. What kind of collaboration are you thinking about?
Many academics are using academic related social platforms (silos) like Mendeley, Academia.edu, Research Gate and many others to collaborate, share data, and publish their work. (And should they really be trusting that data to those outside corporations?)

A few particular examples: I follow physicist John Carlos Baez and mathematician Terry Tao who both have one or more academic blogs for various topics which they POSSE work to several social silos including Google+ and Twitter. While they get some high quality response to posts natively, some of their conversations are forked/fragmented to those other silos. It would be far more useful if they were using webementions (and Brid.gy) so that all of that conversation was being aggregated to their original posts. If they supported webmentions directly, I suspect that some of their collaborators would post their responses on their own sites and send them after publication as comments. (This also helps to protect primacy and the integrity of the original responses as the receiving site could moderate them out of existence, delete them outright, or even modify them!)

While it’s pretty common for researchers to self-publish (sometimes known as academic samizdat) their work on their own site and then cross-publish to a pre-print server (like arXiv.org), prior to publishing in a (preferrably) major journal. There’s really no reason they shouldn’t just use their own personal websites, or online research journals like yours, to publish their work and then use that to collect direct comments, responses, and replies to it. Except possibly where research requires hosting uber-massive data sets which may be bandwidth limiting (or highly expensive) at the moment, there’s no reason why researchers shouldn’t self-host (and thereby own) all of their work.

Instead of publishing to major journals, which are all generally moving to an online subscription/readership model anyway, they might publish to topic specific hubs (akin to pre-print servers or major publishers’ websites). This could be done in much the same way many Indieweb users publish articles/links to IndieWeb News: they publish the piece on their own site and then syndicate it to the hub by webmention using the hub’s endpoint. The hub becomes a central repository of the link to the original as well as making it easier to subscribe to updates via email, RSS, or other means for hundreds or even thousands of researchers in the given area. Additional functionality could be built into these to support popularity measures as well to help filter some of the content on a weekly or monthly basis, which is essentially what many publishers are doing now.

In the end, citation metrics could be measured directly on the author’s original page by the number of incoming webmetions they’ve received on it as others referencing them would be linking to them and therefore sending webmentions. (PLOS|One does something kind of like this by showing related tweets which mention particular papers now: here’s an example.)

Naturally there is some fragility in some of this and protective archive measures should be taken to preserve sites beyond the authors lives, but much of this could be done by institutional repositories like University libraries which do much of this type of work already.

I’ve been meaning to write up a much longer post about how to use some of these types of technologies to completely revamp academic publishing, perhaps I should finish doing that soon? Hopefully the above will give you a little bit of an idea of what could be done.

Reply to Dave Rupert’s Poll with another alternative

Replied to a tweet by Dave RupertDave Rupert (Twitter)
Anyone else starting to look for a way out of Twitter?
IndieWeb: Publish on your own site, syndicate elsewhere. (The missing option.)

I’ve been microblogging from my own site and syndicating content to Twitter and other social silos for a while.

I usually consume Twitter via an RSS hack and respond either via Woodwind.xyz which micropubs directly to my site or from a built in RSS reader on my own site. I use Brid.gy and webmention to collect replies back to my site to continue the conversation.

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.

A Secondary Meaning for POSSE

I’d meant to document this back in November when it was discussed at IndieWebCamp Los Angeles, but it was a busy weekend.

In conversation with Tantek Çelik, I asked if a double entendre meaning to POSSE was originally intended when it was coined?

POSSE is an abbreviation for Publish (on your) Own Site, Syndicate Elsewhere (or Everywhere), a content publishing model that starts with posting content on your own domain first, then syndicating out copies to 3rd party services with permashortlinks back to the original on your site.

When I originally heard about POSSE, I considered the original post on my own site as the Sheriff or “leader” and the ensuing syndicated copies as the (literal and figurative) traditional posse which follows along behind it adding ideas, conversation, and help in accomplishing the original post’s mission.

The posse, one tough looking gang of o’n’ry corporate silos! Let’s mount ’em up!

If that second meaning didn’t exist before, it does now…

Reply to Ben Hanowell about Hypothes.is, Fragmentions, and Annotations

Replied to a tweet by Brash EquilibriumBrash Equilibrium (Twitter)
@ChrisAldrich is this the fragmentions plugin along with @hypothes_is or just the latter? Link to instructions por favor!!!!
Hypothes.is’ reply will get you most of the way, but I’ll add some additional thoughts below.

There are a couple of fragmentions plugins in the WordPress repository. I use and recommend WP Fragmention. Mostly it comes down to supporting a chunk of javascript that is the brainchild of Kevin Marks.

For Hypothes.is, I use the plugin referenced in the tweet above, but I’ve also been using Hypothes.is Aggregator by Kris Shaffer. I will note that the latter broke for me recently (possibly with the upgrade to WP 4.7, but I’ve filed a ticket and hopefully it’ll get sorted shortly). Shaffer’s plugin also makes using and posting with Hypothes.is’ Chrome extension more useful and interesting to me, since I can own copies of my highlights/annotations on my own website.

I’m hoping that sometime soon that Hypothes.is highlights and annotations on pages will also support sending webmentions so that when someone annotates one of my pages that I’ll receive a notification about it, almost as if it were a comment. If you’re interested in this sort of thing, Kartik Prabhu has a fantastic write up and some code on mixing marginalia and webmentions which I’m hoping to implement sometime soon myself.

If you need any help with any of the above, I (and surely others) are happy to help you via IndieWeb Chat.

PressForward as an IndieWeb WordPress-based RSS Feed Reader & Pocket/Instapaper Replacement

As many know, for the past 6 months or so, I’ve been slowly improving some of the IndieWeb tools and workflow I use to own what I’m reading both online and in physical print as well as status updates indicating those things. [1][2][3]

Since just before IndieWebCamp LA, I’ve been working on better ways to own the articles I’ve been reading and syndicate/share them out to other social platforms. The concept initially started out as a simple linkblog idea and has continually been growing, particularly with influence from my attendance of the Dodging the Memory Hole 2016: Saving Online News conference at UCLA in October. Around that same time, it was announced that Pinterest was purchasing Instapaper and they were shutting down some of Instapaper’s development and functionality. I’ve been primarily using Pocket for several years now and have desperately wanted to bring that functionality into my own site. I had also been looking at the self-hostable Wallabag alternative which is under heavy active development, but since most of my site is built on WordPress, I really preferred having a solution that integrated better into that as a workflow.

Enter PressForward

I’ve been looking closely at PressForward for the past week and change as a self-contained replacement for third party services like Pocket and Instapaper. I’ve been looking around for this type of self-hosted functionality for a while.

PressForward was originally intended for journalists and news organizations to aggregate new content, add it to their newsroom workflow, and then use it to publish new content. From what I can see it’s also got a nice following in academia as a tool for aggregating content for researchers focused on a particular area.

It only took a minute or two of looking at PressForward to realize that it had another off-label use case: as a spectacular replacement for read-later type apps!

In an IndieWeb fashion, this fantastic WordPress plugin allows me to easily own private bookmarks of things I’d like to read (PressForward calles these “Nominations” in keeping with its original use case). I can then later read them on my own website (with Mercury f.k.a Readability functionality built in), add commentary, and publish them as a read post. [Note: To my knowledge the creators of PressForward are unaware of the IndieWeb concept or philosophies.]

After some playing around for a bit and contemplating several variations, configurations, and options, I thought I’d share some thoughts about it for others considering using it in such an off-label manner. Hopefully these may also spur the developers to open up their initial concept to a broader audience as it seems very well designed and logically laid out.

Examples

The developers obviously know the value of dogfooding as at least two of them are using it in a Pocket-like fashion (as they many not have other direct use-cases).

Pros

PressForward includes a beautiful, full built-in RSS Feed Reader!

This feature alone is enough to recommend using it even without any other feature. I’ve tried Orbit Reader and WhisperFollow (among others) which are both interesting in their own rights but are somewhat limited and have relatively clunky interfaces. The best part of WhisperFollow’s premise is that it has webactions built in, but I suspect these could easily be added onto PressForward.

In fact, not just hours before I’d discovered PressFoward, I’d made this comment on the WordPress Reader Refresh post announcing the refresh of WordPress.com’s own (separate) reader:

Some nice visual changes in this iteration. Makes it one of the most visually pretty feed readers out there now while still maintaining a relatively light weight.

I still wish there were more functionality pieces built into it like the indie-reader Woodwind.xyz or even Feedly. While WordPress in some sense is more creator oriented than consumption oriented, I still think that not having a more closely integrated reader built into it is still a drawback to the overall WordPress platform.

Additionally,

  • It’s IndieWeb and POSSE friendly
  • It does automatic link forwarding in a flexible/responsible manner with canonical URLs
  • Allows for proper attributions for the original author and content source/news outlet
  • Keeps lots of metadata for analyzing reading behavior
  • Taggable and categorizable
  • Allows for comments/commenting
  • Could be used for creating a linkblog on steroids
  • Archives the original article on the day it was read.
  • Is searchable
  • Could be used for collaboration and curation
  • Has Mercury (formerly known as Readability) integrated for a cleaner reading interface
  • Has a pre-configured browser bookmarklet
  • Is open source and incredibly well documented
  • One can count clicks to ones’ own site as the referer while still pushing the reader to the original
  • Along with other plugins like JetPack’s Publicize or Social Networks Auto-Poster, one can automatically share their reads to Twitter, Facebook, or other social media silos. In this case, you own the link, but the original publisher also gets the traffic.

Cons

No clear path for nominating articles on mobile.

This can be a dealbreaker for some, so I’ve outlined a pretty quick and simple solution below.

No direct statistics

Statistics for gauging ones’ reading aren’t built in directly (yet?), but some scripts are available. [4][5][6]

No larger data aggregation

Services like Pocket are able to aggregate the data of thousands of users to recommend and reveal articles I might also like. Sadly this self-hosted concept makes it difficult (or impossible) do have this type of functionality. However, I usually have far too much good stuff to read anyway, so maybe this isn’t such a loss.

Suggested Improvements

Adding the ability to do webactions directly from the “Nominated” screen would be fantastic, particularly for the RSS reader portion.

Default to an unread view of the current “All Content” page. I find that I have to filter the view every time I visit the page to make it usable. I suspect this would be a better default for most newsrooms too.

It would be nice to have a pre-configured archive template page in a simple linkblog format that filters posts that were nominated/drafted/published via the Plugin. This will prevent users from needing to create one that’s compatible with their current theme. Something with a date read, Title linked to the original, Author, and Source attribution could be useful for many users.

A PressForward Nomination “Bookmarklet” for Mobile

One of the big issues I came up against immediately with PressForward is ease of use on mobile. A lot of the content I read is on mobile, so being able to bookmark (nominate) articles via mobile or apps like Nuzzel or Twitter is very important. I suspect this may also be the case for many of their current user base.

Earlier this year I came across a great little Android mobile app called URL Forwarder which can be used to share things with the ubiquitous mobile sharing icons. Essentially one can use it to share the URL of the mobile page one is on to a mobile Nomination form within PressForward.

I’d suspect that there’s also a similar app for iOS, but I haven’t checked. If not available, URL Forwarder is open source on Github and could potentially be ported. There’s also a similar Android app called Bookmarklet Free which could be used instead of URL Forwarder.

PressForward’s built in bookmarklet kindly has a pre-configured URL for creating nominations, so it’s a simple case of configuring it. These details follow below for those interested.

Configuring URL Forwarder for PressForward

  1. Open URL Forwarder
  2. Click the “+” icon to create a filter.
  3. Give the filter a name, “Nominate This” is a reasonable suggestion. (See photo below.)
  4. Use the following entry for the “Filter URL” replacing example.com with your site’s domain name: http://example.com/wp-content/plugins/pressforward/includes/nomthis/nominate-this.php?u=@url
  5. Leave the “Replaceable text” as “@url”
  6. Finish by clicking on the checkmark in the top right corner.

Simple right?

Nominating a post via mobile

With the configuration above set up, do the following:

  1. On the mobile page one wants to nominate, click the ubiquitous “share this” mobile icon (or share via a pull down menu, depending on your mobile browser or other app.)
  2. Choose to share through URL Forwarder
  3. Click on the “Nominate” option just created above.
  4. Change/modify any data within your website administrative interface and either nominate or post as a draft. (This part is the same as one would experience using the desktop bookmarklet.)

What’s next?

Given the data intensity of both the feed reader and what portends to be years of article data, I’m left with the question of hosting it within my primary site or putting it on a subdomain?

I desperately want to keep it on the main site, but perhaps hosting it on a subdomain, similar to how both Aram Zucker-Scharff and James Digioia do it may be better advised?

I’ve also run across an issue with the automatic redirect which needs some troubleshooting as well. Hopefully this will be cleared up quickly and we’ll be off to the races.

References

[1]
C. Aldrich, “A New Reading Post-type for Bookmarking and Reading Workflow,” BoffoSocko | Musings of a Modern Day Cyberneticist, 22-Aug-2016. [Online]. Available: http://boffosocko.com/2016/08/22/a-new-reading-post-type-for-bookmarking-and-reading-workflow/. [Accessed: 31-Dec-2016]
[2]
C. Aldrich, “Owning my Online Reading Status Updates,” BoffoSocko | Musings of a Modern Day Cyberneticist, 20-Nov-2016. [Online]. Available: http://boffosocko.com/2016/11/20/owning-my-online-reading-status-updates/. [Accessed: 31-Dec-2016]
[3]
C. Aldrich, “Notes, Highlights, and Marginalia from E-books to Online,” BoffoSocko | Musings of a Modern Day Cyberneticist, 24-Oct-2016. [Online]. Available: http://boffosocko.com/2016/10/24/notes-highlights-and-marginalia/. [Accessed: 31-Dec-2016]
[4]
A. Zucker-Scharff, “Personal Statistics from 3 Months of Internet Reading,” Medium, 05-Sep-2015. [Online]. Available: https://medium.com/@aramzs/3-month-internet-reading-stats-f41fa15d63f0#.dez80up7y. [Accessed: 31-Dec-2016]
[5]
A. Zucker-Scharff, “Test functions based on PF stats for collecting data,” Gist. [Online]. Available: https://gist.github.com/AramZS/d10fe64dc33fc9ffc2d8. [Accessed: 31-Dec-2016]
[6]
A. Zucker-Scharff, “PressForward/pf_stats,” GitHub. [Online]. Available: https://github.com/PressForward/pf_stats. [Accessed: 31-Dec-2016]

Homebrew Website Club Los Angeles notes, December 28, 2016

Last HWC for 2016

Tonight was the last meetup for HWC in Los Angeles for 2016. We’ve managed to make it through more than a handful of meetups throughout the year as well as an excellent IndieWebCamp experience. We also recently managed to get our first virtual meetup off the ground two weeks ago with participants in LA, NYC, Portland, Florida, and Maryland!

Thanks again to everyone (near and far) who has helped to encourage and get the budding Los Angeles IndieWeb community off the ground this year.

At the onset of the meetup, we spent a few minutes discussing the concept of #100DaysOfIndieWeb which Aaron Parecki has a great head start on already. (BTW, Happy Birthday Aaron!)

Though I’m not personally ready to go all in on , I am on the verge of committing to 100 Days of Book Donations to Little Free Libraries (or the potentially easier and just as effective 100 Book Donations) particularly as I managed to do 31 days of donations last January.

I’m also seriously considering 100 days of closing tabs which has always been a real problem for me in the past. 100 days of posts also seems relatively interesting as well as doable. 100 days of deleting email toward inbox zero could be useful too.

Building

Following a productive quiet writing hour, we did a quick round of introductions and a short demo or two. Given our group size/composition, we split up and delved right into some building and helping each other out.

I helped newcomer Jeffrey Stewart begin to build a WordPress site on a temporary host which he can later to a personal domain name he’d bought a while back and had resolved to begin using.  He’s been siloing his content primarily on Facebook for a long time now, but wanted more freedom and flexibility than Facebook allows. In particular he’s looking forward to a better platform for longer form content as well as better/richer interactions.

In under two hours, we managed to get a pretty significant start on his site including rel=”me” links to his current social media presences. We also set up and configured several IndieWeb related plugins courtesy of the Indieweb plugin to allow for Webmentions as well as future syndication capabilities. With just a few hours of work, I suspect he’ll not only be able to put together his first post and syndicate it to several silos, but he’ll be receiving his first webmentions and backfeed via Brid.gy.

Meanwhile, Angelo Gladding managed to simultaneously work on not only his own site, but assist Thaine Allison with one of his itches. Several years ago Thaine had built a website in HTML3, but he wanted to update it to deal with the demise of Flash and make it more mobile friendly. Despite some difficulty accessing his site due to issues with hosting, they made some reasonable progress.

No photo (Sorry Tantek…)

We all got so wrapped up in what we were working on and discussing, we completely forgot to take a break to get a group photo. In fact, I sadly didn’t think about it until I was in the car and halfway home. I even forgot to “check in” and POSSE a copy to FourSquare, which is pretty uncommon for me lately.

At least this is an area on which we can improve on for our 2017 resolutions...

Happy New Year Everyone!

💯 #100DaysOfIndieWeb

I think exists just so Tantek could use the 💯 emoji on a  wiki page at https://indieweb.org/100DaysOfIndieWeb

But, more seriously, this sounds like a good idea. I’m going to have to put some thought into… Looks like Aaron Pareki has got a good jumpstart on things.

Why I posted to Twitter again | Manton Reece

Read Why I posted to Twitter again by Manton Reece (manton.org)

Following up on my post about Twitter at 10 years, I decided to mark the actual 10-year anniversary of my first tweet by posting from my @manton account, which I haven’t touched in over 4 years. After so much time, you can be sure the tweet was going to be exactly 140 characters:

Hi! 10 years since my first tweet. 4 years since my last. You can follow the blog cross-posts via @manton2. This message will self-destruct.

Why post again? I’ve had some fun experimenting with cross-posting to @manton2.

RSS Feeds on BoffoSocko.com

Over the past two years I’ve been owning more and more of the data that I used to sharecrop into various social media silos. Instead of posting it to those sites which I don’t own, don’t control, and can’t rely on them staying up forever, I’m posting on my own site first and when it seems worthwhile, I’m syndicating my content back out to them to take advantage of their network effects.

A Crowded Stream

As a result of owning all this data, my blog/site has become MUCH more active than it had been before. (It’s also been interesting to see just how much data I’d been giving to social media sites.) This extra activity has caused a few to tip me off that they’re seeing a lot of email notifications and additional material in their RSS feeds that they’re not used to seeing (and may not necessarily care about). So rather than risk them unsubscribing from everything and allow them to receive what they’re used to seeing, I’ve spent some time in the last couple of days to work on my IndieWeb Commitment 2017 which was to:

Fix my site’s subscription/mail functionality so that I can better control what current subscribers get and allow for more options for future subscribers.

Because a lot of the recent additions to my site have been things like owning all my Instagram posts, my bookmarks, what I’m watching, updates about books I’m reading, and links to everything I’ve been reading online, I’ve been using a category on the site called “Social Stream” with each of these posts as sub-categories. In most cases, social stream could be synonymous with microblog to some extent though it covers a broader range of content than just simply Twitter-like status updates.

Filtering Social Stream Posts out of My Email Subscriptions

I added a filter in my functions.php file for the JetPack-based plugin that prevents my site from emailing those who have used the JetPack subscription service from receiving emails for each and every post in those categories.

I had previously been preventing some of these emails from firing on a manual basis, but with their increased frequency, it was becoming unsustainable.

For those interested, the code and some useful tips can be found at the JetPack site. A copy of the specific code I’m currently using in my functions.php file appears below:

add_filter( 'jetpack_subscriptions_exclude_these_categories', 'exclude_these' );
function exclude_these( $categories ) {
$categories = array( 'social-stream');
return $categories;
}

More Flexible RSS Feeds and Discovery

For future subscribers, I wanted to allow some easier subscription options, particularly when it comes to RSS. Fortunately WordPress does a pretty good job of not only providing RSS feeds but makes them relatively configurable and customizeable with good documentation. [1] [2]

Custom URLs for RSS Syndication and .htcacess Modifications

I wanted to create a few human-readable RSS feed names and feeds including:

With somewhat canonical feed URLs, I can always change where they point to in the future. To do this and have them map over into the actual feeds for these things, I did a bit of remapping in my .htaccess file based on some thoughts I’d run across recently.  The code I used appears below:

# BEGIN rss
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^rss\.xml$ "/feed?cat=-484"[L,R]
RewriteRule ^microblog\.xml$ "/feed?cat=484"[L,R]
RewriteRule ^articles\.xml$ "/feed?kind=article"[L,R]
RewriteRule ^instagram\.xml$ "/feed?cat=936"[L,R]
RewriteRule ^linkblog\.xml$ "/feed?cat=964,945"[L,R]
RewriteRule ^read\.xml$ "/feed?cat=945"[L,R]
RewriteRule ^math\.xml$ "/feed?cat=10"[L,R]
RewriteRule ^informationtheory\.xml$ "/feed?cat=687"[L,R]
RewriteCond %{Query_STRING} ^$
RewriteRule ^feed$ "/rss.xml" [L,R]
</IfModule>
# END rss

Each of the cat=### are the numbers for the particular category numbers I’m mapping within WordPress for the associated category names.

RSS Feed Pattern for IndieWeb Post Kinds Plugin

I also spent a few minutes to figure out the RSS feed patterns to allow for the additional feeds provided by the Post Kinds plugin to work. While Post Kinds is similar to the native WordPress post formats, it’s designed particularly with IndieWeb posts in mind and uses a custom taxonomy which also wraps particular post kinds in the appropriate microformats automatically. The general form for these RSS feeds would be:

Other feeds could be constructed similarly by replacing “article” with the other kinds including:  bookmark, favorite, jam, like, listen, note, photo, read, recipe, reply, repost, watch, and wish. I suspect that most will only want the articles while those who are really interested in the others can either “build” them themselves for subscribing, or given the sporadic nature of some, they would more likely be interested in the “social stream” feed noted above.

Discoverability

Finally there’s the most important question of what feed readers like Feedly or Woodwind can actually discover when someone searches for an RSS feed on my domain. It’s one thing to have customized feeds, but if feed readers can’t easily find them, the subscriber is never likely to see them or know they exist to want to consume them. Most advanced feed readers will parse the headers of my site for discover-able feeds and present them to the user for possible subscription.

Out of the box WordPress provides two RSS feeds as standard: one for posts (essentially everything) and one for comments.  I added several additional ones (like those mentioned above), which I thought might be most requested/useful, into my page header to provide a slightly broader range of subscription options. I even included a few feeds for alternate sites I run, like my WithKnown-based site. I suppose if I wanted I could advertise feeds for my favorite sites anywhere.

To add these additional feeds, I added several additional lines into my page header similar to the following example which makes my posts categorized or tagged as mathematics discoverable:

<link rel="alternate" type="application/rss+xml" title="Chris Aldrich » Mathematics Feed" href="http://boffosocko.com/math.xml" />

Wrap up

Hopefully with these few simple changes, those who wish to subscribe to my blog by email won’t be inundated with a lot of the social details. Those who want all or even smaller portions of my feed can consume them more easily, and there’s a way to be able to consume almost anything you’d like by category, tag, or post format/post kind.

Now on to my stretch goal:

Finish my monthly email newsletter

Comments/Questions?

Is there a particular type of content I’m creating here that you’d like to subscribe to? Let me know in the comments below if there’s a feed of a post format/kind, category, or tag you’d like to have that isn’t mentioned above.

References

[1]
“WordPress Feeds « WordPress Codex,” WordPress.org. [Online]. Available: https://codex.wordpress.org/WordPress_Feeds. [Accessed: 18-Dec-2016]
[2]
“Customizing Feeds « WordPress Codex,” WordPress.org. [Online]. Available: https://codex.wordpress.org/Customizing_Feeds. [Accessed: 18-Dec-2016]

I’ve discovered a spectacular tool for owning my own bookmarks and replacing Pocket and InstaPaper!

I’ve discovered a spectacular tool for owning my own bookmarks and replacing Pocket and InstaPaper!

  • It’s IndieWeb and POSSE friendly
  • Does link forwarding in a flexible/responsible manner
  • Allows for proper attributions
  • Keeps tons of metadata for analyzing reading behavior
  • Taggable
  • Allows for comments/commenting
  • Could be used easily as a linkblog
  • Archives the original article
  • Is searchable
  • Could be used for collaboration and curation
  • Has Readability integrated
  • Has a pre-configured browser bookmarklet
  • Is open source and well documented

Who could want more?! I want to experiment a bit with it, play with multiple configurations, and then document parts before rolling out–particularly as it wasn’t necessarily intended for this use case, but I’ll have some more details shortly.