What You Need:
* A Mac
* Quicksilver
* A recent generation of iPod
* This article
Step One: Make the Lists
Step one is easy: create a folder called "Lists" and populate it with a bunch of empty text files, one for each on-the-go context or agenda. Make sure you use plain text files or none of this will work! In TextEdit, choose Format > Make Plain Text before saving.
Nothing to see here, just a bunch of lists.
If you haven't already, you can set up a Quicksilver template for an empty text file and then use the Make New... action, followed by Rename..., to quickly create new files.
Quicksilver's Make New action in action.
Make sure you store your lists where Quicksilver can find them. I put mine in a folder under Documents.
Step Two: Fill the Lists
Now I've got a bunch of empty text files. I can quickly add new entries to them using one of Merlin Mann's favorite Quicksilver features: Append To. In order for this to work, you must first turn on Quicksilver's Text Manipulation plug-in, and also turn on Advanced Features in Preferences.
Turn on Text Manipulation...
...and Advanced Features.
With everything set up, adding a new entry is as simple as 1-2-3.
Quicksilver's Append To action in...uh...action. Yeah.
For more information on Append To, see the Quicksilver website. For more slick hacks than you can shake a stick at (and believe me, I tried) see the Quicksilver category over at 43folders.
Step Three: Sync the Lists
Now I can create my lists, and I can quickly add new items. All that remains is to load them up onto my trusty iPod. Start by enabling direct access to the iPod drive; from iTunes:
Check the checkbox to Enable disk use.
Be sure to sync the iPod to apply the change. You should be able to open the iPod icon in Finder, and see the "Notes" folder.
Finder's view of the iPod.
At this point, you can copy the text files into the Notes folder and view them on the iPod. Again, Quicksilver makes it easy.
Quicksilver Copy To... moving my lists folder to the iPod.
If you are one of those people who can actually remember to copy your notes, feel free to stop now and go GTD. I'm not one of those people, so I took the time to automate the process.
This gets a bit technical; you might want to get a beer first.
OS X contains a system process called launchd responsible for monitoring system events and launching (get it?) the right services to handle them. But nevermind that. This important thing is this: I want to wait until my iPod is plugged in, and then run a script that syncs up my notes. I'll start with the script.
Download this file to ~/Library/Scripts. Then open it up in TextEdit and set the two values at the top. The first (FolderToCopy) points to the folder where you stored your lists. This entire folder will be copied to the Notes directory on your iPod. The second (iPodVolumeName) is the name of your iPod, as it appears to the file system. If you aren't sure what to put here, plug in your iPod now, then open up Terminal and type ls /Volumes. Your iPod name should appear in that listing.
Mine is called DRD. What's yours?
Save your changes, then plug in your iPod. Open Terminal, make the script executable and then run it, just to be sure everything works. There will be a delay of about ten seconds to ensure that the iPod is ready for use (and to make launchd happy), and then the files should appear on the iPod.
Make it executable, then execute it. Looks like it worked.
Final step: create a launchd entry for our new script. Take my property list, please.
Download this crazy-named file and store it in ~/Library/LaunchAgents (you'll probably need to create the folder). Double-click the file to open the Property List Editor, and set the name of your user folder so launchd will know where to look for the script (from above).
Put your user folder name here so launchd can find the script.
Save the file. Now register the script with launchd by running this command in Terminal, or just log out and log back in again. OS X will automatically register the script on all future logins.
$ launchctl load ~/Library/LaunchAgents/
You can make sure it worked by listing the registered handlers and making sure that com.industriousone.copynotestoipod appears in the list.
$ launchctl list
Good? Plug in your iPod. After a short delay (around 10 seconds) your notes will appear on your iPod. GTD to go!
Note that I've tied the syncing of the notes to the initial connection of the iPod. If you make changes to your lists after the iPod is plugged in, you will either have to manually copy the files (easy with Quicksilver), or eject and reconnect the iPod.
As always, I welcome questions, suggestions, and improvements in the comments (now someone is going to come along and point out some checkbox that would do all of this for me, right?). Enjoy!
Many thanks to Blurred Visions and TUAW for the showing me how to script launchd.
Nothing to see here, just a bunch of lists.










Excellent post! I tried designing a text export as well with the Ready-Set-Do! program I designed on the mac. Users just select the "Make Action Lists" script and it makes all of their lists for them in TextEdit.
One thing to note is that there are character limits for the Notes on the iPod. So if a user has a text file longer than whatever the limit is for the iPod, some of the text might get truncated. You can get around this by making new notes that separate out notes that are longer. I encountered this issue on the Palm which has 4000 character limits for the notes section of each todo. And that's how I worked around it.