Gabe takes time from his high-volume blogging schedule to join Erik for a chat about writing tools and workflows. Along the way, they touch on the apps and devices they use to write for the web, work, and themselves.
Some bloggers consume an above-average amount of space.
The good news is that many of these same bloggers are also in the habit of spending an unusual amount of time refining their writing workflow.
Gabe navel-gazes, we profit.
Gabe has “mentioned” mind maps before but after a great deal of experience using them in general, and iThoughts in particular, it’s now just the way he thinks about a big project.
From there Gabe’s workflow is plain text all the way down, with Markdown at its core. From a basic tool like nvALT to the more complex ones such as Sublime Text, it’s easy to manage your writing when it all lives in some form of plain text.
Sublime Text
I’ve progressed through TextEdit, TextMate and BBEdit to end at Sublime Text as my primary text editor. The best part about Sublime Text is the keyboard-centric control it provides. Everything is a keybinding or accessible through fuzzy text matching in the command palette.
The second best thing about Sublime Text is the ludicrous number of plugins available. The SDK for Sublime Text provides enough control over the application that plugins feel like a natural part of the main program and not an add-on script. I think the great diversity in the plugins results from the multi-platform support in Sublime Text. A Sublime Text license works on Mac, Windows or Unix and many of the plugins work equally well on all three platforms.
My least favorite part of Sublime Text are the configuration files. To adjust or tweak anything requires a deep dive on a JSON file. For those looking for just a basic writing app, this is probably a deal-breaker, but for anyone that has worked in HTML, CSS or any programming language, it’s trivial. The text-based configuration files are very flexible which means there’s more control over every little detail in Sublime Text. That’s a net gain in my book.
I prefer medium-light text on a dark background. Many people call this “dark mode”. I call it “not squinting mode.” There are also “inverted” modes that some prefer. Whatever text editor you use, I recommend finding a theme that works everywhere and sticking with it, especially if there is any kind of syntax coloring. It takes the distraction out of the distraction-free writing environment.
Take a look at Colorsublime for a great collection of themes as well as an interactive demo of each. This is a seriously awesome resource.
Buy Me a Soda is a very popular theme for Sublime Text and TextMate but there are plenty of great themes around. Pick one and then stick with it for at least 6 months. Stop futzing with your color schemes.
There are a few plugins I recommend for Sublime Text that make for a better writing experience. None of them are necessary. But at the very least, get comfortable with the commands and memorize the keyboard shortcuts built into Sublime Text. Being able to quickly jump through a document makes all the difference when working on a large block of text. I also recommend learning how to use split panes.
Here’s a look at the Project dialog boxes that Gabe and Erik highlighted:
Project File Actions
Open Recent Project
Through the wonders of TextDrop, you can even have ubiquitous access to your notes in
almost any web browser. Gabe also makes extensive use of the Sublime Text SFTP Plugin, which provides him another way to remotely manage his text, while being at home in Sublime Text.
![]() | “I made her use Pages before they ruined Pages” |
Also note that even when your writing’s eventual destination is an email recipient or even, perish the thought, Word, you can still use the tools you have honed for plain text composition. Unless dashing off a quick note (and maybe even then) you’re probably better off using what you know or prefer.
On the mobile side of the house, things are in some ways much the same. Without commenting on whether the iPad is a consumption or production device, many of us do the bulk of our work on a conventional desktop or laptop. Likewise most of us do need to do some work on a mobile device, and there are many great apps that permit easy work with plain text and markdown, and Dropbox to it all in sync.
Editorial
Editorial is the pinnacle of writing on iOS and may be one of my favorite writing tools. The singular focus of an iPad helps to enforce my intent but there’s just enough flexibility in Editorial to let me quickly look something up on the web without falling down a rat hole.
For the uninitiated, Editorial is a Dropbox-enabled plain text editor for the iPad. At launch, it provides a light and dark writing mode, document syncing, Dropbox powered version control, MultiMarkdown preview and a built-in web browser. But the real power of Editorial is the workflow engine that extends the application in a variety of ways. There are plenty of overviews of the application, as well as a book you can buy to learn more about the tool. But I’d recommend a few workflows to get you started:
- Paste Workflow to save effort trying to trigger the pop-over
- Select Forward and Backward by whole words
- Find and Replace workflow (or by popover)
- Smart Case conversion workflow
Gabe and Erik discussed iOS text editing on an earlier episode of the show, but there are a couple worth revisiting here.
While any of these apps can separate types of writing through the use of Dropbox directory structure, a useful tip is to separate out certain bits of your writing by confining it to a specific app. A perfect example of this is the way Gabe keeps his personal writing in Day One. He discussed his journaling workflow on his blog in 2012.
Day One and Time Travel
You owe it to yourself to go read Gabe’s article now. We’ll wait for you to come back.
While this can just be a simple way to ensure no personal detail is accidentally shared, don’t discount the mental benefits of shifting your mindset by switching to a single-purpose app.
At the other end of the spectrum is Erik, at best a semi-periodic “blogger.” While Erik may only write rarely for the web, he does write. For Erik, new tools should fit into his existing workflow, which is development focused.
Sublime Text is his primary tool, as his workflow is almost purely laptop based. Most of the time that he doesn’t have a laptop with him, he’s not in a position to write anyway. Erik may not always write when mobile, but when he does it’s usually with Byword.
The main things going for Byword are its speed, its simplicity, and its near-unique ability to take Markdown input and send it to Evernote. For those reasons, it’s what Erik turns to when he isn’t using Sublime Text.
Dictation is one of those things that seems like a perfect way to write on the go. Instead it usually ends in frustration. iOS dictation is improving, but you still have to wait for the server. Android dictation is significantly faster and gives you the benefit of seeing your text appear word by word, but in the end you’re still talking into a rectangle in your hand.
In the event of a website emergency, if all Erik had was an iPad he’d turn to Diet Coda from Panic. With recent updates, it supports local files, Dropbox, 1Password integration, and a bunch of really great features you’d expect in a desktop editor. Unfortunately, as a paranoid shut-in, Erik rarely ventures out without his laptop.
Although, if the laptop died…
If you’re looking to write the next great novel, or even take part in NaNoWriMo, you have probably considered Scrivener. It’s like an IDE for books. The lack of an iOS version is its only Achilles’ Heel, but hey, at least it runs on Windows and even Linux.
Bah
Vim runs everywhere, too.
Many of us have aspirational tools that we really think should be perfect for… something. Our hosts are no different in this, but then again, if a tool really is a right fit, it will likely worm its way into your workflow, rather than be denied.
Some workflow tools like the system dictionary, exist in the background rarely(?) needed. Some tools like TextExpander, are so vital that minor panic attackes ensue whenever their absense is considered. For Erik TextExpander is the glue that holds his writing together, but we should all fear dependency…
Expanding on Expansion
If I were to pick a tool I couldn’t live without, it would probably be TextExpander by Smile Software. It’s the kind of tool that gets stuck in your workflow and never quite gets out. Whenever I’m on a non-TE platform (Windows, Linux, Android, most iOS apps) I find myself typing my snippets and waiting a few seconds for them to appear.
…and they never do!!! SOB
TextExpander is such a part of my workflow that I’m a bit afraid to keep using it, since I feel it might disappear on me at any moment. This nearly happened with iOS 7.
- TextExpander
- Type more with less effort! TextExpander saves your fingers and your keyboard, expanding custom keyboard shortcuts into frequently-used text and pictures.
- Price: $34.95
- Developer’s Page
- App Store
Yet one of my biggest uses for TextExpander is writing for this site and my blog. You see, I do a sort of meta expansion – using snippets to write templates. On many modern blogging platforms Template Engines allow you to do TextExpander-like expansion of a few variables into a whole lot more HTML. They keep the markdown files of your blog fairly readable, and they make it easy to extend your design with new functionality quickly and painlessly.
Discussing the virtues and perils of templating engines is beyond the scope of these notes, but to give you an idea of what they can do, I’ve included below a few of the templates we use on this site, along with the corresponding TextExpander snippet, the HTML and rendered output.
These go just beneath our section headers and embed a linked Soundcloud time stamp.
Typing ;tsc
turns into this template:
{{ theme:partial src="timestamp" url="{{ soundcloudurl }}" time="" }}
Which gets turned in to this HTML:
<div class="timestamp">
<span class="listen">Listen to this section on SoundCloud:</span> <a href="https://soundcloud.com/techdiffpodcast/069-writing-workflows#t=0:00">0:00</a>
</div>
And ends up looking like this:
What about those fancy time stamped pull quotes? Same deal. ;tfq
becomes this (once I’ve filled in the variable values):
{{ theme:partial src="fancy-quote" url="{{ soundcloudurl }}" time="0:00" person="erik" quote="Surely you can't be serious." }}
Which is rendered as this HTML:
<table class="fancy-quote erik">
<tr>
<td class="avatar">
<img src="http://technicaldifficulties.us/assets/img/erik-avatar.png" />
</td>
<td class="quote"><a href="https://soundcloud.com/techdiffpodcast/069-writing-workflows#t=0:00">“I am serious.”</a></td>
</tr>
</table>
Which comes out looking like this:
![]() | “And don’t call me Shirley.” |
We even use it to optimize images, using the built-in transform tag in our CMS. Typing ;timg
turns into this:
{{ theme:partial src="image" title="Much expand. Wow." show="{{ number }}" file="doge.jpg" }}
To this (with the variables left intact so you can see under the hood):
<a class="fancybox" alt="{{ title }}" title="{{ title }}" rel="page" href="{{ _site_url }}assets/img/{{ file }}" >
<img src="{{ _site_url }}{{ transform src="assets/img/{{ file }}" width="1024" type="jpg" action="resize" }}" /><span class="title">{{ title }}</span>
</a>
To this:
Very often we need to quickly jot down an idea before it flees us, and that quick-capture muscle memory is important one to train. Drafts is without peer for the Dropbox fans, but if you don’t mind having your notes living in a database of some sort, Evernote offers a nice solution, especially if you have an inbox notebook.
It is worth pointing out that dead tree paper is still the best choice for when you want to show that you’re paying attention and not just multi-tasking.
Until next week
Well, that’s it for this week. If you have anything that you’d like to add to or correct in the show notes you can find me on Twitter @potatowire, or feel free to send an email to me at potatowire dot com.