In a series of upcoming blogposts I plan on describing the path I’ve been on for the last few months trying to settle on a workflow that will serve me well across all platforms and tools. After a lot of of experimentation, text files kept coming up as a viable solution to the majority of the issues I’ve identified as key to what I need for a clean workflow.
Why Do Text Files Work?
Ubiquitous File Access
Having access to files wherever you are is really handy. Generally, if I write a note beyond a few sentences, using something like OmniFocus doesn’t really work. An app like Pages (until iCloud comes along perhaps) is overkill and doesn’t sync easily or cleanly between all of the devices I use often and having a clean format to write and read is key.
Future Proofing
Using text files “future-proofs” your documents, large or small. Word and Pages will no doubt change their file formats down the road as they move to meet the evolving needs of users and their current formats are rife with formatting redundancy and ugliness. Using plain text, you can pretty much guarantee that you'll be able to read text files. I submit the fact that I can still view and edit text files from old Unix machines as a warped kind of proof.
Small Files
I like that text documents contain the bare minimum necessary to convey the information you’re trying to relay. No stray formatting characters getting in the way when you open your file on another machine or in another app. No weird escape characters or HTML-encoded junk crowding up the screen — just words. I find that usually, that’s all I require for most things. For the times when it won’t suffice, there’s Markdown, which is damn close to being plain old text anyway.
Markdown
Markdown has been one of the biggest advantages to my conversion to text files. If you don't know what Markdown is, here's my take in a nutshell:
Markdown is a format created by John Gruber of Daring Fireball fame. It is a simple syntax that can be used to convert plain text into HTML. Writing in Markdown is fast. You also end up with a document that's easy to read without a lot of formatting syntax to fuck it up. It took me minutes to learn everything I needed to know to write a document like this, for instance.
Once I found out about it, it made total sense and I started to see it everywhere. You can blog in native Markdown on Tumblr, Wordpress has a plug-in, Scrivener supports a expanded flavor of Markdown called Multimarkdown, BBEdit has support for it, as well as many note taking apps like the iPad app I'm writing this on, Elements.
There's a lot of stuff written on the Internet about Markdown, so if this sounds like something that will enrich your life, turn with an inquisitive eye and spry fingers towards Google; is your friend (sometimes).
As far as tools go, there are many useful ones out there. As I go through the applications that have helped solve my text file workflow issues, you’ll hear a lot about Markdown, but there are standalone applications for Mac, specifically designed to make the use of Markdown seamless and easy.
One of the apps I’ve found recently is called Marked written by Brett Terspter (writer of nvAlt (see below)). It gives a near-live formatted view of any file based on your Markdown syntax. You can do tons of things with you document once it’s in Marked like view it with different style sheets, export to HTML, get a word count, preview as PDF, copy the HTML to your clipboard and many other features. He’s selling the app on the Mac App store for $3.99 which is a steal given the funtionality. I can see using this application every day.
Text File “Look”
Admittedly I like the look of text files, mainly because they have no implied “look”, per se. Customize them by app and that’s how they’ll look — simple. No need to worry about how it will look in another app because it will look like a text file.
Since you set up your text editor to view your text files however you want them to look, a few add-ons have appeared to make that experience as pleasant as possible. Given that you’re likely to spend a lot of time looking at text editor if you’re a tech nerd like me, things that make it easier on the eyes are always welcome. One of the ones that has gotten my attention and use is called Solarized.
There are two Solarized color schemes — a dark one and a light one — both designed to ease the harshness of text on field that you usually get with plain old black and white. I’ve applied both color schemes to BBEdit and other apps that support themes like OmniFocus and have been pretty happy with the results and I’m sure my eyes thank me.
Tools To Solve Problems
So far I’ve been mentioning applications for text editing here and there throughout this tech note but now I’m going to get specific about which ones I use, which roles they fill and how I’ve customized them. These applications range from online/offline storage, searching solutions, editing solutions and formatting solutions, both on the Mac and on my iPhone/iPad.
Dropbox
Key to every part of my workflow is Dropbox. I have had a Dropbox account for quite some time and, while it seemed convenient, it was never critical. With the advent of the iPad and iPhone, more and more apps starting building in Dropbox support as a major component. It was developer’s way of integrating cloud storage and a file system, given that Apple hadn’t built any ability access the file system on iOS.
All of my text files are stored in one directory on Dropbox. This enables me to do a lot of things but, rather than go into those details now, I’ll be describing how Dropbox fits in as I discuss each application for which it is a crucial component. It is a killer app with some potential drawbacks (security), questionable longevity (iCloud is coming soon) and limited space (I have about 2.4gb available space on my account). It is the hub around which everything I describe from here on out works.
BBEdit
I used TextWrangler since my first days on OS X. I got some advice from a friend as to which text editor to use for day-to-day editing and it was the first and easiest choice. I downloaded it (for free) and never looked back until recently. As my need for a more robust text editor grew, the feature-set for TextWrangler seemed lacking and I started looking at Bare Bones software’s flagship text editor BBEdit.
I’ve heard a lot about BBEdit and it is often contrasted to TextMate as one of a pair of pre-eminent, programmer-centric text editors. They both have staunchly loyal followings and, given that TextMate hasn’t been updated in 2 years coupled with the fact that BBEdit recently launched version 10 on the Mac App store for the low price of $39.99, the choice didn’t seem like it would be too difficult between the two. Most of the TexMate loyalists cite it’s ability for customization and their lack of interest in learning a new set of keystrokes, shortcuts and shortcomings which I can understand. I’m not really coming to it with any baggage so for me, the choice was pretty clear.
BBEdit has a ton of ways to customize it but I tend to use it mostly stock. I mess with the fonts a bit and add the Solarized color scheme but that’s about it. The really interesting thing about BBEdit is that it has the ability to add scripts to do pretty much anything to a text file (or set of text files). The scripts can be added in a multitude of languages and it supports the ability to record and run Applescript from within the application. I have written some extremely quick and dirty scripts based on simple recorded actions to save myself many minutes of formatting changes. It felt good to mess around with code again too.
Also present in the latest version of BBEdit is the project function which lets you map a logical file structure to a directory which will then stay current in real-time. If you add a file to that directory, that file will be a part of your project and so on. You can just add files ad hoc and that’s fine too. The project paradigm lends itself to the way I’ve been working with apps like nvAlt (more on that later) and Elements (more on that later too) by mapping a central directory that has all of my text files in it. I’ll explain why that’s a good thing when I get to my section on “searching”.
Bottom line, BBEdit is a steal for $40. It’s something I use everyday in a myriad of ways and I have the feeling I haven’t scratched the surface.
Scrivener
I’m writing this section in Scrivener. I came to the application a few years ago when I asked my screenwriter friend Ryan for a good screenwriting app. He suggested Final Draft and Scrivener. I bought both and, while I understand the industry’s reliance on Final Draft, Scrivener is more than just a screenwriter’s application — it is a full-featured writer’s toolbox. The feature-list reads like a wishlist you’d put together if you were imagining the perfect writing software and it really delivers. It is stable and blindingly fast to boot.
Scrivener is one of the few apps on my Macbook that is always open and it is a truly amazing and incredible application. It’s flexibility as a writing tool is great although some have said that the flexibility comes at a price — it is a weakness of many workflow nerds to fiddle with their systems incessantly, making constant improvements over time and never actually being done. Scrivener allows you to tweak, adjust, customize and change just about every function of the application at every level. If you can ignore that when you need to, or if you’re like me and tend to be ok with defaults, you can really get a lot done in Scrivener. If not, you may fall into an abyss of colored, iconized folder icons and unreadable fonts. Beware.
I could devote an entire tech note (and I suspect one day I will) to Scrivener but for now, let’s just touch on how I use it to deal with text files.
Scrivener creates a collection of simple text files. In it, you create something called “scrivenings” which are basically text snippets which you then combine into longer works. The outlining system is solid and turns every level into an editable text file. You can also import OPML files from applications like iThoughts, Mindnode (mind mapping apps) and OmniOutliner (a solid outlining tool and subject of a future tech note, surely) to automatically create an outline for you.
Something else I found out last week, much to my surprise, is that Scrivener supports Multimarkdown (which I’m using currently). You write in Markdown syntax and compile your end result as any output format, including Markdown itself. My current workflow involves me exporting, called “compiling”, my document into a long Markdown file, which I preview in Marked (remember that one? I mentioned that one waaaaay up above…) and paste into a Tumblr edit window (which reads Markdown). Yes, I can stay in native Markdown all the way to the final product, which makes everything incredibly easy.
These few paragraphs do Scrivener justice. Do yourself a favor and take a look at it.
iOS Apps
As I mentioned before, the ubiquity of text files is part of their usefulness. Since that access from anywhere is important, having a process that utilizes mobile technology is a cornerstone to the workflow.
A key to working with text files in a mobile environment is a cloud-based file system, so Dropbox is obviously a key factor for right now. I am sure that there will be a lot of applications that will start integrating iCloud when it releases in the coming weeks and, given that each user will get 5gb of space, it may end up being a more broadly adopted option.
There are lot of “writing” apps available on iPad and more and more arrive every day at the App store. After doing some research, I started finding that there are some really full-featured iPhone text editors as well. The more I looked, the more I noticed that three names came up (maybe four) over and over again — Elements, Nebulous Notes and Notesy.
I’ll try to describe each one, where it fits and why I’m currently using it (or why I stopped).
Elements
I first became aware of Elements via one of the Apple blogs and, at the time, there was little in the way of plain text editors for IPad. It had Dropbox integration which sounded intriguing but after I bought it I came to the realization that you could only bind it to a single directory on Dropbox called, strangely enough, "/Elements".
That seemed like a deal-breaker initially but once I realized that I was going to put everything into one directory anyway, it didn’t seem to matter much. Later versions of Elements dropped this restriction and allow you to bind to any directory in your Dropbox account but I stuck with /Elements because every other app I was using at that point was using it.
The iPad app has a Markdown preview, customizable fonts and a clean, snappy interface. I’ve used a few other straight up text editors on the iPad but Elements is still my favorite. It has a lot of other features so if you’re in the market for a good iPad text editor, go for it.
IPhone Text Editors
There are three text editors I use on my iPhone. I have three because I haven’t really made up my mind so far on which one is my favorite.
My current favorite is the iPhone counterpart to Elements for iPad. I’ve been really happy with the Dropbox support, the default font and formatting and the Markdown support/preview. It is sitting on the coveted Home page of my iPhone right now and sees regular use.
I also ran across Nebulous Notes in my travels. I first heard about it in the Mac Power Users’ podcast when they were discussing Merlin Mann’s workflow and was intrigued. I took a look and found some nice features and solid functionality. I don’t think it’s perfect but sometimes I’ll switch over to it. Since everything is mapped to the same Dropbox directory, it doesn’t really matter much if I feel like using one editor one day and another text editor the next.
The other iPhone text editor that I dabble with is Notesy. Another solid contender with a ton of cool features, it rarely gets use these days.
Ultimately, Elements is the best of the bunch. If you’re looking for a text editor for your iPhone, look no further.
Searching Your Text Files
So you’ve accumulated a ton of text files by now. They are all sitting in a directory somewhere. Maybe you’re contemplating an ornate naming scheme to keep them orderly, or maybe you’ve decided on a folder structure that will encompass the whole of human understanding into one concise and elegant tree. While I do have a naming scheme that I’ve started using (special thanks to a Merlin Mann podcast for that one (I think)), it’s far from perfect. I’ve found, however, that by adding a few tools into the mix, complex taxonomies and folder nesting is not necessary.
Notational Velocity and nvAlt
A key to taming the chaos that threatens to overtake when you decide upon using a ton of text files to manage your information is an application called Notational Velocity. NV (as I’ll refer to it from here on out) is a tool that is meant to solve the exact problem I just got done describing. Imagine a tool that will take a directory, or directories, and collate them into a light, searchable database format. Then build a text editor right into that database search feature so that, when a result isn’t found, you are automatically creating a text file for the terms you just typed in. Handy, right?
Well, NV does a pretty good job of that, but the aforementioned Brett Terpstra forked the code for NV, calling it nvAlt and adding things like Markdown support and a ton of other useful features.
The general workflow is to map the nvAlt database search directory to a single directory on Dropbox — by default it became “/Elements” since that used to be all you could use with the Elements app — and when the need strikes, fire up nvAlt and type any word you think might be in the text file, or the name of the file if you’ve resorted to a creatively and usefully named file-naming taxonomy. The search results appear almost immediately and, if they don’t, you can continue typing to create a new text file with the name of whatever you’ve just typed.
Next, start editing the document in Markdown, preview the Markdown, etc. From there, the world’s your oyster. You can open and edit the file from Elements on your iPad or iPhone, import it into Scrivener to include it in a larger piece of writing or to use Scrivener’s distraction-free mode
That’s a lot of words about text files, I admit, but they’ve become such a big part of my day-to-day, it’s as good a place as any to start my discussions about workflow on this blog. If you have any questions or comments about the stuff I just typed out above, drop me a line at jeffhunsberger.tc [at] gmail [dot] com.