How I Write

If you’ve read my past blog posts, you know that I’ve complained (and moaned, and whined, and sometimes even whinged) about long work hours and working 6 days a week. I’ve also got a kid and a wife who I’d really like to spend time with. My update schedule is not particularly rigorous, but I do manage to post occasionally. I would never be able to write anything at all if I didn’t use the little time I have in between other responsibilities as efficiently as possible

These are the main tools I use for writing:

  • Simplenote
  • nvALT
  • Markdown

Simplenote

Simplenote is an iOS app and also a syncing service. I originally started using it because the Apple iOS Notes app was both ugly and clumsy. I got an iPhone 3GS when the only way to sync notes with Apple’s Notes iOS app was to email them. That’s probably less of a problem now with iCloud, but at the time iCloud wasn’t even a twinkle in MobileME’s eye. The legal pad theme with unchangeable Marker Felt font made for a really horrible user experience. It wasn’t good even for short-form notes, and longer sections of text were rendered virtually unreadable.

Simplenote, in contrast, is an app with very lightweight design. It features a plain white background with Helvetica type. It makes note creation absolutely painless because you just start writing; Simplenote uses the first line of your note as the title. It may seem silly, but that one little feature is the main reason I haven’t switched away from Simplenote. Note creation was so frictionless that I had dozens of notes within just a few days of installing Simplenote. Compare this to a handful in Apple’s Notes app after months of having an iPhone.

Apps like Notesy and Byword have some features to recommend them, but because of the ease of note creation in Simplenote, I haven’t switched to using either of those full time. Notesy is my second-choice app, and if you’re dedicated to Dropbox syncing, would be my top suggestion as the best text iOS app for an iPhone. Byword is great on an iPad, but doesn’t feel quite as good on the iPhone’s smaller screen.

nvALT

One of the points of installing Simplenote was the sync support. While you probably can write long-form articles on an iPhone, it’s far from ideal. I really wanted to be able to view and edit my notes on my Mac too. From the Simplenote website, I picked the desktop app that most people seemed to like using: Notational Velocity.

NV has a really different paradigm for note creation than most applications: you just start typing. The top entry field works both as a search and a note creation function. As you type, it culls the list of notes in the lower pane based on the words you type. If you enter a unique string, there’s your title. Hit enter, and the note file is created automatically. The note body is in the lower pane.

Once I’d used it a bit I realized that this method of note creation was really, really fast and easy. It now seems odd that I have to separately enter a title for a file in other programs instead of having one automagically created for me. You don’t explicitly save either; Notational Velocity always autosaves on exiting a note. Sync is seamless and usually propagates to other devices in a matter of seconds.

I used Notational Velocity for a few months before I found nvALT, which is a fork of Notational Velocity. I immediately liked it a bit better than the original Notational Velocity due to some interface tweaks. nvALT also has MultiMarkdown support including autocompletion features, which I found useful later when I started using Markdown. A preview window allows you to see the results of your markup side by side with the plain text original. You can even make your own custom CSS file if you’re really particular about seeing exactly what the finished product should look like. You can view and save the HTML generated from Markdown from the preview window.

nvALT syncs through Simplenote by default, but you can sync through Dropbox instead of or in addition to Simplenote’s API. This is useful for those iOS apps that don’t support Simplenote sync. I use nvALT more often than any other piece of software on my computer besides Safari.

Simplenote and nvALT are the linchpin of my writing workflow. Simplenote lets me capture ideas whenever I have them, and nvALT lets me work on them when I get a chance to expand on those ideas, check my markup, and painlessly generate HTML for web publishing on any platform.

By default, both NV and nvALT store notes in a database file, but there is support for storing notes as individual RTF or TXT files. Back in college, I got burned by the incompatible format problem. I had half my life in WordPerfect and MS Works files, both of which became imperfectly readable as newer software came out. I ended up having to convert a bunch of files and clean up conversion errors by hand. After that, I decided to stick with plain text instead, and no proprietary databases whenever possible.

