Stephen Hargrove's Writer Workflow

January 25, 2012 by Gabe | [mmd] |

This is the third installment of Writer Workflows and Stephen Hargrove graciously answers some questions about how he writes.

I stumbled across Stephen’s writing at Spirit of Nine when I was researching some small project. He writes about the geeky kind of stuff that piques my interest. For example, Stephen has developed his own blog archive system using Day One. Not to mention he has developed an impressive static blogging system based on Dropbox.

I choose very carefully when adding feeds to my daily reading and Spirit of Nine easily made the cut.

MD: Why do you write at Spirit of Nine?

I enjoy writing. It’s just a thing I do. A writer writes, so I write. I also write over at with Dave Metzener, although not as frequently as I probably should. (Sorry, Dave!)

MD: How do you capture your ideas and research an article for Spirit of Nine?

I don’t write many long form posts, so I don’t currently have a need for an extensive capture/research system. I hope to change this over time though. I’d like to write more long form and fewer “LOL HERE IS A LINK” posts (although there’ll always be a place for the short and quick links).

I typically bookmark a link in Pinboard and tag it something like research along with something else meaningful. I have a folder on Dropbox called research with sub-folders for each post I’m working on. This folder will contain all the images and usually a text file or two containing references and thoughts. Once I’m done with a subject, I usually delete the bookmarks from Pinboard because I’m anal that way. (I’ve just looked at my research tag and can see that I’m not near as anal as I need to be. Also, I either need to write those posts or delete the bookmarks. My Pinboard is getting cluttered.) Pinboard is a fantastic bookmarking service and I highly recommend it. Love it.

I’ve been using Remember The Milk for years and I have reminders set up there to keep me moving forward on various articles, ideas, and things I want/need to read. I consider RTM a foundation stone. I’ve tried other task managers over the years but have yet to find one that works as well for me. However, as with all things, I’m willing to consider alternatives. If I found something that worked better, I’d switch.

MD: Can you provide an overview of your writing process?

  1. Find something that interests me.

  2. Research if necessary.

  3. Reflect/think.

  4. Write/edit.

  5. Does it suck?

    a. If yes, go to Step 2.

    b. If no, publish.

I think this process is pretty generic to anyone who writes (with the exception, sadly, of Steps 3 and 5). Step 1 is vital. I don’t like writing about boring things. Or if I feel something is getting enough attention (Apple’s iBook file format currently comes to mind), I won’t write about it unless I think I have a unique spin or something to contribute. This leads to fewer posts, but that’s fine. I don’t aspire to be an echo chamber.

MD: How long have you been doing it this way?

I’ve done it this way forever. When written out, it looks so boring. It could definitely do with some super heroes, car chases, or explosions.

MD: Do you have a specific work environment or setup for researching and composing an article?

Is this where I talk about hardware? Okay! I have a 27“ iMac where I do most of my programming and writing. I also have a 13” MacBook Air for writing. I love them both, fiercely. I have an iPad also, but I’m still trying to figure out how it best fits in the creative picture.

Almost all of my blogging and coding is done in TextMate. I use AppleScript Editor, too. (I could use TextMate for this, but I don’t code AppleScript often enough to care.) Sometimes I use Scrivener and am considering switching to it for all my writing because it lets me keep all my notes, etc., in one place. I’m just not comfortable with it’s syncing capabilities yet.

I store all my files on Dropbox. That’s kind of a no-brainer.

I’m a Markdown junky. While I’m writing a post, I preview it in Marked, which is one of my favorite apps. It’s so simple and so obvious. Using it makes me smile.

I use Acorn for processing images. I have Photoshop but it’s overkill for 99% of what I do on the website. Acorn makes me feel like I’m not an idiot. The guys at Flying Meat have some great AppleScripts for manipulating images in Acorn and I shameless borrowed from them when I was customizing my workflow.

MD: Does your workflow change based on the type of post?

Not really. By the time I start writing, I have most of what I need in front of me.

MD: What are your custom tweaks to your workflow?

