Even if it is not inspirational to me, it is just a well told and funny story.
Organization
13
Jul 11
More iPad Note Apps: We Might Have a Winner
There’s been a couple of new note apps 1 since my real-world review. Most of them still can not compete with Simplenote and Omnioutlner. However, I have found three very good alternatives. Notely, WriteRoom and Notability.
All three of these apps started out simple enough but they have evolved and matured into top of class text editors.
Notely; $1.99
Notely started out as a relatively barebones text editors. It had some rudimentary Dropbox syncing that required a manual sync. The last couple of updates included automatic document syncing and document sorting options that include sort by modification date (my personal favorite).
The features that really elevate Notely to the top of class for me are – Markdown preview – Markdown specific keyboard row – Send to OmniFocus
The additional keyboard row also includes keys for moving the cursor around by character or by word. There is also an easily accessible document info panel with word and character counts as well as file size and modification date. Finally, Notely has a send to OmniFocus function to drop a text note right into OmniFocus as a task. The document title becomes the task and the body of the document becomes the task note.
Notely also includes all of the features I expect in a text editor. – full screen writing mode – TextExpander integration – Font customization – Universal iOS app
WriteRoom 3; $4.99
I purchased WriteRoom from the day it became available. I’ve always been a fan of HogBay’s design style. Jesse is creative and careful and has a light touch with feature selection. Unfortunately it also meant that WriteRoom 1 & 2 didn’t really fit my workflow. I want all of my notes in one Dropbox folder. I have that folder constantly in sync with Simplenote so I can have additional options for editing and syncing. WriteRoom original had no Dropbox support and when it did gain support, it was locked to a single WriteRoom folder. WriteRoom 3 has really found the sweet spot for me. Not only does it automatically sync with any Dropbox folder, the app is one of the best designed text editors I have used. Here is a sampling of what makes WriteRoom a clear winner.
- Elegant design
- Automatic and Manual Dropbox syncing to any folder
- Customizable keyboard row
- Fullscreen mode
- Custom cursor-move tap zones
- Full font customization
Of course there are many more little touches like an option to disable autocorrect. WriteRoom 3 for iOS is a mature text editor that will be replacing Simplenote as my editor of choice.
Notability; $2.99
Notability is a very different kind of app from the other two. If WriteRoom is a simple Moleskine for iOS, Notability is a TrapperKeeper. It is a full blown note-taking suite.
The app is pretty. The note-taking environment can be customized to suite individual tastes. Fonts and note colors are mutable and have several options to choose from. Notes can be organized into dividers. Dividers can be customized with titles, colors and icons and are displayed in a simple list view. Dividers can be further organized into folders. In this way, many different notes can be grouped in logical order and easily navigated.
The organizational options are just the icing on the cake. Notability really shines in the options for entering and later extracting information.
Adding Information
- Add text anywhere on the left margin by tapping
- Import an image and add a caption
- Add a hand drawn sketch from a custom free hand sketch tool
- Wrap text around images
- Record audio
- Use the built in web browser to search for content and embed in a note
Exporting Information
- PDF + audio files
- RTF
- RTF with embedded images and audio
- Notability native file for sharing
All exports can be saved to Dropbox, iDisk or WebDAV as well as emailed directly from the app or printed through AirPrint. My complaint with many of the alternatives was that they only provided a PDF export and I wanted access to my raw text. Notability scratches that itch.
Audio
The audio recorder is especially nice for a conference. Each recording is added in sequence to a timeline. You can also play the timestamped recording by selecting it in a list. Whether you want to record an entire presentation or quick audio notes to yourself, this is the way a voice recorder should work.
Images
Images can be added from almost anywhere. There are built in shapes, freeform drawing, access to the camera and camera roll and an excellent webclip tool. Visit any URL and it will grab the page as an image and insert it into your note. There is also full copy and paste support for images in a note. The only missing tool is the ability to rotate an image after it’s been added.
The only downside to this app is the lack of direct Dropbox or WebDAV syncing. If I am going to enter a large amount of information into a notebook, I want it to easily2 out live the lifetime of the device lifecycle.
I’d also like to see TextExpander support to more easily add Markdown notes.
Notability seems to be hitting a very nice balance between features and bloat. There’s just enough there to make it competent for taking notes in a meeting (which I have proven to myself) but not so much that you have to visit a help section every 10 minutes.
Conclusion
Here’s my conclusion: WriteRoom has replaced Simplenote on my iPad springboard dock and Notability is on the first screen of my iPad.
29
Jun 11
Clean-Up Macro
Most applications on the Mac allow you to hide all other applications. That’s a nice way to pretend that your workspace is clean, but it’s an illusion. I was thinking the other day that what I really want is something like a “Quit All Others” global hot key.
But, wait…
What I really want is a “Quit All Except for the Applications I Use All Of The Time” hot key.
And then there was the magic of Keyboard Maestro (KM) and AppleScript. KM is really just a conduit for triggering the AppleScript. I initially tried to build it in KM only but there is no conditional flow or testing actions available. Since it’s all AppleScript, it could easily be done with FastScripts too.
In KM simply setup a macro that is triggered by a custom key combination (shift-CMD-Q for me). The only action in the macro is to execute an AppleScript.

