I never blog. I have a list of more than two hundred blog post ideas. About half of them are worth exploring, and maybe a tenth are actually any good. So why don't I actually publish blog posts?

I tried increasing my motivation by joining up with various friends for accountability and support. I joined 'Iron Blogger' groups where you owe money if you don't publish. I got up early to set aside time to write to make sure that writing didn't get lost in the shuffle of my week. And still, no posts.

Thinking about it more deeply, I realized how many barriers there are in my way to publishing. Some of these may seem small, but small friction adds up quickly and really impact your likelihood to take action.

Some barriers are fear-based. Because my other blog is on my fullname.com domain, it shows up every time someone googles me. That's a great thing if it showcases my best writing as 'articles.' It's less good if it's more raw thinking-out-loud. To steal a metaphor from Neil Fiore, it's like a tightrope over a very deep chasm—scary to cross. Reducing that visibility lowers the tightrope. If it's much less scary to cross, I'll be much more likely to write. So, this is on a separate domain that is not linked explicitly to my full name.

Other barriers are purely logistical. For example, publishing with tools like Octopress goes like this: write raw Markdown locally. Preview your site locally to see if Octopress has parsed the Markdown in the same way as your Markdown editor. Fix the inevitable bug you find. Refresh the page. Find another bug. Rinse and repeat. Upload any images to a fourth-party host and then debug the links in your post. Commit the change to git. Push the code to Github. Deploy the site changes. Check to make sure they look good on the wide open web. Go back to square one for each bug you find in production.

Honestly, I'm exhausted just writing that out. No wonder my subconscious always avoiding working on posts.

For this brave new blog, I looked into a few options. I dove into researching options. I know Python better than Ruby, so thought I'd end up with Pelican (which is like Octopress but written in Python). But when I took a step back and looked at the things that were important to me for this blog in particular, the choice was clear.

Critical:

  • extremely low-friction to post. bonus points for enjoyable editing experience
  • easy to make the site look beautiful. I really hate fulling with CSS
  • product & team has a sustainable model and will still be maintaining it in a few years

Important:

  • displays code formatting
  • Markdown editing
  • easy export/backup options

Nice-to-have:

  • hosting and DNS is easy to set up. I do this once every year or so, which is not often enough to remember how to do it, and it always seems to take five times longer than I expect
  • open source codebase
  • codebase is in a language I know well

Ghost is still missing a few features that other blogging platforms have, but knocks my most important needs out of the park. After procrastinating on setting up a Pelican blog for literally months, it took me less than 5 minutes to set up a Ghost blog and the custom domain, and the theme looks totally decent right out of the box. I had been despairing how much CSS I'd have to write to make Octopress or Pelican look good. But since designers use Ghost, there are a ton of beautiful themes, many of them free. I'm actually excited to explore them.

And going from despair to excitement in five minutes? That's a world of difference.