I used to use WordPress and the fabulous MarsEdit for blogging. Over time, I grew tired of WordPress. Don’t get me wrong, it’s a great blogging platform. But I grew weary of applying upgrades and updates. And I was running so many plugins … plugins that wouldn’t always work with the latest security update. So then I had to decide do I want the security update or do I want this plugin? Suddenly, I’m a system administrator and trying to keep my site secure. And just as suddenly, I’m not writing any more because I’m upgrading my site and chasing down plugins and, oh hey, maybe I should make a backup because I don’t want to lose everything.

It got to be too much.

So I started thinking about rolling my own site. And this idea bounced around in the back of head for a long time. One morning I read Brent Simmons’s New publishing system / tour of my head and I knew it was time to get busy. About 2 years later, I got busy.

I started by splitting my workflow into two stages:

  1. Stuff I should do; and
  2. Stuff robots should do.

I only want to concern myself with the work of writing: researching, thinking, writing, and editing. The sweat equity. The grunt work called “writing”. So I built my system with the goal of getting everything that is not the work of writing out of my way.

Once I’m finished writing, I hand it off to the robots and they do everything else.

My robots come in the form of Perl scripts, AppleScripts, Ruby scripts, Bash scripts, etc. Programs that do the tedious work of getting the writing online.

The guts of the system is too much to get into, but here’s the crux of what the robots do.

  1. Watcher Robot (Hazel), gazing at my ‘new posts’ directory, sees a file ending with the extension .markdown;

  2. Watcher Robot grabs the file and feeds it to New Script Robot;

  3. New Script Robot:

    a. Makes a backup of the original post and images;

    b. Creates the new post;

    c. Creates the RSS feed and main page;

    d. Syncs the website to the remote host that houses Spirit of Nine;

    e. Sends a notification to Twitter;

    f. Sends a notification to my iPhone; and

    g. Updates Day One (my journal).

New Script Robot is actually made up of several scripts. For example, I have a script that generates my RSS feed and another that generates my main page. New Script Robot just calls these scripts.

I love the idea that my website is nothing more than a bunch of HTML pages. I keep the entire website on Dropbox, so I always have a local and remote copy. If I decide to move to another web host, it’s as easy as changing DNS, syncing my site and I’m done. Plus I don’t have to worry about getting fireballed (more system administration fun!) and my entire website is searchable through Spotlight or grep. The benefits of having your website on Dropbox and be nothing but a bunch of HTML pages are almost too many to number.

MD: What parts of your workflow are you looking to change or improve?

One of my goals is to find ways to increase the amount of time I reflect and think before settling down to write. It’s not something I’ve been committed to in the past, but moving forward I aim to change that. Nothing I post could be considered “time sensitive,” so I really have no excuse. Not thinking before writing strikes me as poor form. Reflection, thinking, meditating, whatever you want to call it, is sorely under-valued today. So many people just post whatever is on their mind with no attempt to examine the thought, poke it, play with it, see if it has value or can be improved. That’s what I hope to change about Spirit of Nine moving forward.

As far as tools go, I’m happy with what I have. I’ve written all the tools I think I need so, absent a few tweaks, I’m finished developing it.

However, I’m always open to trying new things. If someone says “Oh, you really should try this task manager,” I’ll give it a look. I’ll never be convinced that I have The Best System EVAR®. However, I do believe that my system is the best it needs to be right now. If it wasn’t, I’d be fixing it. Most of the fixes I’m interested in are the ones that push the system out of my way and let me concentrate more on thinking and writing. I think, for now, I’ve found that balance.

In the future, I’d like to expand into other programming languages. I’ve been impressed with how much Brett Terpstra can do with so few lines of Ruby. I rewrote one of his scripts in Perl and it was an offensive amount of code. Granted, I’m not the world’s best Perl programmer, but there’s definitely room for improvement here.

MD: What parts of your workflow are you least willing to change?

If it can be made better, I’m willing to change it. “Better,” of course, is subjective. I wouldn’t sacrifice accuracy for speed, but I’d sacrifice speed for accuracy. I’m not interested in page views or hits. I’m not opposed to advertising, but it’d have to be extremely unobtrusive.

What I’m trying to say is this: I’m not interested in doing anything that makes writing or reading less enjoyable.

MD: Anything else you would like to share about your workflow?

That’s it. Thanks for the chance to share. It’s been fun!