My Paperless Office - One Month Later

A couple of months ago, after reading David Sparks' Paperless, I started concocting a plan to create a paperless office. If you want the quick version of this story, here it is: It took some elbow grease, money and planning but now I have a workflow that is nothing less than magical.

I started with a large filing cabinet of old papers. Insurance documents, car documents, bills, receipts, health insurance information, and other detritus were cluttering up its many overflowing folders, stuffed into drawers. The filing cabinet weighed a ton and I knew that some very old and unnecessary documents were lurking inside.

The plan was to reduce this mess to something that was simple to maintain, even though it would take no small effort to set up. The resulting workflow had to be backed up, secure and easy because if it took a lot of sweat to get files into the system, I knew it would fall into disuse and eventually abandoned completely.

The parts of the workflow that took shape were these:

  • Document scanner
  • Hazel rules
  • TextExpander
  • Shared folders
  • A Mac Mini
  • Knox
  • CrashPlan
  • Time Capsule

Workflow Overview

The basic idea was to be able to open my Macbook Air at my desk, open my document scanner and send the document digitally to a shared machine. At that point, the file would be appropriately named and filed in a nested folder on a secure (encrypted) drive volume which is then backed up in a verified backup system.

The keys to the system were to be simplicity, portability (using PDF), security (using Knox) and flexibility (using Hazel, shared folders and TextExpander).

The Scanner

For years I've procrastinated about creating a paperless office. One of the reasons was that I wasn't sure of what the best scanner technology was. Buying a scanner is expensive and, if you pick the wrong one, you're kind of stuck. Putting hours of thought into something that encompassed so many steps was something that was difficult to get my head around.

I decided that the scanner was the first piece of the puzzle I needed to put into place. After a lot of searching Amazon, taking MacSparky's recommendations into consideration and reading a lot of reviews I decided on the ScanSnap.

The basic functionality, after a few tweaks, is that you open the scanner lid, open the software on your machine, place your documents and hit the glowing blue button. At that point, the document is scanned and OCR'ed and dumped into a directory. It really couldn't be any easier.

Hazel rules

It's from this point that Hazel takes over.

I have two sets of Hazel rules. One set is monitoring the Scansnap folder on my Macbook Air and, when a file hits that directory, it bounces it immediately to the Mac Mini server. The other set of rules watch the destination "processing" folder on the Mac Mini and handles naming and "filing" the PDF files when they reach the network folder.

I scan a fairly limited amount of files on a regular basis -- electric bills, Internet bill, bank statements, car insurance etc. For each one of these types, I created a rule in Hazel that looks for specific text keywords in the document (supplied via the Scansnap OCR) and then names and moves the document to a nested subfolder like "Car Insurance".

One thing that it slightly unique with my setup is that these Hazel rules have the keyword "TEXT" in the rule title. This is to designate that this rule is processing the file based on the OCR text content. I also have rules that process files based on keywords in their title, and for these I use the obvious "TITLE" in the Hazel rule to easily find and modify them.

For an in-depth set of suggestions on file name schemes, watch the videos in MacSparky's Paperless. The upshot of all of this is that, once the files hit the action folder, it gets renamed and bounced to a requisite folder in a matter of seconds.

TextExpander

Sometimes there are one-off files that don't get picked up by Hazel. This is to be expected but you'd want your paperless system to encompass these files as well so, for these situations, I again look to Hazel and TextExpander.

In this case, I will scan the file and then rename it with a consistent date format, including the category keyword in the title as well. For instance, if I get some supplementary information about car insurance that isn't a bill, I name the file "2012-08-31 - car insurance supplement.pdf" and the Hazel rule that is scanning by TITLE will find "car insurance" and move the file to the right spot in the Knox volume. It's a quick and easy workaround to unique files and still preserves most of the automation.

A Mac Mini

The Mac Mini is a fairly new machine that acts as our home server for things like multimedia viewing and music listening etc. Its wired via HDMI directly into our Sony TV. I was a bit skeptical at first as to whether or not it was worth having a pricey machine hanging off of my TV but it has been amazing. I definitely recommend this approach if you're looking for a good multimedia solution in the living room.

Knox

Knox is software by Agilebits which creates an encrypted, secure file volume on your computer. It functions just like a drive when you're logged into your computer, but if you move the file volume around, it is a completely secure file which is basically impenetrable.

Since I wanted to have an online backup system, it was important to me that whatever got uploaded onto the internet wouldn't be readable by someone if they were able to hack into the backup cloud servers. Even if they got access, they'd just get a big blob of a file which was completely useless to them.

The encrypted Knox volume gets backed up on a nightly basis. Just to be safe, these files are backed up to my Time Capsule as well.

CrashPlan

