f-spot vs digiKam

Since I have been having a digital camera since a few weeks now, I've had a need for an application to manage my pictures. The two applications that people have pointed me to are f-spot and digiKam, which also seem to be the most popular applications in this category for Linux. Since I use neither KDE nor GNOME as my user interface, it doesn't matter much to me which I install; so I've tried them both. Their feature set is quite different; unfortunately, though, they both have some features which the other doesn't, which makes choosing for one or the other rather hard.

Since their on-disk format is rather different, it's impossible to use them both at the same time—at least not if I don't want to enter commentary and tags each and every time; so I'll have to choose one or the other based on their features. Since that requires me to actually compare them, I thought I might as well make a blog post out of that. Note, though, that this comparison is in no way intended to be complete; it only compares those features which I really care about.

Features

digiKam

  • Stores pictures in albums; these albums can be created hierarchically, and are created on disk as the directory lay-out in which to store pictures. One picture can be chosen as an example picture per album.
  • Pictures can have tags, comments, and a score (on a scale of one to five stars) applied to them. Tags can be created hierarchically; the default tagset is empty. Tags can be made to have icons that are otherwise available to KDE attached to them, to make them more immediately visually recognizable, but selecting pictures to fulfill that function seems impossible.
  • Has an interface to manage pictures in gallery and gallery 2; it can view, add, and remove pictures in that gallery.
  • The selector dialog which is used to upload pictures is rather spartanic; it allows one to select pictures by filename and by album; pictures aren't even shown before upload (bug filed).
  • Pictures can be filtered by tag, album, or date; I haven't been able to find an interface to filter pictures by score (it is possible to sort them by score in any view, though).
  • A KDE application, so written in C++, which is a compiled language; i.e., rather fast.

F-spot

  • Does not know the concept of albums
  • Pictures can have tags and comments applied to them. Tags can be created hierarchically; the default tag set contains (amongst others) People, Places, and Events, suggesting that f-spot encourages the use of tags where Albums would be used in the case of digiKam. Tags can have icons which are otherwise available to gnome selected as their icon, or one can select a picture to fulfill that function (in fact, it selects the first picture which receives a tag to do that by default)
  • Does not know the concept of scoring; instead, the default tagset contains a tag Favourites, suggesting a scoring system with a binary scale.
  • Uploading pictures can be done by selecting them, and choosing the right option in the menu system. As a result, all filtering options otherwise available can be used to select which pictures to export (just filter the view, then select all pictures in the view).
  • Uploading pictures will optionally also export comments that were applied to it.
  • Since it does not know the concept of albums, pictures cannot be stored in a one-directory-per-album lay-out. Instead, pictures are stored in a one-directory-per-day layout, using a yyyy/mm/dd format. Unfortunately, this also means that no picture metadata (tags, comments) is easily available to command-line applications.
  • Apart from the ability to upload pictures to gallery or gallery 2, does not interface with it in any way; gallery is a write-only storage medium to f-spot.
  • Written for mono, a system that requires a runtime environment to translate instructions at runtime from some sort of virtual machine code, and which uses garbage collection all over; i.e., rather slow, especially after you've been using it for a while.

My opinion

After having used f-spot for a few weeks before I tried digiKam, I have to be honest and say that I don't like the concept of albums. They do not add value; everything they allow you to express can equally well be expressed with tags. Additionally, one can categorize a picture in only one album, whereas it's possible to categorize pictures in as many tags as you would want. Just creating one album which contains all my pictures, with tagging used for categorizing, doesn't help either; that way, digiKam would store all my pictures in a single flat directory, which would become problematic when the number in the picture filenames wraps around.

I do love the scoring thing in digiKam. A favourites tag just doesn't cut it; and creating five tags for scoring would make things like find all pictures that have a score of three or above rather cumbersome, and sort by score outright impossible. However, the fact that it's not possible to filter by score makes it all rather useless.

The export to gallery function in digiKam is horrible. I have to select my pictures blindly; none of the metadata which I tack on them can be used to help select which pictures I want. Workaround: use whatever filtering is available to select the right pictures and add them to a temporary album from which I then upload all pictures, but that's silly (and requires disk space for no good reason). Additionally, there seems to be a bug in the interface, which means that I have to babysit an upload (with no workaround). And I can't even view my pictures to spend the time waiting. Bah.

F-spot isn't without problems of its own. Due to a bug in mono, it crashes rather often on my PowerPC laptop. When that happens, it can't be restarted until the X server is restarted. Workaround: use Xnest, but that makes it impossible to view pictures in full-screen mode.

Also, since f-spot is a GNOME application, its options dialog is as helpful as a pair of soccer shoes when you're out swimming. No surprises there.

Conclusion

Which one do I prefer? I'm not sure. The digiKam upload interface is positively annoying, especially the bug which requires me to click continue after every picture. For that alone, I might ditch it. On the other hand, it has a slew of interesting features (the scoring, to name one) that f-spot lacks, and that pull me more towards digiKam.

I guess I'll have to give it a few days of thought. But hey, at least I know where I stand now.