Memo Nirvana

Since my life started including portable gadgets I’ve been striving for the note-taking Holy Grail: write a note on any device I happen to be using and have that note automatically sync to all of the other devices. There are plenty of solutions for this, but they all have restrictions on what devices, operating systems, or file formats that they’ll work with.

I have finally struck a balance of tools that meet all of my requirements and it is as if a great weight were lifted from my idea-cluttered brain.

First, my requirements:

  • Create, read and edit notes on:
    • Linux
    • Mac
    • Windows
    • Android mobile devices
  • Synchronize said notes to all platforms
  • Notes stored in a secure manner
  • Notes backed up/archived and have revisions tracked
  • Ability to export all of my notes so that I am never “locked in” to a single vendor or tool
  • Ability to search through my notes
  • Extra Credit: be free
  • Extra Extra Credit: be open source
  • Double Extra Bonus Credit: all notes use my own encryption keys

In pursuit of this tool I’ve tried Evernote, Tomboy, Google Docs, and older tools when I lived on a Palm Treo. As I said, each approach has it’s merits, but also has limitations that fall short of my requirements.

What I have ended up using is a combination of tools that surround the SimpleNote service. SimpleNote isn’t Open Source, but it is free. It is a very straight forward service with a good API. On the website you can securely create, view and edit notes through an SSL encrypted connection. You can tag your notes and share them with friends or family. You can search through your notes on the site or locally (more on that later) and all revisions are stored, so you can go back in the lifetime of any of your notes to see what changes were made and revert the changes if you want to.

One negative is that, as near as I can tell, your notes are not encrypted on their servers — so there is risk of your data getting accidentally leaked or stolen. I never keep anything terribly sensitive in my notes: no passwords, financial, or private data – just shopping lists, story ideas, and random notes of stuff to look into – so there would be low impact if my information got out. I wouldn’t be happy about it, since there are song titles, lyrics, and notes on stories in progress or planned to be written some day, but I’m willing to accept the risk.

SimpleNote itself is just a web site, but the API has made it possible for tools on different platforms to sync up to the mother ship. The website has a growing list of projects that use their API sorted by platform. They do offer a native application for iDevices and an official Android version is in the works.

My favorites are:

  • Android: AndroNoter
    • Excellent syncing
    • Search Notes
    • Free, though not Open Source
    • Does NOT support note tags
  • Linux: SimplenoteSync script
    • A perl script, so will essentially run on any platform with the proper perl libraries loaded
    • Syncs your notes into individual ascii text files
    • Free and Open Source
    • Sync only — does not support tags, search or any other features
    • All of the power of Linux can come to bear on your notes: grep, svn, VI, EMACS, gEdit.. they’re plain ascii files so the limits of what you can do with the files are endless
      • This allows me to automatically check all note changes into subversion and keep a local history of revisions on my own server. If Simplenote decides to shut down or go in a direction I don’t agree with, I’ll have all of my data (minus tags) so there is no vendor lock-in!
  • Mac: Notational Velocity
    • Sync to a local database
    • Optional encryption of local notes
    • Intuitive search/create/edit interface
    • Completely keyboard driven, no need to click on buttons
    • Spotlight integration
    • Free and Open Source
  • Windows: ResophNotes
    • Full tagging support
    • Import/export notes
    • Multi-pane format with notes list on left and content on right
    • Internal links between notes with [ and ] (wikilink style)
    • Self contained (portable) app option so you don’t have to install it. You can run it from a flash drive
    • Notes are stored inside of an xml file, but the content is encrypted
    • Option to save all notes as individual ascii text files
    • Free, but not Open Source

It’s certainly not a perfect solution. Notes are not encrypted end to end with my own keys and the tools on each platform are a bit different. But it covers enough of my needs to make me happy.

Actually, if Tomboy had a decent client on Android I would move 100% to it. I really like the consistent interface which is available for Linux/Mac/Windows. So far there is one Android project that enables you to sync and read your notes on Android, however you cannot create or edit them yet. Sadly the movement is very slow going as there are only a couple developers donating time to the project – but it’s getting there!

What are your favorite note taking / syncing tools?

Random Acts of Chooch