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.

#100DaysOfIndieWeb

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.

Owning my old Delicious Bookmarks… Sadly not today.

I thought I’d take a few minutes to go back and “own” the bookmarks I had put into Delicious since I joined on July 5, 2009, so I could have them on my own website. Sadly I ran into the following message:

We’re sorry, but due to heavy load on our database we are no longer able to offer an export function. Our engineers are working on this and we will restore it as soon as possible.

Hopefully they get things working properly so I can export them one of these days without resorting to more arcane methods to get the data back.

Chris Aldrich is reading “Rescuing my tiny videos from Vine”

Read Rescuing my tiny videos from Vine by Marty McGuireMarty McGuire (martymcgui.re)
Ah, Vine. I loved the idea of a platform for sharing tiny video moments. It was truly a platform for some really amazing things.Personally, I didn't make ver...
There are some additional methods and discussion here.

How to Own & Display Your Twitter Archive on Your Website in Under 10 Minutes

As part of my evolving IndieWeb experience of owning all of my own internet-based social data, last year I wanted a “quick and dirty” method for owning and displaying all of my Twitter activity before embarking on a more comprehensive method of owning all of my past tweets in a much more comprehensive way. I expected even a quick method to be far harder than the ten minute operation it turned out to be.

Back in early October, I had also replied to a great post by Jay Rosen when he redesigned his own blog PressThink. I saw a brief response from him on Twitter at the time, but didn’t get a notification from him about his slightly longer reply, which I just saw over the weekend:

I don’t like the way tweets displayed on a blog look. I am fussy about that. Would I like to have a searchable archive in my possession so I don’t lose it all when Twitter goes under? I would.

Jay Rosen, journalism professor NYU,
in reply to my comment on PressThink’s new design and third space

 

So, for his benefit as well as others who are interested in the ability to do something like this quickly and easily, I thought I’d write up a short outline of what I’d originally done so that  without spending all the time I did, others can do the same or something similar depending on their needs.

If part of Mr. Rosen’s reply doesn’t give you enough motivation for why one would want to do this, IndieWeb.org has a laundry list of motivations along with a list of dead and defunct sites and social media silos that have taken pedabytes of data with them when they died.

How to (Quickly) Own and Display Your Tweets on Your Own Site

Download all your tweets

  1. Go to: https://twitter.com/settings/account
  2. Near the bottom of the page you should see a “Your Twitter archive” section
  3. See the Request your archive button? Click it.
  4. After a (hopefully) short wait, a link to your archive should show up in your email associated with the account. Download it.
  5. Congratulations, you now own all of your tweets to date!
  6. You can open the index.html file in the downloaded folder to view all of your tweets locally on your own computer with your browser.
Click the button to request your Twitter archive be emailed to your account email address.
Click the button to request your Twitter archive be emailed to your account email address.

Display your Twitter archive

The best part is now that you’ve got all your tweets downloaded, you can almost immediately serve them from your own server without any real modification.

Simply create an (accessible–use the same permissions as other equivalent files) folder named twitter on your server and upload all the files from your download into it. You’re done. It’s really that simple!

In my case I created a subfolder within my WordPress installation, named it “twitter”, and uploaded the files. Once this is done, you should be able to go to the URL http://example.com/twitter and view them.

The twitter folder in my WordPress directory with all of the downloaded files.
The twitter folder in my WordPress directory with all of the downloaded files.

As an example and to see what my archive looks like, visit http://boffosocko.com/twitter.