The AppleScript (see end of this post) simply runs through and quits all applications that are not in the white list of the script. It also leaves the frontmost application running since I assume that’s the application that is in use. I use this macro in conjunction with a couple other tricks for a nice clean and easy to navigate environment.
on GetCurrentApp()
tell application "System Events"
set _app to item 1 of (every process whose frontmost is true)
return name of _app
end tell
end GetCurrentApp
try
tell application "Finder"
set process_list to the name of every process whose visible is true
end tell
set _currentApp to GetCurrentApp()
set white_list to {"Finder", "OmniFocus", "BusyCal", "nvAlt", "LaunchBar", "Keyboard Maestro", "iTunes", "Mail", _currentApp}
repeat with i from 1 to (number of items in process_list)
set this_process to item i of the process_list
if this_process is not in white_list then
tell application this_process
quit
end tell
end if
end repeat
on error
tell the current application to display dialog "An error has occurred!" & return & "This script will now quit" buttons {"Quit"} default button 1 with icon 0
end try
References
1. http://codesnippets.joyent.com/posts/show/1124
2. http://stackoverflow.com/questions/495323/quit-all-applications-using-applescript
3. http://vanderbrew.com/blog/2010/02/15/get-current-application-with-applescript/
22
May 11
Can You Get It Out?
I’ve been enjoying Dr. Drang’s tales of file format lock-in and his crusade against closed formats for his data. His stories always feel eerily familiar.
I bounce back and forth between Macs and Windows machines in my daily life. My OS polytheism goes way back. I started with an old custom built 386 PC in high school. In undergraduate, I took advantage of the steep Apple student discount and acquired a Mac IIci. During graduate school, Windows was the cheaper and logical option so I moved to a Dell (and regretted every minute with that brick). Finally, I moved back to a Mac after grad school. Much of my day job is spent on Windows still. Inevitably I have files created in Office for Windows and older files created on Word for Mac. Of course these files are not smoothly transportable. Specifically, documents with considerable formatting and embedded images generally fail horribly when moving from one version of an OS to another.
I don’t have a good solution for fixing my old files, but I do have a motto that reduces the chances it will happen with new files.
If it’s not portable, it’s not permanent.
I love new apps as much as the next guy. I was using Evernote before Phil Libin propelled the product into the top tier of Mac and mobile apps. It’s a truly wonderful application and service. I paid for the premium service for a couple years and used the heck out of the iPhone app.
One day I decided to do a little experiment and tried to export all of my Evernote files and import them into Devonthink Office Pro. Both applications do OCR. Both render HTML very well. Both also support a variety of file formats. I thought it would be an easy project. I ended up with a mess of poorly rendered files that were all missing their underlying OCR data. To be fair, Evernote is probably doing the best it can with exporting to a universal file type. I’m also confident that the source files were not always the best either.
I was quite disappointed, but it motivated me to make some changes. For long term note-taking, I gave up the convenience of Evernote in favor of alternatives that provide more portability.
Text
I maintain all of my text notes as Simplenote/Dropbox text files. I use the Simplenote iPhone and iPad apps. I also use Notational Velocity (actually, I use NVAlt) on the Mac and Resophnotes on Windows.
These text files are portable and can be edited on any OS. I typically write in Markdown so I do get some basic formatting for making lists and I can export to a variety of formats easily. The real downside is that I can not include text formatting without using Markdown tags. The upside is that it is highly likely the text will be accessible for my lifetime.
Images
Evernote was great for taking photo notes. Snap an image of a whiteboard and you get a photo plus searchable text. That’s pretty powerful and I still use that feature occasionally. While OCR of a handwritten whiteboard is pretty impressive, it’s rare that I actually need that. What I need is the content from the meeting easily accessible and portable to other apps. For example, I may want to zoom in on the image and add some additional notes or markup. I also usually transpose the content into Simplenote so that I can start defining tasks or projects. I’ve settled on a couple alternative iPhone apps that do a spectacular job of capturing the image and sharing it with other apps (and Dropbox).
Genius Scan (website) is my preferred app for snapping photos of white boards, scanning documents or remembering a parking spot. The $2.99 upgrade from the free version gets me Dropbox upload too, so the photos are available to all of my devices. A very good runner up is the iPhone app Scanner Pro
If I need to convert a document to text then OCRkit beats Evernote hands-down. Not because the OCR is better (I don’t think it is) but because it actually outputs text that I can copy and edit. Evernote really just does the OCR to support searching and when you export from Evernote, you lose the OCR.
Benefits
There are two significant benefits to my note-taking system:
- Text notes and PNG files are portable and can be used across multiple OS’ and applications
- By not relying on Evernote to do my note-taking for me, I am more thoughtful about what goes into my notes.
My Evernote archive was overflowing with dendrites shoveled in through the years of web browsing, brain storming and living life. When there is zero friction to adding content to a notebook, the notebook will become a junk pile. Curation is the path to high quality notes.
23
Feb 11
Sending Tasks to Omnifocus from Dropbox and Simplenote
I never miss an opportunity to learn more about Applescript and extending my applications in ways the developers never considered. I also work in text files for all of my notes.
Background
At home I’m on my Mac with Notational Velocity and Omnifocus close at hand. However, at work, I use a windows machine with Resophnotes. Resophnotes is a wonderful Simplenote client that is as close as you can get to Notational Velocity on Windows.
On the ipad, I primarily use Simplenote but I also love some of the new text editor apps that are available.
Lucky me! I have a lot of options for taking notes when away from my Mac. However, I have limited options for creating tasks when I’m on Windows. The only real option I have had is to email myself a task and wait for my Mac to process it. That’s fine, but I wanted something even more simple. That’s where Applescript comes in.
Power of Applescript
Omnifocus provides some great integration with Applescript. In fact, the most powerful method available is the “parse tasks with transport text” command. This little gem allows you to add tasks to Omnifocus with natural language date processing and tag recognition for projects, contexts and start/finish dates. That’s powerful!
I decided to create a Hazel script that watches my Dropbox notes folder for notes that begin with a “–” prefix which is similar to the notation used by the Omnifocus email processor. Once the note is identified, the title is used to create a task in Omnifocus. If the note is plaintext or markdown then the body of the note is added to the task as an Omnifocus note.
Dropbox Access
If the task note is not plain text, then the file is moved to my Dropbox public folder (it’s actually a sub folder of my public folder to distinguish from other public files). A link that points to the file is added to the Omnifocus task as a note. The great thing here is that now I can access the original file from Omnifocus on my iPad. Click the link and iOS Safari launches and opens the file.
Adding a task from Notational Velocity


