Okay, maybe I’m not really capturing everything about my life, but I became interested in journaling and including my social media activities in my journal. I found the ideal tool in Day One by Bloom Built. They make an iPhone/iPad (i.e., universal) version and a Mac version. (BTW, both are on sale right now, as of 12/26/2013 and no, these are not affiliate links.) Aside from making it easy to update my journal anywhere (it syncs via iCloud or Dropbox), they provide a command line interface which makes it easy for geeks like me to add all sorts of content.
My basic approach to getting my social media updates added is to use IFTTT, Noodlesoft’s Hazel and a bit of scripting so my Mac is constantly feeding my journal. IFTTT is a service that lets you connect a whole bunch of different internet-connected services using a very simple statement: if this then that. Check out the full description on the About IFTTT page. Noodlesoft’s Hazel is a Mac utility that watches your hard drive for files using parameters you specify (date changed, just added, etc.) and then performs actions for you. These can be as simple as moving the files around or as complex as UNIX scripts or AppleScript apps. Learn more about Hazel here.
So, here’s how my system works:
- I tell IFTTT to watch my social networks (Twitter, Facebook, Pinterest, Last.fm. App.net, etc.).
- When IFTTT detects something I want to save to my journal, it saves it to my Dropbox account.
- Dropbox syncs the file to my Mac.
- Hazel sees the file on my Mac.
- Based on what I told IFTTT to name the file and where in my Dropbox folders I told IFTTT to put it, Hazel can determine what type of Day One entry to make.
- Hazel then executes the script I created to call the Day One command line tool and update my journal.
- Then, Hazel deletes the file so my Dropbox account doesn’t fill up.
There are two ways that IFTTT can see my social media updates. In some cases, IFTTT already knows how to connect. For example, IFTTT provides a ready-made channel that can read Facebook, Twitter, Last.fm and many more sites. For these, I just have IFTTT grab updates I make and save them to a file. For sites that IFTTT doesn’t connect to directly, I use RSS. For example, I want to journal all of the articles that I save on Reddit. Reddit provides RSS feeds for saves, likes, etc. So, I tell IFTTT to watch my Reddit ‘saves’ RSS feed and use that to create the Dropbox file. Here’s a rundown of the sites I capture and which method I use:
- App.net posts
- Blogger posts
- Facebook links posted
- Facebook photos I’m tagged in
- Facebook photos I’ve uploaded
- Facebook profile changes
- Facebook status updates
- iOS contacts added
- Tweets posted
- Cross-posts between networks get duplicated in my journal. I’m not sure I want to fix this because it does help me track where I’ve cross posted.
- The date for some entries in Day One represents when my Hazel script actually processed the entry. I’ve converted the Text2DayOne script to read the date the post was downloaded to Dropbox, but even that may not be accurate if the file sits in Dropbox for a while. I need to work on a way to grab the actual date of the post and set that for the Day One entry.
- Some services (I’m looking at you Google+ and Oggl) don’t have IFTTT integration or RSS feeds, so I can’t grab those posts.
- Sometimes, the Dropbox files either get duplicated or get a counter (e.g., “(2)”) added to the filename and Hazel doesn’t like that. I haven’t figured out the cause. I may have to change my Hazel script to work around this.
If you have any suggestions, optimizations, secrets to finding RSS feeds for services I haven’t figured out how to access, please leave a comment.