After doing quite a bit of research, the best online backup system I was able to find that combined simplicity and features was Crashplan.

I don't really like the interface that much as I find it slightly confusing and inconsistent. The fact that it uses Java is a thorn in my side given Java's security and speed issues but the good outweighed the bad in this case. I have Crashplan running on the Mac Mini and it uploads the Knox volume on a nightly basis.

Given how important some of these documents are, I think the backup workflow which involves both local and cloud storage of encrypted data is good all around solution.

Caveats and Warnings

You'll need to keep some documents in paper form and have them handy at all times. For instance, the other day we lost electricity and I needed to call the utility company. Sadly, the bills containing the account number were safely tucked away in a machine which had no power.

It was a wake-up call that I might need to keep a rolling, "latest month" folder of files which get shredded at the end of the month as the new bills show up. I'm not quite sure how I'll do that yet but, for now, they are collecting dust as an unsightly pile on my desk.

The first thing I did after the power came back on was put all utility account numbers in 1Password. At least that's one particular problem that won't happen again.

The Magic

When the system works as I planned it, it is akin to magic. I get the mail, sort it into a pile which gets shredded immediately (credit card applications and such), gets recycled without shredding (circulars, junk mail) and then the bills and bank statements get fed into the scanner one by one.

The files hit the Action folder on the Macbook Air and get whisked away to the shared folder on the Mac Mini where Hazel intercepts them, renames them and files them.

Every day, these files are backed up via Time Capsule and then, several times a week, get backed up to Crashplan offsite.

The total amount of effort to get these documents into my system is the press of one glowing, blue button on the Scansnap. Amazing.

OmniOutliner Synchronization Woes and a Note-Taking Workflow

My current workflow for note-taking at work involves my MacBook Air, OmniOutliner for Mac, TextExpander, Markdown, Marked, Keyboard Maestro, and Dropbox. Sounds pretty complicated, huh? Welp... I'll fill you in on how that all works in a minute.

My Problems with OmniOutliner Synchronization

Before I get into my note-taking workflow, I want to talk about my recent problems trying to go between OmniOutliner for iPad and OmniOutliner for Mac.

Ideally, I would use my iPad take notes in OmniOutliner during meetings. It is less obtrusive, fairly single-task-focused, has great battery life and is ultra-portable.

I would like to go back to my desk after a meeting, open OmniOutliner and the notes would be there for me to mail to edit or send to the attendees.

I'd like to have one file for all of the meetings during a given week to keep the number of files down to a manageable amount and store all of these files in a central, ubiquitous area that I can access on multiple devices.

Those are the things I'd like, but that's not what I actually have.

  1. I have an OmniOutliner app for the iPad which has trouble quickly bringing up files on the OmniSync server and no good way to organize them locally.

  2. I have an OmniOutliner app that has caused huge problems for me because the notes I had been working on during the hour long meeting I was attending (and responsible to send to attendees after the meeting) disappeared, gone forever.

I have no fast, efficient way to work within a single file for the week, taking meeting notes as I go, and seamlessly switch between OmniOutliner on different devices.

I guess what I am getting at is that I need either iCloud or Dropbox sync in OmniOutliner for iPad to be truly, all-around useful for me. Don't get me wrong. I adore the robust functionality and features of the iPad version, but it's not feasible for me to use it for actual work.

CarbonFin Outliner

Doing some Google searching lead me to CarbonFin Outliner for iOS. It seemed to have a feature-list that would do the job so I downloaded it and took a look.

I tried to come up with a workflow that used OPML, CarbonFin Outliner for iPad and Dropbox but there were quirky synchronization problems. Also, the formatting would never remain consistent between devices and I had file clashes unless I closed one app and opened another before working on a shared file.

CarbonFin Outliner had some weird design issues present as well. For instance, in landscape mode, you can't banish the navigation/file-chooser pane on the left to maximize your screen space for actual work. As a result, the screen displays a list of files, none of which were important to the task at hand, taking up nearly a quarter of the limited iPad screen space.

Another Synchronization Workaround Attempt

I also tried using Hazel to react to file changes in my OmniOutliner files, sending the modified files to my Omnisync server directory using a WebDAV https link.

This whole process was too slow and prone to error due to connectivity issues and the speed at which files could transfer. I ended up with a lot of garbage in the WebDAV directory and I didn't want to risk corrupting my files with an errant process so I discontinued the attempts.

My Note-taking Workflow

Here are the goals of my process:

  • Searchable
  • Synchronized files between iPad, Macbook Air and maybe even iPhone
  • Fast outline structure support (indenting etc)
  • Consistent formatting
  • TextExpander support
  • Quick export of formatted meeting notes to send via email

The actual workflow is as follows...

