In search of a scratchpad, part one

One of the key problems I face every day is that I have two computers, one brain, and a tendency to forget things. Perhaps while at work I’ll see a link on Twitter that I’d like to read on my lunch break but which skips my mind once lunch rolls around. Or maybe I forget to fill out my timesheet details and the next day have trouble remembering what exactly I did all day. Sometimes I’ll be off work and see a program that I definitely want to remember to install on my work computer only to start work the next day oblivious. How do I track such minor details without wasting time or brain space? The answer, I’ve decided, is that I need a scratchpad: somewhere that I can quickly toss ideas, URLs, and thoughts that will be synchronized between my computers and contains some simple organizational scheme to allow me to easily identify what needs attention.

TogetherFor the past few weeks I have been investigating software that might serve me as a scratchpad. Although I have not yet developed the perfect solution, I would like to share my first, somewhat flawed solution using Together from Reinvented Software. Together gets almost everything exactly right, but falls short for me thanks to the buggy and error-prone synchronization of MobileMe. Despite the shortcomings of its synchronization, however, setting up a scratchpad in Together is extremely easy and for people who don’t rely on synchronization (or perhaps just have better luck with MobileMe sync services than I) Together is an excellent choice for a scratchpad.

Update Sept. 2009: at long last I’ve published part two of this series describing my VoodooPad-based solution. Check it out!

Parts of the goal

When I set out to build myself a scratchpad I had two things I wanted:

  1. Easy storage, synchronization, and retrieval of info
  2. A daily log

The first is well covered by Together’s built-in tools for capturing files and so forth, complemented by some simple tag-based organizing and a couple of smart folders.

The second required a bit more custom work. The idea of keeping a daily log is one that I first discovered when Chris Bowler described his custom log file. Although his solution wasn’t really what I was looking for, the idea of keeping an easily updated, timestamped log of what I’ve done throughout the day grabbed my imagination. When I’m focused on a task, I rarely remember to switch to my time tracking software and enter details about what I’ve just completed, but adding a line of text to a daily log would be another matter since I could use my favorite tool LaunchBar to easily make a note without switching applications or getting out of the flow.

Setting up the scratchpad

To set up your scratchpad, you’ll first need to create a Together library for it (you could use your current library, of course, but you’ll have that much more data to sync). To add and manage libraries, choose Together → Library Manager. I named mine “Scratchpad”, but the name doesn’t really matter. If you’re going to be synching your library with MobileMe you may as well turn that on now.

You’ll have more luck with synching if you sync hourly (or less frequently). You can change how often MobileMe syncs in the System Preferences.

Aside from daily logs, whether your scratchpad is useful will rely on how you organize using groups and tags. Because I’m using two computers, one for work and one for personal use, what works for me is to start with two root level folders (I work for a company called Tierra Interactive; you could call the folder “Work” or the name of your employer just as easily):

My scratchpad's root folders

As you can see in the screenshot, I’ve opened up the Group Info window (accessible by right-clicking a group and choosing Show Group Info or by choosing File → Show Group Info). One of the big reasons to have two root-level groups (aside from making it easy to focus in on those two areas) is that you can use them to automatically assign tags to any item that is added to that group using the Group Info window. This makes adding items to your library and being able to utilize intelligent smart groups much easier because you can either:

  1. Add an item to the Personal folder when you import it to have it automatically show up in any smart groups targeting the “personal” tag.
  2. Add it anywhere else, but manually assign the personal tag to make sure it shows up in smart groups targeting “personal”

This may seem redundant (in the first scenario, you’re effectively categorizing something “personal” twice), but consider the following: what if you find a link to a piece of software that you want to install on both your computers? If you found it at work, you may not have time to do it right then, so you’ll want to make sure it ends up in your work folder. However, you also want it in your personal action items. If you were relying solely on folder-based organization, you’d have to either duplicate the item or create an alias, both of which require more effort and thus make it less likely you’ll use the system at all.

Depending on how you use your scratchpad, having two folders (with tags available in case you decide to use smart groups in the future) may be enough. You could, if you desired, use the two folders to track items for work vs. personal, and once you’d dealt with an item either move it out of the folder and back into the library to archive it, or just delete it entirely. However, I wouldn’t be me if I didn’t suggest one further refinement: a simple system of tagging to make retrieving and acting on items even easier.

Taking action

When I was setting up my scratchpad, I realized that there are two basic types of items that I’m going to be storing:

  1. Things I want to take action on
  2. Things I want to remember

With this in mind, I decided to use a tagging system that allowed me to filter for action items and, if I needed, search for specific types of items using descriptive tags.

Although a simple “action” tag would work fine, I ended up using tags that look like this: “action: install”, “action: blog”, “action: evaluate”, etc. For some people, this may be needless complexity. For me, though, it provides a simple way to remind myself what I wanted to do with the item without needing to add a note or some other piece of metadata that would require something more than the Together shelf. Why did I bookmark that page? Oh, I wanted to blog about it.

Remember: the fewer tags you assign to an item, the more likely you’ll be able to maintain your tagging system. I generally only assign two or three tags to any given item: a descriptive tag or two and an optional action tag. (And Together automatically adds “personal” or “work”.)

For other items, I simply attach a descriptive tag to it: “password”, “big web client”, “idea”, etc. I’m not currently using any of these tags to filter my items, but simple descriptive tags will likely be useful down the road if I need to filter the increasing number of items in my scratchpad to, say, find all URLs pertaining to a specific client.

