Developer: Neometric Software
Requirements: Mac OS X 10.3
Trial: Feature-limited (5 indexes)
Price: $30; business licenses with network support are also available.
Requirements: Mac OS X 10.2
Trial: Feature-limited (25 catalogs)
Even with today’s large hard disks—the current low-end iBooks and iMacs ship with 40 and 160 GB drives, respectively—chances are that you store some of your files outside your Mac, on burned CDs or DVDs, Zip disks, or perhaps on an iPod or other external drive. And with good reason. If you take many photos, after a few years they probably won’t all fit on your main drive. If you work with iMovie, you might keep your finished movies handy but archive the constituent clips to DVD-R. And then there are backups. Hopefully, you keep copies of your important data files and installers so that you’ll be protected if anything happens to your Mac’s internal drive. You can backup and archive your files manually, by dragging and dropping them in the Finder, or using one of a variety of applications to automate some or all of that task.
Saving your files, however, is only half the job. The other half is finding them when you need them. You’ve got better things to do than search the CDs in your binder one-by-one until you find the right disc. This is where disk cataloging software comes in. A cataloger will let you scan the disks when you put the files on them, and it will store the names of the files (and other information) in a catalog. When you want to access a file, it will search all the catalogs at once and tell you which CD to insert, or which drive to connect.
(Another similar utility that’s often mentioned along with these is AutoCat. It actually creates folders of aliases rather than catalog files. You can then browse and search the aliases directly in the Finder. I find that this approach offers limited features and doesn’t scale well to large numbers of files.)
Of these, I think the ten-year-old CDFinder is generally regarded as the best. I’ve been using it since I first got a SCSI CD burner, and I think it offers a good mix of features, speed, and ease of use. CDFinder has never let me down, but I was intrigued when, a few months ago, I received a press release for Catalog 1.0. Catalog’s Web site and icon looked sharp. Its marketing material touted an interface that “feels just like browsing in the Finder,” blazing speed, and a jab at the competition that’s mostly on target:
This isn’t just some Mac OS 9 port or program that looks like it was designed for Windows. Everything in the app is designed to take full advantage of the beautiful interface elements of OS X.
This got me curious. How does a brand-new Cocoa application written by some young developers stack up against the venerable CDFinder, which once ran on 68K Macs with System 7? Maybe CDFinder’s architecture was out-dated, having been designed for another era. Certainly, its interface, though functional, doesn’t look like that of a modern Mac OS X application. On the other hand, disks are disks, and CDFinder has a lot of experience with them. Surely, there must also be a few things that a brand-new program could learn from the old guy.
As soon as you mount their disk images, you can see just how different Catalog and CDFinder are.
Following the modern Mac OS X convention, Catalog has a single application icon that you can drag to your Applications folder to install. Everything is inside that one application package. CDFinder is organized more like an OS 9 application. There’s a single folder that you can drag, and inside it are various documentation and auxiliary files, as well as the application itself.
This trend continues after launching the applications. Catalog uses the modern Aqua interface throughout, with anti-aliased text, a standard toolbar, and a non-modal preferences window. During normal operation, you deal with the single main window, along with a few drawers and sheets.
CDFinder’s interface looks a bit dated. The text isn’t consistently anti-aliased. The window backgrounds aren’t always striped, and the disclosure triangles look like they came from OS 9. (There are various preferences to control CDFinder’s appearance, but none of them make it look quite right on OS X, in my opinion.) The main window has a toolbar, but you can’t re-order or re-size the buttons. The preferences window has Save and Cancel buttons, and it’s opened using Command-Semicolon rather than the more modern Command-Comma. There are no drawers or sheets, and the interface isn’t so rigidly designed around doing everything with a single window. (I consider this last bit a plus.)
Before you can browse or search the contents of a disk that’s offline, you need to use the cataloging program to store a list of the files and folders on the disk. Catalog calls this creating an index; CDFinder calls it creating a catalog. You can catalog a disk or folder using a menu command, by dragging it into Catalog’s drawer or CDFinder’s main window, or by using CDFinder’s contextual menu item in the Finder. Both programs have a batch mode, where you can insert a series of CDs or DVDs and have them automatically cataloged and then ejected.
CDFinder shows a progress bar while it’s cataloging a disk so that you can see approximately how much time it will take. It can also catalog multiple disks or folders at a time. Catalog offers neither of these conveniences.
Both programs offer some control over which files are cataloged. Catalog can exclude invisible files from its indexes, as well as the contents of application and document bundles. CDFinder offers more options. It can exclude files by depth and by Finder label. It can also catalog files that are inside Zip and StuffIt archives (as well as some other archive types, though it cannot look inside disk images).
Catalog stores the name, size, and creation and modification dates for each file. In addition to these, CDFinder can keep track of file types, labels, icons, version information, and Finder comments. It also stores “media info,” which includes ID3 tags on audio files and EXIF and IPTC data for image files. It can thus be used as a rudimentary offline media database, in the spirit of iView.
Neometric claims that “Browsing in Catalog feels just like browsing in the Finder,” but really it’s more like using a limited version of iTunes. There’s only one main window for browsing the contents of your indexes. In the drawer at the left, you can choose an index, much like choosing a playlist in iTunes or a mailbox in Mail. Then the table in the main part of the window shows the contents of that index, and you can use the search box in the toolbar to filter the displayed files. To see more information about the selected file, you can open the info drawer.
Catalog displays the files in a very generic way. There is no Kind column, so to know the type of a file you need to look at its icon or name. Catalog determines a file’s icon based on its name; for instance, a “.gif” file will look like an image file, and a “.html” file will look like a Web page. It does not use file type and creator codes, so a GIF image whose name doesn’t end with “.gif” will appear as a generic document, and other GIF images will appear with the same GIF icon even though some are Photoshop documents and some are Preview documents. Catalog does not display custom file icons.
I found the single-window interface to be extremely limiting. Although you can select multiple indexes, you can’t view the contents of more than one index at a time. In fact, you can hardly view much of a single index at a time. The table always shows all the top-level folders, and you can expand or collapse them, but you cannot limit the view to show just the contents of a particular folder. Nor can you open a separate window to view the contents of a folder.
The only two columns in the table are for the file’s name and its path. The path column is almost useless because the font size is so big (and unadjustable) and because the first part of it is wasted saying “/Volumes/”. It would be nice to be able to see file sizes and modification dates as columns in the table, as in the Finder. This would make it easier to view this information at a glance (rather than in the info drawer for each file individually), and it would make it possible to sort by these properties.
It’s not possible to sort the indexes in the drawer or to organize them in folders, although you can drag to re-order them. Thus, I don’t think Catalog’s interface scales up well when you’ve indexed many different disks.
Once you’ve selected a file in the table, you can double-click to open it. Catalog will report “File Doesn’t Exist” and tell you which disk you need to mount to access it. You can then insert the disk and try again. Instead of opening a file, you can also reveal it in the Finder. This useful command does not appear in the menu bar, but is hidden in a pop-up menu on the toolbar. It does not have a keyboard shortcut and does not appear in a contextual menu (in fact, Catalog doesn’t have contextual menus). Unfortunately, since you cannot select more than one file at a time, there’s no easy way to open or reveal a bunch of files at once.
Browsing in CDFinder is much like using the Finder in list view. The main window shows all of your catalogs. You can group them into folders, sort them, and label them. It is not possible to open a new window showing the contents of a folder of catalogs. You can, however, open an individual catalog in its own window, and you can open multiple such windows at once.
A catalog window is also like a Finder list view. If you double-click a folder in the catalog, the window changes to show the contents of the folder. (Hold down Option to open the folder in a new window.) There’s a Back button. You can adjust the text and icon sizes, choose which columns are shown, and change the sort order. Like the Finder (but unlike Catalog), CDFinder sorts names numerically. So, for example, “ATPM 10.01” properly appears after “ATPM 9.12”. As in the Finder, you can type the first few letters of a file’s name to jump to it in the list.
You can change the labels of catalogs, folders, and files, although CDFinder doesn’t show the label colors, just the names. CDFinder does show the proper icons for files (based on the type and creator codes, as well as the extension). For files on mounted volumes, it also shows custom icons. The windows support drag-selection and multiple selection, but they behave as in the OS 9 Finder, not OS X.
You can double-click files to open them, and this works more smoothly than in Catalog, as CDFinder will prompt you for the proper disk and then open the files right away; you don’t have to double-click them twice. You can also drag files or folders to the Finder, in which case CDFinder will prompt you for the disk and then copy the files to wherever you dragged them. You can quickly copy files from multiple disks this way, just by dragging them from a list of search results.
CDFinder has an info window and also an inspector that can show more details about a file or folder. If an image file is on a mounted disk, the inspector will show a preview for it, but previews are not stored in the catalog files, so I don’t find them that useful.
Unfortunately, neither Catalog nor CDFinder has a column view.
Catalog’s best feature is its filter search. You select some indexes in the drawer, and then you can quickly search through them (by name) iTunes-style. Unlike iTunes, however, you cannot enter multiple words separated by spaces to narrow the search to the files that match all the words; if you search for “Apple iPod” it will find files with exactly that string in the name, not files that say “Apple” somewhere and “iPod” somewhere.
You can also click the Search button on the toolbar (again, there’s no corresponding menu command) to search for files that meet multiple criteria.
Catalog then shows just the matching files in the window.
You cannot, however, further filter the results: If you enter text in the Filter box when search results are displayed, Catalog cancels the search and does the filter instead.
CDFinder does not have a filter search. It does, however, have a very powerful find feature that works much like the one in the Finder. You can search using all the normal file criteria, as well as the ID3, EXIF, and IPTC fields. Using the pop-up menu at the top of the window, you can choose which catalogs will be searched. This is where it really pays off to group your catalogs into folders, or to label them, since you can choose to search all the catalogs in a folder or all the catalogs with a particular label. If you have Mac OS X 10.4, CDFinder can search Spotlight at the same time it’s searching the catalogs and display all the found items together.
CDFinder’s searching is fast. If you are searching multiple large catalogs, the search isn’t instantaneous, but CDFinder will show a progress bar in its Dock icon. The matching files are shown in a new window called Found Items. Unfortunately, there’s only one Found Items window, so you cannot compare the results of multiple searches side-by-side.
To test the speed of Catalog and CDFinder, I used each program to catalog a DVD containing a copy of the ATPM Web site’s Subversion work area. This included 54,484 files and 5390 folders, totaling about 2.2 GB.
Catalog took 2 minutes and 29 seconds to create the index, and used 219 MB of RAM to do so. It then took 18 seconds to save the index at quit, and 6 seconds to load it at launch. After re-launching Catalog, it took 70 MB of RAM to view the index. The catalog file uses 17.9 MB on disk.
CDFinder took 1 minute and 10 seconds to create the catalog, and used 17 MB of RAM to do so. This is more than twice as fast, even though CDFinder is saving more information. The catalog uses 4.2 MB on disk.
The performance difference is more pronounced when you catalog many volumes, or even a single large volume. I was not able to index my Documents folder (containing about 300,000 files) using Catalog; after about 10 minutes of indexing, it had used up more than 1 GB of RAM, and I had to force-quit it because it was making the virtual memory swap like crazy. Each time you launch Catalog, it loads all of the indexes into memory. This means that you are limited to browsing and searching a group of indexes that will fit in memory simultaneously. It also means that launching Catalog takes a long time, as Catalog loads even indexes that you might not want to view. Quitting Catalog can also take a long time, as it saves all the indexes to disk, even if none of them has changed. (In the just-released version 1.2.1, Catalog is smart enough not to save the indexes if none of them has changed, but it will still re-save them all if only one has changed.)
CDFinder stores its catalogs more compactly, both on disk and in memory. It is also able to control its memory use (and improve performance) by loading a catalog only when you try to browse or search it. Thus, I can easily search hundreds of large catalogs in CDFinder, any one of which would bring Catalog to its knees. The Database Status window lets you tell CDFinder how much RAM it’s allowed to use for its database cache. Searching 6 million cataloged files took just a few seconds, but it then took about a minute for CDFinder to create a Found Items window with the 552,045 matching files. Once the window was loaded, I could scroll through it quickly, and CDFinder needed only 113 MB of RAM to display it.
Catalog is not scriptable. CDFinder has an extensive AppleScript dictionary that lets you create, search, and inspect catalogs.
Catalog has a minimal but complete collection of integrated HTML help pages. CDFinder has a quick-reference guide in the Help menu and a separate 138-page (screen-formatted) PDF user guide.
Both programs support printing. Neither is very good about fitting all the information onto the page. With CDFinder, at least you can manually adjust the fonts and the displayed columns so that everything will fit. It also prints a header showing the name of the catalog, the current page, and the total number of pages.
Catalog can import and export indexes in its own format. CDFinder files are automatically “exported” in this way, since each catalog is stored as a separate file in the Finder. (I find that it’s often easier to manage folders of catalogs by moving the catalog files around in the Finder rather than using CDFinder’s main window.) CDFinder can also export to a tab-delimited format (for importing into a database). It can import files from Disk Wizard, FindIt, CatFinder, Disk Recall, and DiskTracker.
Catalog just doesn’t feel very polished to me. Here are some of the bugs I encountered when using it:
- If you tell Catalog to reload an index (i.e. re-create it from the files on disk) and then cancel, it deletes the index entirely.
- Catalog doesn’t save the index to disk until you quit it. If it crashes or you force-quit because it used up all your memory, you’ll lose any unsaved indexes.
- The user interface appears frozen when importing and exporting large catalogs.
- Various menu commands are not enabled and disable properly. For example, all of the File menu commands are enabled during indexing, but most of them don’t work. The Reload Index and Export Selected commands are enabled whether or not an index is selected.
- The Search sheet doesn’t remember the text that you’ve entered; each time you open it, it clears all the text fields. This makes it difficult to refine your search criteria.
- Sometimes when I try to search or filter just the selected indexes, Catalog searches all of them, or it will search one of them but not the one that’s selected.
- When you delete an index that’s selected, the table still shows its contents, even though the index’s icon has been removed and another index is now selected in the drawer. (This seems to be fixed in the just-released version 1.2.1.)
- If you change from All Indexes to Selected Indexes with text entered in the Filter field, the table doesn’t update.
- The Home and End keys don’t work in the table.
I did not encounter any bugs in CDFinder. I’ve been using it for years, and it has never crashed.
Catalog has the potential to be an ultra-simple cataloging iApp. Unfortunately, the code is not as polished as the Web site and icon are. Small flaws abound, and the architecture scales poorly so that it’s unusable when you have many indexes, or even a single large one.
CDFinder is a solid piece of software with great features and performance. It could use an interface overhaul, but it gets the job done.