For future-proofing, so that I can use Spotlight to search my notes, and so that Dropbox syncs are faster and more granular, I store my notes in TXT format. My setup is basically the same as A Better Mess’s recommendations for working in plain text files with nvALT.

Markdown / MultiMarkdown

So, I’ve mentioned Markdown a few times. What is Markdown? If you’re any kind of ’net geek, you probably know already. For anyone “normal” who actually got this far (close to 1,000 words of geekiness) into this post, Markdown is John Gruber’s1 markup language, created specifically for writing on the web. It’s a subset of the things you can do with HTML, and has deliberately been kept simple. MultiMarkdown by Fletcher Penney is a slightly expanded version of Gruber’s original that makes it viable for more complicated writing tasks. Output from MultiMarkdown (MMD) can be HTML, PDF, LaTeX, and through scripting damn near any other text file format.

I only use a few of the things MMD is capable of, but I learn more about it all the time as I run into situations where I want to use more complicated formatting. It’s extremely useful since it’s much more succinct and easier to use than HTML, and it’s far more readable.

Other Tools

  • Dropbox
  • Notesy
  • TextExpander
  • Scrivener

Dropbox is not completely essential to the way I write, but it’s very useful. If I were doing my finishing work on an iPad instead of a MacBook Pro, I’d probably share the experience of many other people who find that Dropbox is the linchpin for their entire workflow. What I do use Dropbox for is syncing everything else that doesn’t go through Simplenote, and for redundant syncing. While Simplenote’s sync works well most of the time, there have been at least two occasions when the app locked up and became unusable when I had a lot of notes — somewhere between 500 and 800 when I had that problem. I’m not sure if the cause was a syncing backend issue, or the sheer number of notes, but I’ve since culled my pile ‘o’ notes and haven’t had the same problem.

Shawn Blanc experienced the same kind of syncing problems. Like him, the occasional wonky sync led me to look for Simplenote alternatives — the best of which for my usage patterns is Notesy, which doesn’t use Simplenote sync. My nvALT setup syncs to both Simplenote and Dropbox, so I can access my text files in any text editing app, and it also gives me a secondary backup. I use Notesy for some final editing and writing when I don’t have access to a full computer. It has Markdown support (which is oddly not available in Simplenote’s iOS client, but is supported in the web client) so I can check to see that my markup works properly before I commit to posting.

I also use Dropbox to sync TextExpander snippets across both OS X and iOS platforms. I came to TE late in the game, only having installed it in the last few months, but I do find it useful for some tasks, especially for typing common things on my iPhone. I use it mostly for tagging, and some markup and formatting tasks that are more painful on a small keyboard. One extremely useful element is that it can reposition the cursor after expanding a snippet, which is much nicer than the (probably unavoidably) fiddly magnifying glass interface in iOS. In addition to my own snippets, I’ve found Brett Terpstra’s iOS Markdown snippets to be useful.

In the past I used Scrivener for my blog posts, which is an excellent writing tool, but I found it is a bit too heavyweight for the shorter length of blog writing. I’m currently using it for working on several articles meant for magazine / online periodical publication and an outline for a book. If you do any long-form writing, it’s fantastic.

I’ve probably barely even scratched the surface of what it can do, but here are some features I’ve found useful: Scrivener can sync through Dropbox or Simplenote. It supports MultiMarkdown and — via MMD — LaTeX. A Scrivener file is a package, and there are no proprietary formats for the content inside that package. Text is stored as RTF by default, but you can store in plain TXT files instead. It can read OPML files, which most brainstorming / mind mapping programs either use or can export to, so you can automatically create an outline for writing from a file you created in something like MindNode Pro that lets you access radiant / gestalt thinking more easily to spark creativity.

You can work on your document in many small chunks, each stored as a separate text file, and compile them together into one large document at the end, processing text with a variety of scripts to generate just about any kind of text file, including Final Draft, Word .doc files, PDF, and ebook formats, among many other possibilities. For any kind of long-form writing, especially fiction, it’s an extremely useful application.


  1. John Gruber writes Daring Fireball, a site you might have heard of.  ↩