Short review of Mapivi
After my last round-up of Digital Asset Management applications on Linux, Martin Herrmann sent me an email about his own program, Mapivi, currently at v0.9.1. After an initial adjustment period, I’ve since started migrating my image management to this application.
Mapivi is written in Perl/Tk. I found the default font choice was too large initially, resulting in windows that wouldn’t fit on the screen, but this was quickly cured via the preferences. It has an interface split into multiple panes, which can be reconfigured in various ways via keyboard shortcuts.
The Good
- Mapivi’s IPTC support is first-rate. It allows you to set most if not all the standard fields, including ByLine and Location info. It supports hierarchical keyword tagging via the “join” option, which means that an image tagged, say, “Family.Rixon.Ade” will appear in searches for either the person name, the family name or all family-related images. There’s a choice of two IPTC editing dialogues, either “Simple” or “Professional”; I found the simple one captured all the detail I required.
- There’s a huge feature list; it supports virtually every operation you’d want to apply to an image (or group of images), including some rudimentary manipulations based on the ImageMagick tools. I tend to do this kind of thing in a proper editor, but the option’s there if you want to try some quick changes.
- Image display is quite nice, with the option of EXIF data overlaid on the preview.
- There’s a clever “tag cloud” display, to indicate the relative occurrences of different tags.
- Performance is reasonable, with the option to tune various aspects such as the number of thumbnail generation subprocesses.
(There’s a lot more to it than this, but these were the highlights for me.)
The Not-so-good
- IPTC and tag editing feels a little clunky. As far as I’m aware, there’s no drag-and-drop capability alá jBrout (possibly a limitation of Tk). You’ll spend a lot of time scrolling up and down the tag list (which is alphabetical), and expanding or shrinking hierarchies. You can save IPTC “templates” and then merge them with a batch of images, but if you wish to customise the template, you have to apply it and then re-edit the IPTC data; this causes two (time-consuming) image write operations. It would be nice if a template could be loaded into the IPTC edit dialogue directly, as a starting point. Nicer too if the template names, or the most-recently used ones, could be selected directly from the menu.
- Mapivi supports IPTC “categories”, but the FAQ advises that these are deprecated in favour of keywords and should be avoided; I only read this after I started using them, but fortunately not too late to abandon their use. It would be a kindness if this feature was hidden unless explicitly enabled.
- Again before reading the FAQ properly, I used an accented character in an IPTC location field - big mistake. So far, I haven’t been able to remove or replace that data in some of the affected files, and ExifTool thinks the IPTC data is broken. Maybe Mapivi should strip out or convert any non 7-bit ASCII from the fields before inserting them.
- It would be nice if it were possible to maximise the number of thumbnails displayed (e.g. in a matrix). (This may be a supported configuration; I haven’t looked into it closely enough yet. The only thumbnail display option appears to be a vertical list.) With the default view, there’s a trade-off between the size of the preview pane and the amount of data visible next to each thumbnail, since they compete for window space. (Note that the preview can be disabled and images opened in separate windows via a middle button click.)
- A minor personal nit: installation is trivial (just unpack the archive and run mapivi from within it) but doesn’t appear to conform to the typical GNU-style bin/lib/share layout (everything is in one directory, which can’t be split). I wonder how you’d package Mapivi into a system RPM or DEB archive? (This may explain the apparent absence of Mapivi packages for distros.)
- Only JPEG support at present, although Martin indicated that he was working to integrate Image::ExifTool to support more formats; achieving this would put Mapivi way out in front.
Apart from the interface issues, my beefs with Mapivi are minor. Given the feature set and capabilities of this software, it’s hard to conceive of using anything else for a Linux DAM solution at present.
On a related note, I also took another look at digiKam which, from v0.9.0, now supports IPTC tagging. Unfortunately, that was about the only IPTC feature it supported and even that support was minimal (you can view IPTC data but not edit it, and the support feels tacked-on). It still uses the annoying paradigm of wanting to “own” all your images under one directory and then “import” (copy) any new ones from outside, although allegedly it has support for files stored separately on offline media (the documentation doesn’t appear to cover this). (You can tell it that its “albums library” has the same path as your existing image archive, and it will scan the directory, marking each subdirectory as an “album”.) To be fair, it has full 16 bit support, a nice set of plugins and wide raw format support via dcraw. Even so, it still wouldn’t be my choice at present.