Super Flexible File Synchronizer (2.1 MB download)
Written and copyright 2003 by Tobias Giesen
Every once in a while an application comes along that not only fulfills all your hopes and expectations, but restores your confidence in the application writing and programming business. I’ve been looking for the “perfect” file synchronization utility since 1997, when I made the PC my primary platform instead of the Mac.
As I convert this article to a WordPress posting in March 2008, it’s worth noting that I still use SuperFlexible exclusively. In June 2011 I note that SFS is still supported by regular updates, continues to work great, and I’ve been using it for over 7 years – somewhat of a personal software record.
In truth, I hadn’t looked too hard, because almost everything I looked at was disappointing. I even looked at some expensive commercial offerings, whose cost is actually based on how many folders you want to purchase support for (!).
Mind you, I don’t need another Retrospect. Retrospect is a “backup” program. I already use Norton Ghost for all my drive-to-drive backups. We will see shortly that “backup” programs and “file synchronization” programs serve very different needs and expectations, and work entirely differently.
For years, I used a fine British shareware file synch program. It was limited in what it could do, but it did that very well. Running it single-thread with big batches of folder synchs was very high-maintenance.
Enter Super Flexible File Synchronizer. I found it on the Tucows shareware site, tried it along with several other related applications, and found myself sending in my shareware fee after only a couple of days of using it.
The more I use SuperFlexible, the more I like it. But we might be getting ahead of some of our readers. Exactly what is a file synchronizer, and why do we really need it?
Backup and File Synch for the PC
A file synchronizer is essentially a two-way backup program. Generically, the idea is to move the newest copy of each file or folder between a defined pair of directories (source and target, or A and B).
Question: Generally, unless you have also defined some kind of special filters, so that only certain file extensions are included or excluded, what would you end up with?
Answer: two identical or mirror copies of the “synchronized” files, folders and directories.
If you work with a laptop a lot and need to keep your work current on the laptop and a desktop, the “synchronized” results is exactly what you want.
You’re probably already aware that a straight Windows copy operation takes everything selected on the “from” side and blindly copies it to the “to” side. Every file on the “to” side with a counterpart on the “from” side is replaced, whether that file has been changed or not. You will get individual warning dialogs for each and every file that is newer than its replacement file. With the size of today’s hard drives, this can be massively inefficient.
What’s the difference between a “backup” program and a “synchronization” program?
Backup: A high end backup program like Ghost or Retrospect makes sure that important files, folders, volumes or drives are faithfully copied from location A to B. Once you run such a program once, most of the files may not have changed at all, so a smart program may have an efficiency option to only move those files that are newer on the source side than the target side, or that don’t exist yet on the target side.
Synch programs: these take backup to the next level, or beyond.
- Most files will not have changed. Why waste time and CPU overwriting them?
- Files on the Target could be newer than those on the Source.
- If you use two machines, volumes or directories regularly, the location of the newest copy of a file is not guaranteed.
With a file synch program, copy direction can be A to B, or B to A, or both directions.
The simplest version of a file synch program might have the ability to do the following:
- Define two directories (folders) that should be kept identical
- Establish the copy direction to enforce (A to B, B to A, or either)
- Establish copy criteria, usually based on file dates: newest to oldest, oldest to newest, or perhaps file size
- Define what specific file names or types are included, or *.* (all)
- Make datestamps the same
- Clean up empty and orphaned folders
Smarter file synch programs might have the ability to do the following:
- Define what specific file names or types are excluded
- Option to DELETE files on target that no longer appear on source
- Ability to save off files marked for deletion, for later attention
- Option to WARN when certain conditions are detected, since as newer file is smaller and would overwrite a larger file of the same name.
- Ability to build sets or “suites” of synch definitions
- Ability to run in batch mode (all suites at once)
- Ability to run on a scheduler
- Ability to run unattended
- Ability to save your sets or “suites” for backup or export to another machine
Super Flexible File Synchronizer to the Rescue
SuperFlexible has the ability to do all of the above, and more. I am not going to cover all its powerful features on this page. We review most of these in detail on a series of separate pages corresponding to the main functional tabs of the SuperFlexible application. Links to these pages are supplied in “Screen Shots” near the bottom of this page.
SuperFlexible has the ability to specify a require volume label; e.g., “Vol. must be: Apricorn”. Windows drive letter assignment does not work nicely with removable drives. It never did. Particularly with the latest generations of USB 2.0 portable drives and mountable cards, what was drive D yesterday will be drive G or H tomorrow. By optionally specifying a volume label, SuperFlexible will protect you by telling you something like the following: “The volume label for the right path should be Apricorn.”
File Level Operations:
By use of filename masks you can restrict the scope of a particular profile to include one or more single file extensions, such as: *.pst. Equally important, there is an additional optional filter in which you can define files, extensions or folders to exclude.
Or, you can use the “Select Folders and Files” feature to check off only those folders and files you are interested in moving, from within a Windows Explorer-style directory tree. You could do your whole file synch suite in one single profile using this feature (if all your selection criteria were always the same).
With SuperFlexible we can set up “Mirror” copies. Defining a “mirror” ensures that the included destination file folders are exact copies of the originals. We can set up a Mirror copy from source to destination, or even destination to source, but (obviously) not both. If you delete a file on the machine you consider primary or source, Mirror mode will delete that file on the destination side.
We get what we ask for, so we should be careful what we ask for.
I have two machines I consider primary, depending on whether I’m in California or Arizona. I’ve learned to only do Mirror copies on my outbound files, never inbound: transporting files on a portable drive from CA or AZ, I let SuperFlexible Mirror delete obsolete files on the portable hard drive. But I stopped using Mirror on the other end: I will not let my SuperFlexible synch suites automatically delete files on the AZ primary machine. On the return trip, I no longer allow automatic deletion of files on the CA primary. To avoid accidental deletion of my last “original” copies, I want to make that choice manually.
SuperFlexible will do exactly what I set it up to do; the problem lies with me. I can’t always remember what files I intentionally deleted two weeks ago, so I can get confused about which deletions to allow. I’ve had a few close calls, so manual review before committing updates to the primary machines gives me an extra layer of protection, a chance to change my mind.
Mirror is especially useful, though, when I’ve done a lot of housekeeping and want to update my backups immediately, say, on the 13,402 files in my local website folder. [This section added June 6, 2009.]
Standard Copy and Smart Copy
For most operations, “Standard Copy” is fast, efficient, and foolproof. If you do a standard copy from location A to B , location B ends up with all the files it originally had, plus any files found on A which previously didn’t exist on B.
“Smart Copy” has all the safety of “standard copy” with an ingenious extra feature. It will detect and relocate files that have been moved but not deleted. Supposing, within folder A, I have moved and reorganized a large number of files from subfolder C to subfolder D. Without Smart Copy, after a file synch from A to B, destination subfolder C will still have all of its original files, and destination subfolder D will now be a copy of source subfolder D. In other words … we’ll have two copies of all the moved files. “Smart Copy” is cool because it just replicates the C->D moves on the destination side!
I use “Smart Copy” for 90% of my file synchronization needs. [This section added June 6, 2009.]
Microsoft Outlook (Self-updating files)
MS Outlook is a charter member of a class of applications that can be the bane of everyone who does file synchronization. This class also includes MS Outlook Express, Quicken, and potentially, any application that inserts itself in your startup group – particularly if it self-updates via the web.
If you open an application to verify its version or contents, you know there is a high risk that one or more files will be updated with the current date and time, meaning, it will appear to be the “newer” copy no matter how long it’s been since you actually updated anything. In effect, some applications do this all by themselves, without you even knowing about it.
It’s what you don’t know (or notice) that can kill you. Twice this month, while traveling I have inadvertently overwritten a more recent copy of my Outlook mail file (*.pst), with an older one that somehow got updated to “today”. Thank goodness for alternate backups! I know that my copy of Outlook 2003 downloads files in the background (without being opened). Regardless of the rationale for operating any particular application “in the background”, examples of causes might be (a) an application looks for updates of some kind on the web without asking, (b) SpamKiller or some other “helper app” is operating interactively in the background, or (c) it is just automation taken to the next (unwanted) level.
No programmer can second-guess this kind of situation. If you know that the copy on your portable USB drive, A, is newer than the copy on your desktop at your vacation home, B, then, the correct answer is that the copy direction should be A to B. But, when vacation is over, the answer would be B to A. This should be true no matter what the date stamp information tells you.
SuperFlexible gives you a number of options for guarding against mistakes in copy direction. You can elect warnings when overwriting larger files with smaller ones, or when overwriting newer files with older ones.
But, in files with a structure as complex as Outlook or Quicken, chances are only you know which copy should really be newer. Obviously, you want to save the one that has all you latest work in it, and you need to disregard what the date stamp and even file size is telling you: what if you did some cleanup and deleted a number of mail files?
I created a profile just for my Outlook file, and I run it first. There are checkboxes for “Copy Left to Right” and for “Copy Right to Left”. Now, I leave both unchecked. I can make the right decision on the spot, synch the file, and then move on to other tasks that can be automated.
Graphic User Interface (GUI)
SuperFlexible uses a straightforward and well-planned Windows graphical interface. It uses tabs within a single master window to control presentation of a huge array of basic tasks and profile-specific settings. The key functions that you need to see in every profile are presented first, for immediate viewing. I am reviewing version 2.12a and don’t know the development history, but it’s plain to see that Tobias Giesen put an enormous amount of thought and work into the design and features layouts.
In “Unattended” mode, SuperFlexible is lightning fast. I am current synchronizing about 10GB of data over USB 2.0 or 10/100 Ethernet, and SuperFlexible can spool through all of it, depending on how many files in the population have been changed, in as little as a few minutes.
Generally, I still prefer to step through my list of profiles manually, because I am still “tweaking” the settings and building or editing new profiles. But, since profile selection is all controlled through SuperFlexible, rather than navigating back to Windows directories, I can still complete my file synchs much faster than the old days. That’s what I was seeking.
And, there is a “semiautomatic” mode in Profile Overview where you can still review each expected result before committing, but, the next check-box synch profile then pops up automatically and in sequence. SuperFlexible offers the best of both worlds, from full manual single-thread execution, to full auto batch operation, and a middle mode allowing rapid execution of a chain of manual profiles.
Screen Shots (Illustrated)
- Edit Profiles
- Manual Run Profile
- Profile Overview
- Select Subfolders
- Synch Preview
- Wizard Mode
In summary, SuperFlexible is a high-quality shareware file synchronizer, professionally written and designed to commercial standards or better. It exceeded my requirements and expectations in all areas. The design is clean enough that almost any user could learn it. It is appropriate for average and advanced users. For users who only require basic settings, the advantage of this application is speed. For users who require advanced settings and filters, the advantage is both speed and control. If you are on the lookout for a better system of synchronizing files on two or more machines, I recommend that you download and try Super Flexible File Synchronizer.
Reviewed by Alex Forbes
October – November 2004
1,303 total views, 1 views today