Alternately one could set up a subdomain (eg. http://twitter.example.com) and serve them from there as well. You can change the URL by changing the name of the folder. As an alternate example, Kevin Marks uses the following: http://www.kevinmarks.com/tweets/.

When you’re done, don’t forget to set up a link from your website (perhaps in the main menu?) so that others can benefit from your public archive. Mine is tucked in under the “Blog” heading in my main menu.

The user interface of your Twitter archive.
The user interface of your Twitter archive.

Caveats

Unfortunately, while you’ve now got a great little archive with some reasonable UI and even some very powerful search capabilities, most of the links on the archive direct back to the originals on Twitter and don’t provide direct permalinks within the archive. It’s also a static archive, so you’ve periodically got to re-download and upload to keep your archive current.  I currently only update mine on a quarterly basis, at least until I build a more comprehensive set up.

Current Set Up

At the moment, I’m directly owning all of my Twitter activity on my social stream site, which is powered by Known, using the POSSE philosophy (Post on your Own Site, Syndicate Elsewhere). There I compose and publish all of my Tweets and re-Tweets (and even some likes) directly and then I syndicate them to Twitter in real-time. I’ve also built and documented a workflow for more quickly tweeting using my cell phone in combination with either the Twitter mobile app or their mobile site.  (Longer posts here on BoffoSocko are also automatically syndicated (originally with JetPack and currently with Social Network Auto-Poster, which provides a lot more customization) to Twitter, so I also own all of that content directly too.)

You’ll notice that on both sites, when content has been syndicated, there’s a section at the bottom of the original posts that indicates to which services the content was syndicated along with permalinks to those posts. I’m using David Shanske’s excellent Syndication Links plugin to do this.

The syndication block that follows posts on my site so one can easily/quickly see alternate versions in other social silos.
The syndication block that follows posts on my site so one can easily/quickly see alternate versions in other social silos.

Ultimately, I’d like to polish the workflow a bit and post all of my shorter Twitter-like status updates from BoffoSocko.com, but I still have some work to do to better differentiate content so that my shorter form content doesn’t muddy up or distract from the people who prefer to follow my longer-form content. Based on his comment, I also suspect that this is the same semantic issue/problem that Jay Rosen has. I’d also like to provide separate feeds/subscription options so that people can more easily consume as much or as little content from my site as they’d like.

Next steps

For those who are interested in more comprehensive solutions for owning and displaying their Tweets, I’ve looked into a few WordPress-based possibilities and like the following two which could also be potentially modified for custom display:

Both of these not only allow you to own and display your tweets, but they also automatically import new Tweets using the current API. Keep in mind that they use the PESOS philosophy (Post Elsewhere, Syndicate to your Own Site) which is less robust than POSSE, mentioned above.

I’ll note that a tremendous number of WordPress-based plugins within the plugin repository that are Twitter related predate some of the major changes in Twitter’s API in the last year or two and thus no longer work and are no longer supported, so keep this in mind if you attempt to explore other solutions.

Those with more coding ability or wokring on other CMS platforms may appreciate a larger collection of thought and notes on the Twitter wiki page created by the IndieWeb Community. [3]

Thoughts?

Do you own your own Tweets (either before or after-the-fact)? How did you do it? Feel free to tell others about your methods in the comments, or better yet, write them on your own site and send this post a webmention (see details below).

The IndieWeb movement is coding, collecting, and disseminating UI, UX, methods, and opensource code to help all netizens to better control their online identities, communicate, and connect themselves to others at IndieWeb.org. We warmly invite you to join us.

References

[1]
O. Richard, “ Ozh’ Tweet Archiver (Backup Twitter With WordPress) « planetOzh,” Planet Ozh, 21-Sep-2010. [Online]. Available: http://planetozh.com/blog/my-projects/ozh-tweet-archiver-backup-twitter-with-wordpress/. [Accessed: 05-Dec-2016]
[2]
J. Reifman, “Import and Archive Your Tweets With WordPress,” Envato Tuts+, 28-Jan-2015. [Online]. Available: http://code.tutsplus.com/tutorials/import-and-archive-your-tweets-with-wordpress–cms-22656. [Accessed: 05-Dec-2016]
[3]
“Twitter,” IndieWeb.org. [Online]. Available: http://indieweb.org/twitter. [Accessed: 05-Dec-2016]

Chris Aldrich is reading “The Readability bookmarking service will shut down on September 30, 2016.”

Read The Readability bookmarking service will shut down on September 30, 2016 by Readability (Medium)
After more than five years of operation, the Readability article bookmarking/read-it-later service will be shutting down after September 30…
I really wish I’d heard about this before September! And certainly before today… I know I used it fairly frequently in the early days of the service. I do remember that they did have a some nice functionality for sending articles to the Amazon Kindle too. Not sure how much data I may have lost in this particular shutdown, but I do wish I’d had a chance to back it up.

I am glad that bookmarks are one of the post types that I’m now saving by posting on my own site first though. For more of my thoughts on these post types, take a look at:

Owning my Online Reading Status Updates

As of October 30, 2016, I’ve slowly but surely begun posting what I’m actively reading online to my blog.

I’ve refined the process a bit in the last couple of weeks, and am becoming relatively happy with the overall output. For those interested, below is the general process/workflow I’m using:

  1. As I read a website, I use a browser extension (there’s also a bookmarklet available) linked to my Reading.am account to indicate that I’m currently reading a particular article.
  2. I have an IFTTT.com applet that scrapes the RSS feed of my Reading account for new entries (in near real-time) and this creates a new WordPress draft post on my blog. I did have to change my IFTTT.com settings not to use their custom URL shortener to make things easier and to prevent future potential link-rot.
  3. Shortly after I’m done reading, I receive a notification of the creation of the draft post to remind me to (optionally) post my comments/thoughts to the draft post. If necessary, I make any additional modifications or add tags to the post.
  4. I publish the post; and
  5. Optionally, I send POSSE copies to other silos like Facebook, Twitter, or Google+ to engage with other parts of my network.

Status updates of this type also have a pre-included O-embed with a synopsis of the content if the bookmarked site supports it, otherwise, a blockquoted synopsis stripped from the site’s meta-data is included.

Other near-term improvements may include custom coding something via the available Reading.am hooks to directly integrate with the WordPress Post Kinds plugin to use the URL post pattern http://www.yoursite.com/wp-admin/post-new.php?kind=read&kindurl=@url to shorten the workflow even further. Post Kinds automatically handles the wrapping of the post data in the appropriate microformats automatically. I also want to add a tidbit so that when I make my post I ping the Internet archive with the URL of the article I read so that it will be archived for future potential reference (hat tip to Jeremy Kieth for giving me the idea at IndieWebCamp LA a few weeks ago.)

I had originally played around with using the Post Kinds bookmarklet method directly, but this got in the way of the immediacy of reading the particular article for me. Using a PESOS method allows me to read and process the article a bit first before writing commentary or other details. I may also integrate a Hypothes.is based workflow into this process in which I use the hypothes.is browser etension to highlight and annotate the article and then use the Hypothes.is Aggregator Plugin to embed those thoughts into the post via shortcodes. The following post serves as a rough example of this, though the CSS for it could stand a bit of work: Chris Aldrich is reading WordPress Without Shame.

I was a bit surprised that Reading.am didn’t already natively support a WordPress pathway though it has a custom set up for Tumblr as well as a half a dozen other silos. Perhaps they’ll support WordPress in the future?

These new read post types can be found at the following URL: http://boffosocko.com/kind/read/?type=status?type=link.

I Voted 🇺🇸

I voted in the November 8th, 2016 Election! 🇺🇸

 


After having spent the weekend at IndieWebCamp Los Angeles, it somehow seems appropriate to have a “Voted post type” for the election today†. To do it I’m proposing the following microformats, an example of which can be found in the mark up of the post above. This post type is somewhat similar to both a note/status update and an RSVP post type with a soupçon of checkin.

  1. Basic markup

<div class="h-entry">
<span class="p-voted">I voted</span>
in the <a href="http://example.com/election" class="u-voted-in">November 8th, 2016 Election</a>
</div>

Possible Voted values: I voted, I didn’t vote, I was disenfranchised, I was intimidated, I was apathetic, I pathetically didn’t bother to register

  1. Send a Webmention to the election post of your municipality’s Registrar/Clerk/Records office as you would for a reply to any post.
  2. You should include author information in your Voted post so the registrar knows who voted (and then send another Webmention so the voting page gets the update).

Here’s another example with explicit author name and icon, in case your site or blog does not already provide that on the page.

<div class="h-entry">
<a class="p-author h-card" href="http://mysite.example.org">
<img alt="" src="http://mysite.example.org/icon.jpg"/>
Supercool Indiewebvoter</a>:
<span class="p-voted">I voted</span>
to <a href="http://example.com/election" class="u-voted-in">IndieWeb Election </a>
</div>

You can also use the data element to express the meaning behind the literal p-voted value while providing your own visible human readable language:

<data class="p-voted" value="I voted">I voted for the first female president today!

Finally, feel free to POSSE to multiple social media networks to encourage your friends and family to vote today.


† I’m being a bit facetious and doing this in fun. But it does invite some interesting speculation…

Downloaded My TwitPic Archive

While I was updating Indieweb/site-deaths, I was reminded to download my TwitPic archive. It sold to Twitter almost two years ago this week and has been largely inactive since.

It includes some of the earliest photos I ever took and posted online via mobile phone. Looking at the quality, it’s interesting to see how far we’ve come. It’s also obvious why photo filters became so popular.