Each week, usually on Monday, I create a new OmniOutliner file on my MacBook. In the header area, I type "newweek" and, using TextExpander, it takes the current date, adds seven days to it, and outputs the result in bolded markdown.

The snippet looks like this:

**Week of %m%d%Y to %@+7D%m%d%Y**

The result looks like this:

**Week of 03292012 to 04052012**

Then I name the file "weekly meetings 03292012 to 04052012.oo3" and save it in a folder on Dropbox. Using Path Finder, I can find any phrase in these files quickly and easily or search by date within a file name or date within a file itself.

At one point, I had written an Applescript that would convert every .oo3 file into a markdown-formatted text file and store it in my text file database so I could use nvALT to do targeted searching. I abandoned this extra step because Path Finder and oo3 file searching seems to work fine. Most searching gets done on my MacBook Air anyway.

Within the OmniOutliner file, each meeting gets a formatted header indicating the meeting topic and date/time. To do this, I press a hotkey and, using Keyboard Maestro scripting, it does all of the indenting and outdenting necessary to create a well-formatted meeting entry.

In addition to the tabbing and spacing, this keyboard macro emulates a TextExpander snippet I created called, not surprisingly, "newmeeting".

In TextExpander, the snippet looks like this:

**%fill:name% %m%d%Y %H%M%p**

and translated into Keyboard Maestro it looks like this:

**%Variable%MeetingName% %ICUDateTime%MMddyyyy hhmma%**

The end result is, just moments after arriving at a meeting, with just a few keystrokes I am able to start note-taking.

After the meeting, if I need to paste those notes into an email, I can do so quickly using Marked by selecting the meeting title in OmniOutliner and choosing "Preview Selection in Marked" under the Services menu.

This dumps the selected meeting notes into Marked, formatted in a default CSS that works well with Office 13 email.

Bottom Line

I have yet to find a way to integrate the iPad (and OmniOutliner for iPad) into my note-taking workflow. For now, I'll need to keep toting my MacBook Air around to meetings (not a huge dilemma, admittedly).

If I have a dead battery in my Air, I could feasibly take my iPad to handle the duty of taking notes but it is hardly ideal.

Here's how it would work:

Once I get back to my desk, I will need to export the outline from the iPad to the OmniServer login. Often I find that OmniOutliner has forgotten my credentials after a series of cryptic error messages, forcing me to delete all of my prior settings and re-entering them.

Then, on my MacBook, I connect to the Omnigroup server, log in and connect to it as a detached drive. At this point, I open the drive and navigate to the directory where I exported it and open the file. This is, unfortunately, a torturously slow, multipart process that is prone to error.

As you can see, it's a hassle.

I could conceivably ditch OmniOutliner and go with nvALT and text files for all of my note-taking but then I'd miss out on convenient OPML import/export which I often use with mindmapping software or Scrivener.

Given those benefits, not to mention the stellar outlining capabilities of OmniOutliner, it is worth dealing with a less-than-perfect synchronization setup but I'll definitely be keeping my eye out for better solutions and I'll post about it here if I find any.

TextExpander Notes

After holding out for a long time, I finally purchased TextExpander by Smile Software. It's of those apps that you find more and more uses for once you start using it.

So what is it? TextExpander (TE) is a tool that runs in the background, scanning what you type. If you type in a keyword that you've defined for activating a "snippet", it will expand that keyword text into whatever you want.

The reason I bought it is because I kept running into situations at work where I'd end up typing the same people's email addresses over and over again, both in the address bar and the message body. I never gave it much thought until I was in a huge rush the other day and thought, "This is a perfect use for TextExpander" and started looking into it more seriously.

Sure enough, tasks like the one I just mentioned turn into just a few keystrokes, they happen automatically and you never have to think about them again (until the "gotcha" of TE rears it's head which is that, once you get used to Snippets, I can see it getting painful to use a machine that doesn't have TE installed).

Over the last few months I have been keeping all of my meeting notes in OmniOutliner. Each meeting gets it's own custom header with the meeting name and a date stamp which I have standarized on. Using this method, I can quickly filter and search my outline by date to track down any meeting notes for the last few months. The problem is, I've made some typos on the date which makes finding meetings difficult. Again, the lightbulb went on -- a perfect use for TextExpander.

Five minutes after that thought, my snippet was created. Now I just type "newmeeting" and TE pops up a text box asking me for the name of the meeting and then it builds the title with proper formatting and the date/time stamp inserted in the right place. It's these little shortcuts that end up saving you tons of time throughout the day and also eliminate time-wasting errors.

I am sure that I'll keep running into more and more uses for this app. The price ($35) kept me from running out and buying it right after I heard about it but I have the feeling the price will feel minor compared to the use I get out of this tool over the new few months.