in iPhone OS, Mac apps, organization

On WriteRoom, Simplenote, and Plain Text Syncing

Simplenote subscription. ‘Why not try something else out?,’ I thought. It’s not that I don’t like Simplenote. It’s great. But I’ve never tried anything else beyond Apple’s paltry notes and the overpowered Evernote. Surely there are other worthy contendors out there.

What began as a simple search for an alternative snowballed into a larger project. I began by mulling over what is important to me when it comes to the note-taking (and note-retrieval) process. Ubiquity, certainly. I want my notes to be available anywhere, on any device. I want to be confident that the changes I’ve made to a note on my iPhone or on my Mac at work will sync back to my Mac at home. Simplicity, too. For all the praises of Evernote, I just can’t use it without wincing. It’s just so … heavy. I need something light, like Simplenote.

Then there’s format.  As a rule, I try to keep all of my important notes in plain text, stored in individual files. One reason for this is longevity. This is the one format that will always be accessible. Another reason is utility. Plain text may be cut and paste into just about any application. The final reason is portability. I store all of my important plain text documents (all of my documents, really) outside of databases, in individual files accessable through the Finder. File sizes are tiny, and I can move these files around and modify them with ease. So I want a tool that specializes in plain text.

What else? I also quite liked that I could email myself notes with the Simplenote premium service. I’d like to keep that ability. And I want to keep my notes synced with a lightweight desktop client. With Simplenote, I use the free Notational Velocity (actually, I’m using nvALT, a fork of NV with some extra capabilities). I’d like to keep using that. And I’d like to add one new thing that I’ve never tried: I want my notes to sync with my desktop file organizer, EagleFiler.

With all of these criteria in mind, two alternatives stuck out: WriteRoom ($5) and PlainText (free), both by Hog Bay Software. I tried both tools and settled on WriteRoom (even though PlainText meets most of my needs and looks great, it has no search capability. That’s a deal-breaker). 

What follows is my solution for the syncing bit. This solution allows me to store all of my notes in one folder on my Mac. If I change a plain text file within EagleFiler, within nvALT, on my iPhone, or by directly editing one of my files via the Finder, the changes will be synced across-the-board.

You may wonder why I want my notes in both Notational Velocity and in EagleFiler. The answer is that it’s more convenient and flexible. On the Mac, Notational Velocity is a speedy way to get to a note to modify it, or to quickly add or delete a note. EagleFiler (EF) is where all of my important documents reside, so I’m often using it (why switch to another program if I don’t have to?). Added to this, EF is where I typically add metadata to my notes (flags, tags, etc.). And since all of my documents are in EagleFiler, I can perform more complex searches to easily locate, say, all notes and PDFs and other documents that contain certain keywords. Also, it’s easier to move bits of text from my notes to other documents within EagleFiler.  

Here’s how I set up syncing using WriteRoom, although a similar scheme works with slight modifications for Simplenote and PlainText. I’ll get into some of those differences at the end.

Using WriteRoom

  1. The first step is to buy the iOS version of WriteRoom. Log in to WriteRoom using an existing Google ID (you can also chose to host your own sync service) and select ‘Sync Automatically’ from the apps Settings menu. Then head to simpletext.ws and log in, using the same Google ID. You can now sync your notes to this subscription-free online service.
  2. Now you’ll need to get the free SimpleText Mac client from Hog Bay Software and install that. This tiny app runs in the menubar. When you first run it, it creates a new folder in your Home folder called ‘SimpleText.’ Open the SimpleText app Preferences and choose to ‘Start on Login’ and ‘Automatically Sync When Local Files Change.’ Your text notes will now sync to the newly-created ‘SimpleText’ folder. Each note will be stored as an individual file.
  3. Next, you need to create a folder within EagleFiler. I called mine ‘Sync.’ Once created, you need to download and install a free app called ‘MacDropAny.’ This simple tool allows you to sync any folder on your Mac using Dropbox (Note: you need to be a Dropbox user to use MacDropAny).  When you run MacDropAny, you’ll be asked to select a source and destination folder. The destination folder is that which you’ve just created within EagleFiler (you’ll have to find it via the Finder). The Source is your ‘SimpleText’ folder where your notes are held.
  4. Now here’s where you’ll notice a problem. MacDropAny won’t allow you to select an existing folder as your ‘Source.’ How do you get around this? Here’s what I did. I temporarily copied my existing text files residing in the ‘SimpleText’ folder, then deleted that folder (you could also just move the folder to your desktop). Then I ran MacDropAny, choosing to create a folder called ‘SimpleText’ as my Source folder. After I did that, I copied back my notes (text files) to the ‘SimpleText’ folder. I know, it’s a bit clumsy … but it works.
  5. Next, head to Notational Velocity (or nvALT) Preferences and choose the ‘Storage’ tab. Choose to ‘Store and read notes on disk as Plain Text Files.’  Then you need to choose the folder to store the files.  This is where you point to (you guessed it) the ‘SimpleText’ folder where all of your notes reside.
  6. Now test it out. Add some text to a file on your iPhone. The changes should appear within EagleFiler and within Notational Velocity. Change some text in EagleFiler or Notational Velocity. The changes should appear back on your iPhone.

EagleFiler Caveats

There are a few caveats about using EagleFiler. You’re not really supposed to add files directly to file structure within Finder, but that’s what I’m doing here. It works well enough, but it takes a little extra effort to keep it running smoothly.