In order to be able to easily focus on my action items, I have two virtually identical smart views (only difference is filtering based on work vs. personal tags):

My scrathpad's primary folders and action item smart group

The first rule uses a feature of Together that I didn’t know about before I set out to create a scratchpad. In Together rules, you can use an asterisk as a wild-card, which came in real handy for my “action” tags. The other rules should be self-explanatory, although the label is new. The meaning a label assigns can usually be duplicated with a tag, but I often find labels useful for marking priority or status because they colorize items. I opted to archive items with a gray “Archived” label in order to visually separate out the items that I’ve acted on from the ones that await action when viewing either my folders or the root library group. An additional benefit of using a label to archive items is that I don’t have to lose information; if I deleted the “action” tag, then I would have to rely on memory to recall why I wanted that particular item in the scratchpad at all.

Once you’ve got your folders and smart groups set up, you’re ready to start using your scratchpad. However, if you want a daily log there’s a couple more steps.

Setting up a daily log

Personally, I prefer the idea of keeping a folder full of daily logs rather than just tossing everything into an ongoing text file (easier to append text files than parse them, if I need to switch down the road), so I wrote an Applescript that will look for a file named based on the current date, create it if it doesn’t exist, and then add a timestamped log entry. The Applescript actually doesn’t require Together, so if you feel like running a daily log without Together feel free to give it a look-see, as well.

Download Together Daily Log Applescripts

Whether you’re using Together or not, you’ll need to create the folder for the logs to live in before running the script. In the earlier screenshot of my folder structure you can see I have them living in “Tierra/Logs” in my Tierra library.

Once you’ve got the folders set up, open the Applescript in Script Editor (or the Quicksilver version, if you’re a Quicksilver user) and change the property declarations at the top of the file to point the script toward the right folder (see screenshot below). Once you’ve done that, save the script and you’re in business.

Assuming that you’re running Together, it should automatically import the log files when they are created (just make sure you have “Auto import files added to library folders” checked in the Import preferences). If automatic importing isn’t working, try relaunching Together and creating an empty text file using the Finder to kick-start Together (this worked for me, but if you’re having trouble please refer to the Together support).

Here’s my daily log workflow: I’m using LaunchBar and have it set to scan the scripts folder in my Library, so I put Daily Log.scpt here: ~/Library/Scripts/Applications/Together. To add an entry to the log, I invoke LaunchBar, type “dl”, hit space, type my log entry, and hit return. Easy, quick, and then a log of what I’ve been doing during the day is available when I need to fill out my timesheet.

I’ve been finding Together an excellent choice for a scratchpad that includes a daily log; hopefully you will find it just as convenient (or at least have found some food for thought in my approach to some simple tag-based organization).

Downsides

I’ve been using Together as my scratchpad for a couple of weeks, and overall have really loved it. As I mentioned above, MobileMe’s significant issues with keeping even a simple Together library in sync have convinced me that I need to look elsewhere for my perfect solution, but if the synching were consistent and painless I’d have no qualms using Together for the long haul.

That said, there are some potentially significant downsides to this system, particularly for people with an eye on their budgets. MobileMe is not a cheap service, and because it’s the only way to sync Together it’s definitely necessary for anyone who’s interested in a scratchpad they can access from multiple computers. For an optimal workflow with the daily log you’ll also need LaunchBar or Quicksilver, and although Quicksilver is free, LaunchBar is far superior in my experience (and has the additional benefit of not having been abandoned by its developer).

It’s worth mentioning, too, that a computerized scratchpad like the one I’ve outlined here is completely worthless for some folks. Unless you’re on your computer for most of the day, you’ll likely find a pad of paper and pen far more useful.

Other options

Although Together was one of my first picks for scratchpad software, I did investigate other options. Evernote as an idea was extremely appealing, but in execution the service only seems worth using if you’re on the road a lot and need to store info (particularly images) via your cell phone. The desktop Evernote program is simply too clunky for someone who is always at the computer like myself, particularly given the existence of several excellent file libraries.

I also considered just using plain text files and making a daily log that could double as a scratchpad, a la Chris Bowler’s solution, but I wanted a simple organizational method (in this case using tags), which was not possible with plain text. Tossing URLs that I want to visit into my daily logs would just be throwing them into a black hole; I doubt I’d bother to take the time to review them when I switched computers.

Together’s competitors, Yojimbo and EagleFiler, were worth consideration, but neither could handle the workflow that I desired (EagleFiler because of its lack of any kind of easy-to-use synching, and Yojimbo because it doesn’t offer any good way to append text to a file/library item so far as I could tell). For people who want a scratchpad for a single computer, however, EagleFiler might be worth a second glance (particularly if you own it and don’t own Together).

Looking forward

As you may have figured out from my dissatisfaction with Together’s synching and the “part one” in the title, my quest for a scratchpad is not yet over. I’m currently in the early testing stages of an alternative solution using VoodooPad Pro 4 that has fantastic synching support but requires a bit more gruntwork on my part to get up and running. I’ll be sharing my second scratchpad solution once it’s finished, but in the meantime I hope that my work with Together will benefit some other folks who have been battling with the same mind-overflow issues that I’ve been facing.

Resources for the scratchpad: