Syncing PowerBooks

It sometimes amazing to me the products that don’t exist. All I’m looking for is a simple program that will allow me to bidirectionally sync my desktop Mac to my PowerBook over the network while excluding a few large folders. My PowerBook drive is quite a bit smaller than my desktop drive and I don’t want to carry around my entire music library. Near as I can tell there is nothing out there that will do this.

Apple has completely blown this. They only support synchronization if you subscribe to .Mac, and then only for some of your files that support their custom iSync API. (In the old days Apple bundled a program to do this with every PowerBook.) There are several other products based on iSync that don’t require a .Mac subscription, but they still only support certain file types. For instance, you can synchronize your calendars and contacts, but not your source code. This is essentially worthless to me.

There are a number of Unix utilities based on rsync that try something like this, but most of them don’t grok the Mac’s file system. RSyncX claims to, but it seems to be abandoned and buggy to boot.

They’re a few payware alternatives such as Chronosync. However they’re based on rules for including and excluding. While I can see the usefulness of rules, that’s not what I want. All I need is to say sync everything except for a few particular folders that I specify. That’s it. I can probably figure out how to make Chronosync do this; but it sure isn’t obvious, because of their complex, rule-based interface.

Isn’t there something else out there? Can’t someone meet this need? I am willing to pay for a program that does what I need and works reliably. My wallet is open. Who wants my money?

Update

I think I’ve figured out how to make Chronosync do this, but you have to go into their most advanced interface, even though this should be one of the simplest options. Weirdly, including a folder is part of the intermediate options, but excluding it is only available in the advanced interface. Furthermore you have to understand Unix programmer concepts like “paths” rather than just choosing a folder to exclude with a standard file dialog. A normal user could never figure this out (but maybe normal users aren’t supposed to have two computers?).

Update to the Update

Apparently the exclude by parent path option doesn’t do what I thought it did since when I tried to run the sync, it went right ahead and started copying some of the songs from my ~/Music folder I thought I’d excluded. Possibly when it says “parent directory” it only means immediate parent?

However, I have now discovered that you can individually exclude folders by manually checking them from the Analyze panel. This is far from obvious but it does work. The next question is whether Chronosync is fast enough to be used. Right now the answer is leaning toward no, but more on that in the next post.

Aren’t Macs supposed to be easy? I can only imagine what somebody who wants to sync their Windows desktop to a PowerBook has to go through.

