The Sharpest of Tools

I (Josh) follow /r/writing. It occasionally has content that I’m interested in, similar to /r/todayilearned or /r/trippinthroughtime. It’s something to let the other side of my brain breathe during my union-mandated 15 minute breaks. It also looks suspiciously like work. That it seems like work, or could be construed as work is important. “I work in IT. I will always need to keep up on my communication skills” is what I’ll say if anyone ever calls me out on it.

But really, I don’t have a door to my cubicle. My only, once, and future aspiration in my career is to have a door that I can shut. And maybe to be able to wear headphones again. Being able to see daylight during the day would be a distant third.

I am far from my hunter-gatherer roots.

Anyways. Despite a lot of repeated posts (“How do I get started?” or “How do I cure that pesky writer’s block?” or “Here are ten things writers should / should not do”), there is the occasional nugget. Someone talking earnestly about their project, or someone talking about their experience with publishing. Sometimes it’s fulfilling, hearing someone else struggling with the same things you do. Sometimes it’s horrifying, hearing that someone is getting taken by an agent or a publisher.

But other times, someone asks, “What software do you use for writing?”

And even though the answer is almost always the same, I will still descend into those depths. As a computer programmer, I am essentially a professional text wrangler. Yeah, there’s code and everything, but the way to that code is a series of keystrokes that put characters on a screen. The better, the faster, and more economical I can be in this, I can spend more brain-time on the problem I’m trying to solve.

Whether it is code that I am wrangling or natural language is sort of incidental.

In those /r/writing writing tool threads people usually bring up Scrivener. Weirdly, this seems to always coincide with a sale on Scrivener. Always with the Scrivener. I am sure it is great. I, personally, have never used it. This is because it doesn’t cut cans.

The can that needs cutting is that I am not just one author. I am one of two authors that have to collaborate, and do so over long periods of time, short distances, and the extreme variability of child-weather. Well, Mike’s children’s child-weather. My free time is a deep, lush forest. Mike’s free time is that lone tree on the mountaintop that you wonder how it got there.

Anyway. Our use case is a little unique. We have to track each other’s changes, notes, have discussions about further content, and generally do all the things Scrivener does without stomping on each other’s work or losing it. It’s a tricky thing. The kind of tricky thing that you need the right tool for.

This was my exact thought progression when we started Skysail. I did some research. I saw the /r/writing threads about writing software (“All hail Scrivener!”), and rather than taking the advice of Internet randos, I became curious what famous authors used. I did some looking and I found the following:

List of word processors used by famous authors:

Patrick Rothfuss: Microsoft Word '97
George R. R. Martin: Wordstar
Neil Gaiman: Fountain Pen / Final Draft
Steven King: Microsoft Word
John C. Dvorak: Wordstar

This from a file I have called WordProcessorsOfFamousAuthors. I never cited my sources, so I really can’t claim much in terms of how solid those are. But I’m pretty sure that I’ve seen repeated references to GRRM’s choice of tool in Wordstar, and I think Neil Gaiman’s method is documented as well.

What I was looking for here was the Photoshop, the Illustrator, the Premiere of novel-building software. Something that professionals use, can use, and if they aren’t using it, they are using something else very specific to their job. Unfortunately, I found the answers above. A couple of Microsoft Office junkies, and hold-outs from 1980’s. Nothing that I could pick up and say, “This will do all of the things.” And certainly nothing that would help Mike and I work on the thing in tandem.

Well. I should qualify. There are tools that help. Can help. Programmers have solved the “multiple authors, multiple files, high complexity, over time” problem for a while now. But they are not tools that you can sit someone in front of and say, ‘Write.’ No. They are tools that demand sacrifice. They are tools that only speak the language of pain.

Git is one such tool. I had just learned Git then. Git is an amazing piece of software. Git is software that helps you build software, tracking changes and history of a directory over time. That it was built to track code and not a book is, like I said, incidental. But it is pain wizard software. As a code monkey, my tolerance for this pain is rather high. I am a pain wizard, drinking the pain to fuel my strange powers. Yes, I can do these magicks. But do I wish all of this pain and suffering upon my friends and family? No. I can’t. I’m not that kind of a monster.

Surprise! I’m just a different kind of monster. A code monster. The kind of monster that says, “If something doesn’t do exactly what you want, it is your moral and biological imperative to create the thing that does exactly what you want.”

So, back in 2012, pretty much the day we started putting things together, I also started putting together Giterary.

Giterary is not amazing software. It is okay software. It’s a wiki that I built that tries to smooth over the knobs and angles of Git and make it a decent writing experience. In actuality, it’s a confusing, half-built mishmash of cobbled together editors and forgotten functionality. It’s weird, it’s over- engineered, but we call it home.

It lets Mike and I edit the book in pieces. It lets us check out the book to our computers, work on them during long flights or the dark, disconnected times. And it lets us quickly organize novel content and marginal content. But when it comes down to it, it’s just a wiki. A wiki that can make eBooks. And can do columnar editing. And searches with regular expressions! And manages your TODOs! Oh, you’ve left. Darn. Not another one.

Anyway. Now, as it was four years ago, I feel that online authoring is in its infancy. We’ve had things like Wikipedia (which is run on the Mediawiki platform) to demonstrate what can be done when you have multiple authors and editors and consumers. But we’re only just getting there. As I’ve learned with developing Giterary and other tools, online text editors are limited to the resource constraints of a web browser, which, while considerable these days, are still limited at scale. For instance, loading Skysail into Google docs will crash the browser every time.

Anyway. We’ll document our workflow at some point. But really, the purpose of this is just to give a sort of colophon for our novel. A “tools used” so that others in some future /r/writing thread can have another weird data point to ignore in lieu of Scrivener.

We both use Giterary, the wiki I wrote to help us collect, organize, and write the novel. I (Josh) use it, and if I’m on a computer with a decent terminal emulator, I’ll do a git pull and edit in Vim. Mike, if he‘s really desperate, will use Notepad++, but that’s only if his Internet dies at the coffee shop and he’s afraid that he’ll lose his draft (he won’t, unless it was that one time, and I’m still sorry).

As is the default format in Giterary, we both use Markdown, which is a really great, simple, way to generating HTML with minimal syntax and hardship. Giterary makes use of the CodeMirror editor, which provides syntax highlighting and a lot of other nice things. We edit in text, we read in HTML, and export to ePub format.

P.S. I don’t waste all that much time at work. I don’t smoke, I don’t whinge for hours on about politics, and I don’t do fantasy sports. Even if I was into two of the three, I think they would be money ahead.