EagleFiler uses a database to store metadata. An important part of that is monitoring any changes to files held within the app. If you delete a file on your iPhone, directly from the SimpleText folder, or from Notational Velocity, EagleFiler doesn’t know what happend to that file. A similar thing happens if you change a file outside of EagleFiler, as the app monitors each files checksum to keep track of changes—I’m guessing many people don’t even use this checksum feature, but it’s there to ensure the integrity of your files.

So. Changing text in a note or adding new notes outside of EagleFiler isn’t a big deal. You won’t see any error messages unless you use checksum. If you do use checksum, you need to periodically update the checksums for the files you’ve changed (you’re basically telling EagleFiler that the file is OK and that you’ve changed it from outside of the program). 

For files deleted outside of EF, you’ll notice that EagleFiler retains the deleted file, but the contents of the file within EagleFiler now have no content. That’s because the file isn’t there anymore. To fix this, periodically run ‘Scan for New Files’ from the EagleFiler ‘File’ menu (Shift-Apple-R). EF will then show you all the files that cannot be found (as they’ve been deleted) so you can go in and clean them up from the list within the app. Once you delete them from the EF file structure, empty the trash. 

A few final notes about EagleFiler. The app creates new Rich Text Format documents by default. If you want to move an existing file that is in RTF to your EagleFiler sync folder, you’ll first need to convert it to plain text. There’s a handy script to do that. If you want to create a new note in your EF synced folder, hold down the ‘Option’ key while choosing the ‘New RTF’ button from the menu bar, and a new plain text file will instead be created (there is no ‘New Plain Text’ button option). I should also mention that the metadata you add to a note in EagleFiler stays (is only visible) in EagleFiler. Those tags, flags, etc., do not transfer to your externally-stored notes. However, this metadata does persist in EagleFiler, even if you modify a note outside of the program. 

While syncing plain text files to EagleFiler may sound difficult to maintain, it’s really not bad. I think it’s worth it. (I’m now waiting for the developer or other EF users to tell me that this is a terrible idea!)

Syncing with Simplenote, PlainText

You can use a similar process to sync files using the Simplenote and PlainText iOS apps. I tried them both out and the syncing worked just as well. Actually, these other apps were a bit easier to set up.

For PlainText, the main difference is that this app stores your notes using Dropbox (in a folder called ‘PlainText).’ Since the syncing is via Dropbox, you won’t need the SimpleText Mac client. Note, though, that you also won’t get the simpletext.ws online syncing.

For Simplenote, Notational Velocity includes built-in syncing support so it’s a bit, um, simpler. And while Simplenote does not store notes in individual text files, you can accomplish the same thing via Notational Velocity. You just need to head to Preferences within NV and choose to store your notes as files on your local disk as plain text files. You can choose any folder you like. However, if you want to go the extra step of syncing with EagleFiler, you’ll need to be a Dropbox user so you can take advantage of MacDropAny.  

Emailing plain text messages

The last point to talk about is how to add the ability to send messages from your email client to your notes folder.

With a Simplenote subscription, it’s a straightforward task since this service provides you with an email address. There’s nothing more to do.

With WriteRoom and PlainText, you need to bring in a couple of other tools. First, set up a free (donationware) service called, appropriately, Send to Dropbox. This service establishes a folder within your Dropbox called ‘Attachments’ and provides you with an email address to send your messages to. Note that this third-party service only stores your unique Dropbox ID, not your login/password (the same ID used when you share a file using your ‘Public’ dropbox). While the service is mainly for sending email attachments to your Dropbox via email, it works just as well for plain text. (As an aside, there are many other interesting Dropbox Addons worth checking out).

The trick, now, is how to get those plain text email messages from the Dropbox ‘Attachments’ folder to your synced notes folder. I used Hazel to accomplish this, establishing a rule to move any text file in the ‘Attachments’ folder to my ‘SimpleText’ folder.

That’s it

The text for this post was harder to pull together than the syncing scheme. I spent a lot of time discussing EagleFiler. Even if you don’t use this particular app, hopefully you’ll get some new ideas about syncing folders. And if you’ve never used Notational Velocity, it’s worth trying out. It’s free, after all. NV is very easy to configure and is a great way to access your notes on your Mac.

How does WriteRoom stack up against Simplenote? It’s still a bit early for me to say. One thing I know I don’t like: the app is requiring me to log in every time I open it. I hope this is fixed in a future release. It wouldn’t be that big of a deal if I had a newer iPhone with iOS 4. With my old phone, however, I can’t run apps in the background.

As for looks, you can set up WriteRoom for iPhone to look quite similar to Simplenote. I prefer the default WriteRoom black background with white text.  One nice touch that WriteRoom offers, akin to its big brother on the Mac, is the ability to edit notes in full-screen mode. 

The WriteRoom web version of your notes looks like an old-old-school Mac text editor. Some may find that fun and retro, but it may be offputting if you’re expecting a slick interface like that served up by Simplenote. Me? I rarely used the Simplenote online service, and I doubt I’ll be logging into writeroom.ws very often.

If you like tags in Simplenote, you’ll be missing that in WriteRoom. There are ways you can tag, though. I use the same work-around that I used in ‘pre-tag’ Simplenote—by creating tags with text at the end of my documents (using the syntax &tag: e.g. &home, &web). It works well enough for searching through many notes.  

Since I gave Simplenote a year, I plan to stick with WriteRoom for the next year.