In a previous post, I talked about POSSE and PESOS, and publishing on your own site vs other platforms, syndicating content back and forth and content ownership. I mentioned that I’d opted for the PESOS approach, and that I was publishing content on other platforms, then syndicating it back to my own site. Let’s take a look at how that happens.
I’ve been using WordPress to power my own website for a while now, and working with it in some way or another for even longer. Over the years, I’ve developed the belief that it’s a pretty perfect platform for people to build their own “digital home on the web”, considering the range of plugins and themes available, the flexibility of the publishing options it offers, and the fact that it’s completely open source, so you can do whatever you want with it.
That last bit is important in more ways than you might immediately think. Apart from just being able to write my own plugins or tweak my themes, this also means that I own my own data. I think in this MySpace/Facebook generation, people are all too loose with the data trails they create — giving up ownership of their digital self at the drop of a hat. In case you didn’t realize, when you use something like Facebook, it is not the product, you and your data are the product.
Today I pushed some updates to: People & Places Keyring Social Importers These updates make it so that the Twitter, Foursquare and Instagram importers are now dynamically identifying and indexi…
Back in early October, I had also replied to a great post by Jay Rosen when he redesigned his own blog PressThink. I saw a brief response from him on Twitter at the time, but didn’t get a notification from him about his slightly longer reply, which I just saw over the weekend:
So, for his benefit as well as others who are interested in the ability to do something like this quickly and easily, I thought I’d write up a short outline of what I’d originally done so that without spending all the time I did, others can do the same or something similar depending on their needs.
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
- Go to: https://twitter.com/settings/account
- Near the bottom of the page you should see a “Your Twitter archive” section
- See the
Request your archivebutton? Click it.
- After a (hopefully) short wait, a link to your archive should show up in your email associated with the account. Download it.
- Congratulations, you now own all of your tweets to date!
- You can open the
index.htmlfile in the downloaded folder to view all of your tweets locally on your own computer with your browser.
Display your Twitter archive
The best part is now that you’ve got all your tweets downloaded, you can almost immediately serve them from your own server without any real modification.
Simply create an (accessible–use the same permissions as other equivalent files) folder named
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.
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.
Unfortunately, while you’ve now got a great little archive with some reasonable UI and even some very powerful search capabilities, most of the links on the archive direct back to the originals on Twitter and don’t provide direct permalinks within the archive. It’s also a static archive, so you’ve periodically got to re-download and upload to keep your archive current. I currently only update mine on a quarterly basis, at least until I build a more comprehensive set up.
Current Set Up
At the moment, I’m directly owning all of my Twitter activity on my social stream site, which is powered by Known, using the POSSE philosophy (Post on your Own Site, Syndicate Elsewhere). There I compose and publish all of my Tweets and re-Tweets (and even some likes) directly and then I syndicate them to Twitter in real-time. I’ve also built and documented a workflow for more quickly tweeting using my cell phone in combination with either the Twitter mobile app or their mobile site. (Longer posts here on BoffoSocko are also automatically syndicated (originally with JetPack and currently with Social Network Auto-Poster, which provides a lot more customization) to Twitter, so I also own all of that content directly too.)
You’ll notice that on both sites, when content has been syndicated, there’s a section at the bottom of the original posts that indicates to which services the content was syndicated along with permalinks to those posts. I’m using David Shanske’s excellent Syndication Links plugin to do this.
Ultimately, I’d like to polish the workflow a bit and post all of my shorter Twitter-like status updates from BoffoSocko.com, but I still have some work to do to better differentiate content so that my shorter form content doesn’t muddy up or distract from the people who prefer to follow my longer-form content. Based on his comment, I also suspect that this is the same semantic issue/problem that Jay Rosen has. I’d also like to provide separate feeds/subscription options so that people can more easily consume as much or as little content from my site as they’d like.
For those who are interested in more comprehensive solutions for owning and displaying their Tweets, I’ve looked into a few WordPress-based possibilities and like the following two which could also be potentially modified for custom display:
- DsgnWrks Twitter Importer
- Ozh’ Tweet Archiver (Separately available on GitHub with scripts [.csv, JSON] for importing more than 3200 Tweets limit imposed by Twitter API; it also has a custom “Twitter” theme available; for additional support and instructions there are additional blogposts available.  
Both of these not only allow you to own and display your tweets, but they also automatically import new Tweets using the current API. Keep in mind that they use the PESOS philosophy (Post Elsewhere, Syndicate to your Own Site) which is less robust than POSSE, mentioned above.
I’ll note that a tremendous number of WordPress-based plugins within the plugin repository that are Twitter related predate some of the major changes in Twitter’s API in the last year or two and thus no longer work and are no longer supported, so keep this in mind if you attempt to explore other solutions.
Those with more coding ability or wokring on other CMS platforms may appreciate a larger collection of thought and notes on the Twitter wiki page created by the IndieWeb Community. 
Do you own your own Tweets (either before or after-the-fact)? How did you do it? Feel free to tell others about your methods in the comments, or better yet, write them on your own site and send this post a webmention (see details below).
The IndieWeb movement is coding, collecting, and disseminating UI, UX, methods, and opensource code to help all netizens to better control their online identities, communicate, and connect themselves to others at IndieWeb.org. We warmly invite you to join us.
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:
- 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.
- 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.
- 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.
- I publish the post; and
- 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.
As a separate note, who really wants to waste the time building thousands and thousands of followers when none of them are really going to ever pay attention to you? Yes, it’s great to have a high number, but really what is your ultimate reach? How many people are you engaging?
“I recently booked Bea Arthur into two episodes of the TV show “Malcolm in the Middle,” for which she received an Emmy nomination. Following this, I left Creative Artists Agency to join David Entertainment, where I helped to produce MGM’s Breakers, starring Sigourney Weaver and Jennifer Love Hewitt. Now I’m preparing for production of Doctor Doolittle 2, starring Eddie Murphy and Behind Enemy Lines, with Gene Hackman and Owen Wilson.”