A while back I wrote a post about how I was using email, AppleScript, and Dropbox to keep a journal about my kids. Overall this has been working well, and I feel it is helping me to write more entries than I otherwise would. However, there's one thing that bothers me: It depends on Apple's native Mail application. In short, the rules I set up in Mail.app trigger an Applescript that appends the message to a text file.
Unfortunately, as hard as I try, I just can't seem to get comfortable with the Apple Mail app. I know this is may be considered blasphemy to the Apple faithful, but I just feel more comfortable using the Gmail web client. I like the keyboard shortcuts that let me fly through my inbox, and I have a workflow for using labels that I just can't seem to replicate in Mail.app.
So, my solution has been this - I manage my email in Gmail (or in Mailplane, which is pretty much the same thing). But, to catch my journal entries, I also open Mail.app at startup and keep it running on my desktop. This works, but it's not a perfect solution for multiple reasons:
- My MacBook Pro is getting a little long in the tooth, and running a largely unneeded program bogs it down a little.
- My laptop needs to be running for this to work. I'd like to be able to write an email from anywhere, hit send, and have it processed be my filter and added to my journal immediately. If my laptop is packed away, well, my email just stagnates in my inbox.
- Having an extra app running in my dock insults my minimalist sensibilities.
Because of these issues I thought I'd try another tack. I decided to try If This Then That, or IFTTT. I'd looked at IFTTT a while back, and while it looked powerful and interesting, I wasn't sure what to do with it. I thought this was the perfect time to give it a try.
First, a little info about IFTTT. The name really says it all: If this, then that. As in, if something happens, do something. IFTTT uses the public APIs of a whole slew of services, including Gmail, Google Reader, Twitter, Dropbox, Facebook, Instapaper, PinBoard, and about 40 more. So, you can essentially connect these APIs together like little building blocks. An example would go something like this: "Watch my Twitter account - when I 'favorite' a tweet, save the tweet in Evernote." There's a ton of other examples available at the IFTTT recipes page.
For my email needs, it would go something like: "If an email comes into my Gmail account with the subject "kid1.txt", Then append the content of that message to a specified text file in Dropbox."
So, I signed up for a IFTTT account and clicked the "Create" link. First you need to select the "This" part of If This, Then That. In my case, the This is "watch my Gmail". So, I clicked the Gmail icon and, on the next screen, selected the "New email from search" option. Then, I specified the phrase that I wanted IFTTT to watch for:
Next, we need to specify the "That". My That is "append the text to a file in Dropbox". So, I clicked the Dropbox icon and chose "Append to a text file" on the ensuing page. I specified the file I wanted to append to (kid1) and the path inside my Dropbox folder (Family/). I set up the Content field to format the text to include the date that it was sent and the message body.
After saving this 'recipe', I'm ready to go. I can still follow these steps: Write an email to myself, set the subject to "kid1.txt", write my "journal" entry in the content, and hit send.
IFTTT sees it, grabs it, and appends the text to my journal file in Dropbox.
So, how is this method better? Well,
- I don't have to have Mail.app running - or even have my computer running, for that matter…
- No need for complicated scripting
- Multiplatform - all I need is IFTTT, Gmail, and Dropbox. If I switched to a PC tomorrow, or decided my only computer was going to be my phone, this would still work.
- IFTTT checks checks my Gmail account every 15 minutes, so I know my journal entry will be added to my text file in a timely manner.
Any concerns about this method? Yes:
- I'm giving a third party access to my Gmail and Dropbox accounts.
- I'm relying on a third party for this workflow. However, I'm not too worried about that: If IFTTT goes under, I'll still have my email archive and the redundancy of my Dropbox content. IFTTT is not hosting any content, so they're not going to lose my priceless journal.
- IFTTT doesn't perform any actions on my email. It does what it's supposed to but it would be great if, when it's done its job, it could mark the email as read and archive it for me. I'll probably just do these things manually, but I think I'll have this lingering fear that I'm doing it too soon and not giving IFTTT a chance to add the content to my journal. I'm going to have to give some thought to how I want to handle that.