After several years of trying to figure out what task manager for Mac and iPhone worked best with my peculiar style of organization, I finally settled on Things from Cultured Code. The Mac application is easy to use, uncluttered, and can take advantage of many keyboard shortcuts, while the iPhone app [iTunes Link] gives me a portable version of the Things database to take on the road. While the iPhone app can do a local sync to a Mac, it still doesn't do over-the-air syncing, which I hope Cultured Code will add in a future release.
When I made Things my task manager, I needed to make sure that I could use the same database on both my desktop Mac and my MacBook Air, since the Mac version doesn't do syncing either. It turns out that one of the easiest ways to do this is to use the wonderful cloud storage application Dropbox to hold my Things database, and then point Things on both Macs to use the shared database.
Fortunately, a Brit by the name of Bradley Wright had already done all of the hard work and had written up some command-line instructions on how to do this. Brad does all the work in the Terminal; here, I'll describe how to do most of the work in the Finder with the exception of creating a symbolic link at one point.
1) You need to have Dropbox up and running on every Mac with which you want to use the same Things library. If you're not currently a Dropbox user, it's free for up to 2 GB of storage and you can sign up here.
2) Of course, you'll also need to have Things installed on each Mac. The Things license is for a single user, not for a single machine. If you don't currently own Things, there's a free trial available for download so you can give it (and this sync method) a try. Now you're ready to start syncing.
3) On the first Mac (for example, a desktop machine), create a Library folder on Dropbox. You do this by opening the Dropbox folder on your Mac and creating a new folder named Library.
4) Now you need to find the Things database. It's in the currently logged-in user's Library > Application Support > Cultured Code folder. In there, you'll find a Things folder containing a backup folder and the Database.xml file, and you want to move the full Things folder to that Dropbox Library folder you just created. Delete the Things folder in the Cultured Code folder.
5) On the second (or more) machine(s), delete the Things folder.
6) Finally, on all of the machines, you'll need to create a symbolic link to the Dropbox Things folder, so that when Things looks for the database file, it will actually go to the Dropbox Things folder you created. A symlink is superficially similar to a Mac OS X alias, but with a UNIX flavor; some applications that won't honor an alias to a directory path will behave better when a symlink is used.
ln -s ~/Dropbox/Library/Things ~/Library/Application\ Support/Cultured\ Code/Things
into the command line in Terminal, or copy the above line and paste it into Terminal. As discussed above, creating an alias in Finder will not work; you'll have to do this in Terminal.
There are some caveats to this sync method. First, you should never run Things on all of the machines at the same time. Instead, always quit Things when leaving a machine to ensure that the database is properly closed. Second, syncing Things with iCal from numerous Macs can cause some problems resulting in duplicate iCal to-dos. Finally, realize that you'll still have to sync up your iPhone to one of your Macs in order to keep it up to date.
While this may seem like a roundabout way of keeping Things synced on more than one Mac, it's actually quite straightforward and works very well. Until Cultured Code builds global syncing into future versions of Things, this is a good workaround.