Adding a task file through Dropbox


There’s an additional benefit by having Simplenote sync with Dropbox. I can add tasks to Omnifocus from Resophnotes on Windows. No email required. I have not yet switched to the native Dropbox Simplenote syncing, which means I need to have a mac running with Notational Velocity open and syncing to a Dropbox folder.
At the end of the entire process the file is removed from my Dropbox notes folder so that my Notes are not cluttered with tasks. For good measure, there is also Growl notification when tasks are added.

How it works
So the basic workflow goes something like this:
- Add a note with the title “–Check out the post on leancrew @Mac #saturday”
- The task is automatically added to Omnifocus back on my Mac with the context of “Mac” and a due date of saturday
Here’s another workflow
- Rename a pdf to “–Read the new iOS developer guidelines @work >iOS development #friday #next monday”
- Add the file to my Dropbox notes folder
- A new task is added to Omnifocus in the iOS development project, with a context of “Mac. It has a start date of friday and a due date of next monday.
- The task also gets a note that is a url link to the pdf in my public dropbox notes folder.
If you are interested in using this workflow, just download this Applescript and hook it up to a Hazel script that monitors your Dropbox notes folder.
References
I’ve read a lot of other posts to create this script and workflow. Nothing is original. Here are a lot of the references I used.
http://www.leancrew.com/all-this/2008/07/jott-and-omnifocus/
http://web.appstorm.net/roundups/data-management-roundups/the-ultimate-dropbox-toolkit-guide/
http://alan.petitepomme.net/blog/2008/08/eaglefiler-to-omnifocus-apples.html
http://lists.apple.com/archives/applescript-users/2005/May/msg00302.html
http://www.cerquant.com/omnifocus_scripts
http://rainer.4950.net/wordpress/blog/2010/12/07/creating-omnifocus-tasks-in-entourage-take-4/
http://judismith.wordpress.com/2009/10/04/productivity-with-omnifocus-and-devonthink-pro-2/
http://simplicityisbliss.com/2010/12/16/top-5-omnifocus-applescripts/
http://forums.omnigroup.com/showthread.php?t=18447&highlight=parse+tasks+transport+text&page=2
http://forums.omnigroup.com/showthread.php?t=4208
http://forums.omnigroup.com/showthread.php?t=7769&highlight=script+file+link&page=3
http://web.mac.com/robinfrancistrew/Site/OmniFocus_%26_DEVONthink.html
http://rainer.4950.net/wordpress/blog/2009/09/10/creating-omnifocus-tasks-from-entourage-take-3/
http://discussions.apple.com/thread.jspa?messageID=9801376
http://brettterpstra.com/launchbar-actions-for-url-encoding-and-decoding/
Related Posts on Macdrifter.com
Hazel Workflow for Ripping DVD’s
21
Feb 11
Tagging in Pinboard
I am generally skeptical of file tagging systems. Tags are volatile and can be inconsistent. I much prefer the file naming systems described by Benjamin Brooks. However, some systems do not lend themselves to file naming as a method of organization.
I keep all of my bookmarks in Pinboard which has very good tagging support. One issue I have always had with tagging is that as projects begin new tags get created to track resources. Over time tags accumulate and as projects finish it can be dificult to find and remove old tags. I have settled on a system of tagging in Pinboard that I find quite useful and easy to maintain over time.
- I prepend all tags with the “@” symbol. It’s a habit I acquired from tagging in Simplenote before there were native tags. I still use my own tags inside notes rather than depend on Simplenote tagging.
- I keep a list of about 25 high level tags for bookmarks such as “@webdev” or “@politics“. Combinations of tags allow specificity in organizing bookmarks, such as “@iOS” and “@business” for links pertinent to being an independent developer.
- Tags that are used to group links for a specific project are also prepended with an underscore character. For example “_@bookmarklet” allows me to collect links for an entire project but also distinguishes that they are part of a project collection. Later I can easily identify outdated tags for completed projects.
The import idea is not the specific nomenclature, but rather to distinguish tags that are transient. Tags have their place, but I avoid complexity wherever possible. File names live as long as the files. Tags may dissapear with a revision of the OS.
12
Feb 11
Information Management in the Information Age – Part 1
Context
This post is the first in a series focusing on managing and finding content and information. It provides a context for the remaining posts and a justification for a few systems that I will describe.
Bit Hoarding
Hoarding is built into our genes. We have an innate compulsion to acquire more of everything. 10,000 years ago this was a useful trait. Our ancestors would gather as much food and fresh water as they could carry. The more they could carry, the longer they could survive without leaving their adobe dwelling and exposing themselves to predators.
We’ve evolved. We’ve moved out of our adobe huts and into cubicles. The problem is, we are still hoarding. We hoard food and clothing. We hoard Tupperware and plastic bags. We also hoard information. I don’t think I am unique in this regard. I have the impression that the majority of computer users hoard bits in every crevice of their hard drive. Take a peek inside your documents folder. How many layers of folders constitute the backbone of your information “archive?”
This isn’t a condemnation. In fact, I suggest we celebrate that the information age has granted us this one small victory. We can fulfill our natural hoarding compulsion without taking up physical space. But to what end do we hoard data? My personal reasons fall into 4 categories.
Categories of Data
- Crucial information that I will need in the future. This includes financial documents like scans of W-2 forms, bank statements and investment summaries. Additionally, I include family photos and home videos as well as my movie and music collection in this category. I’ll explain why in a future post.
- Information that I may need again. This category includes receipts, warranties, utility bills, and the rest of my photo and video collection not in category #1.
- Information that I would never save in the physical world, but for various reasons I feel compelled to keep. This is a somewhat nonsensical category but never the less comprises a large amount of data. Examples of this category would be snippets of code that I find interesting or educational, color combinations that I find particularly pleasing or writing that is of high quality.
- Scratch information. This data is mostly temporary but serves some practical purpose. This category includes web addresses, code snippets, partial blog posts and meeting notes.
It’s taken considerable self reflection and value assessments to codify these categories. It is far too easy to simply keep things without thinking. Understanding these categories has huge value. For example, it makes backup planning and execution much more logical and efficient. I can now bucket my backup strategies.
Do not take this as a detailed backup strategy but rather the high level plan for a backup system.
What is important to understand though, is the value that can be derived from understanding your system, your motivations and your weaknesses.
12
Feb 11
Effortless File Organization
I’ve written about Hazel before. It is the more successful big brother of Apple’s Folder Actions. Here’s an example from Practically Efficient of integrating with Hazel for automatic file organization. What I particularly like about this example is the use of TextExpander to quickly rename files with the date and triggers needed for Hazel. This trick is being added to my list of every expanding time saving shortcuts.
7
Feb 11
Simplenote everywhere (including Dropbox)
I bought into the Simplenote world from the moment I read John Gruber rave about it. Since then I have relied heavily on the Simplenote platform for both personal and professional note taking and list making. The beauty of Simplenote lies in its unique restriction to plain text. I have been tempted by the luxuriousness that is Evernote. However, after a brief project to extract all of my notes from Evernote into a file structure that would outlive the hosted service, I realized that there was safety in simplicity. The extracted Evernote items lose most of there text indexing and formatting. So by relying screen captures as notes in Evernote, I was losing the exactness that typing an explicit note provides.
By keeping my notes as simple text files I could have access to them indefinitely. That is exactly what Simplenote provides. There are also several ways to incorporate Simplnote text files into Dropbox to make my plaintext notes available to a variety of iPad text editors as well.
Dropbox
While Simplenote has recently provided a mechanism to sync with Dropbox, it is still early days and there are some serious shortcomings. The native Simplenote sync is excruciatingly slow. My first sync was a 90 minute process for <200 notes. Subsequent syncs are note instantaneous and often take 30 minutes before the note shows up in Dropbox. Second, deletions do not sync between the two services. Finally, renaming or editing a note creates duplicate notes in Dropbox.
After considerable experimentation and emails to Simplenote support, I have given up (for now) on the native sync. I am returning to my home grown Simplenote-Dropbox sync. If you would like to build your own sync service, you will need a Mac running Notational Velocity or one of the many excellent forks. The Mac will also need to be active and connected to the internet 24/7.
Caution
There are also two serious cautions for this sync service.
1) Do not setup this sync mechanism on more than one machine. If you do, you may end up with infinitely duplicated notes as each computer fights over which one modified the note last.
2) Turn off the Simplenote native Dropbox syncing.
Procedure
The setup is rather simple. Create a folder in your Dropbox directory for your notes. I named mine “Notational Data.” Next, configure Notational Velocity to use this new Dropbox folder.

Now configure Notational Velocity to also sync with Simplenote

Finally, the notes need to be stored as Plain Text Files for there to be any value in this setup. You should also confirm that note encryption is disabled so that other text editors can read and write to the Dropbox folder.

Now Notational Velocity will do all of the work of syncing with Dropbox. Here are a few advantages and uses of this system.
The syncing between Simplnote and Dropbox is nearly instantaneous. It the minimum time can be set in the Notational Velocity preference for Simplenote syncing. I personally think 5 minutes is enough.
- Deleting a note from Simplenote also deletes the note from Dropbox.
- Renaming a note in Simplenote also renames the note in Dropbox.
- Deletions and changes in Dropbox are synced with Simplenote
There are still some technical gaps. Simplenote tags are not synced with Dropbox or Notational Velocity. This is a known technical limitation. Simperium is investigating a solution. I also noticed a few notes were duplicated initially. After cleaning a few of these errors I have not had a problem since.
I am very happy with this solution. I am still looking forward to an integrated solution from Simperium that would not require Notational Velocity to be running. However, for now this gives me ubiquitous access to my note taking system. I can access notes through a variety of iPad apps, Simplenote, Notational Velocity on the Mac, as well as directly from the find.