15 Responses to “Syncing PowerBooks”

  1. Alan Says:

    FoldersSynchronizer does folder exclusion simply, although it is rather slow.

  2. Curt Cox Says:

    You’ve probably already investigated them, but here are some options that struck me:

    TrueMirror
    http://truemirror.schlichtherle.de/en/

    Unison
    http://www.cis.upenn.edu/~bcpierce/unison/

    Jungle Disk
    http://www.jungledisk.com/

  3. Daniel Says:

    Did you try Unison? I never used it on a Mac (there are binaries for OSX). I am using it for cross-platform syncing between Cygwin and Solaris.

  4. Andreas Schödl Says:

    How about using a VCS like CVS or Subversion for the task? Set up the one Mac as the VCS server and put the things you like to sync under version control. On the other Mac do “cvs update” before you go and “cvs commit” when you get home.

    Maybe this is not what you want when the source code you mentioned already is version controlled in another VCS.

    Best regards,

    Andreas

  5. Elliotte Rusty Harold Says:

    This isn’t just about source code. It’s about everything: applications, media, books, libraries, fonts, and more. The goal is to have essentially the same environment on my laptop I do on my desktop without having to think about it. This would avoid situations like yesterday’s emergency where I arrived in Chicago to discover:

    1. I don’t have the right version of Eclipse for my talk installed on my laptop
    2. The wireless network at the conference site isn’t working.

    Version control systems really aren’t set up to handle that. Doing that right would really require building version control and backups into the operating system at a very low level. That’s probably a good idea, but there’s no way I can implement that myself in a reasonable amount of time.

  6. Elliotte Rusty Harold Says:

    I don’t see how JungleDisk would help. All it appears to be is a network drive someone else manages. I can mount network disks myself and not pay $0.15 per gigabyte. The goal is to avoid having to manually copy files and folders, and figure out what has and has not changed.

    Since the goal is to get the files onto a mobile laptop, having the data stored on some Internet server somewhere does not really help. I cannot rely on having fast, reliable Internet connectivity at remote sites, as yesterday’s experiences in Chicago prove.

  7. Elliotte Rusty Harold Says:

    According to the web site, “Unison is a file-synchronization tool for Unix and Windows.” The Mac is not mentioned. Mac OS X is Unix, but it’s not just Unix. It still has a lot of custom features not shared by other Unixes, particularly with respect to file systems. For instance, file names are only partially case sensitive.

    Generic Unix backup and file management software usually breaks when run on the Mac. Simple data-only files like text files and MP3s can usually be handled. However, more complex files such as applications, system files, or anything with a resource fork is garbled more often than not. I should experiment with Unison–it’s open source after all–but I’m not optimistic.

    This article may be helpful.

  8. Frank Says:

    Maybe I don’t fully understand what you are trying to do but it seems like ChronoSync does, indeed, allow you to ignore folders on a whim without using the Rules panel.

    From the Analyze panel, all you do is select the folder you want to ignore, and then select “Exclude” from the Actions menu. From that point on, ChronoSync will ignore that folder when synching. If later on you decide you now want to include that folder, then go through the same steps and select “Include” from the Actions menu.

  9. Elliotte Rusty Harold Says:

    FolderSynchronizer does look interesting. However the user interface commits a number of serious GUI bloopers. The documentation is also quite poorly written. Certainly some of that results from a lack of native English skills. However, there are also some characteristics of the documentation that indicate bad writing in any language (e.g. important topics not covered at all; bad organization of ideas).

    Overall the impression I get of FolderSynchronizer is that it is a one-person project by a good programmer who does not have the other skills necessary to produce successful applications (writing, marketing, user interface design, fulfillment, testing, etc.) True generalists are rare in software. Successful end-user facing software almost requires a team of people with different skills. In my experience, single-person products are thus rarely worth the hassle of using them. Single-person, closed source, payware products are almost never worth paying for.

    Possibly I wouldn’t have to set up FolderSynchronizer more than once though. I’ll play with it. If I can automate down to a single double click it might still work out since I’d bypass most of the mistakes most of the time.

  10. Elliotte Rusty Harold Says:

    OK. The analyze panel does seem to allow that. It should be more prominent. It also needs a complete user interface rethink. It is not hierarchical. Instead it shows all 50,000+ files in my home directory in one scrolling list with no search functionality. Furthermore the order in which the files are listed isn’t quite random, but isn’t quite any other obvious order either. Folders at the same level of the directory are usually sorted alphabetically, but not always. There’s probably some method here, but I don’t see it.

    Finally, it’s too slow. Clicking on a folder to exclude it results in a wait of several minutes while Chronosync thinks about. That operation should be almost instantaneous. I suspect the problem is that Chronosync unnecessarily ties the update of its data files to its user interface. This is wrong. Even if updating its data files takes a couple of minutes (and it shouldn’t) the user interface should update immediately and return control to the user.

  11. Elliotte Rusty Harold Says:

    I may finally have Chronosync doing more or less what I want it to do. However, I’m afraid it’s proving just too slow to use routinely. It seems to take roughly an hour before it even starts transferring data. Saving the sync document when I quit takes from 10 to 30 minutes. There’s really no excuse for this. It should be able to run close to the speed of the network. As is, the throughput is nothing close to that. I think I’ve identified the problem, and I think it’s one a lot of simple backup software shares. I’ve written a short piece about how this sort of software should be optimized. I think the lessons are fairly generic to any network backup or synchronization software, though.

  12. David HM Spector Says:

    Hi Elliotte,

    A small app that I use between my Macs is “File Synchronization”

    http://nemesys2.dyndns.org:8080/FileSynchronization_EN.html

    Its $15 (shareware) and is simple but gets the job done.

    regards,
    David

  13. Mokka mit Schlag » Chronosync: Final Answer Says:

    […] After evaluating Chronosync for a month, the evaluation period is up and it’s time to make a decision. To buy or not to buy, that is the question. I think the answer is no. Chronosync is too slow and too complex to justify paying for. […]

  14. Ed S Says:

    Day^H^H^HMonth late, dollar short… but have you tried Synk? It seems to do exactly that: bidirectional syncing between Macs.

    Disclaimer: I’m a UNIX longtimer but Mac newbie, and haven’t even used Synk. I’ve simply been exploring backup options, and Synk has a good reputation.

  15. SvP Says:

    @Ed S: sync standard did it!
    great app. Only thing i’m concerned about is that i can only properly run it in root mode. I’m curious how permissions work in these cases..

Leave a Reply