March 28, 2008

Wash away the photo workflow blues with blueMarine

Author: Nathan Willis

Photo buffs who are fond of open source software would do well to look at blueMarine. Right now, the free, cross-platform application's strength is image management, but it is on its way to becoming a complete workflow tool. Its cataloging features are robust, its architecture is extensible, and it takes some intriguing new approaches.

Java consultant Fabrizio Giudici started the project in 2003, but it languished as he grew frustrated with the limitations of the Swing toolkit. In 2006, he rebuilt the code using the newly released NetBeans platform, and hasn't looked back since.

You can download binary blueMarine packages from the project's Web site for Linux, Windows, and Mac OS X. The Linux version is available as a JAR package and as a .deb file. In addition to the latest stable release, you can grab development snapshots from the project's development site. They are designated as not-for-production use, but allow you to explore some of the app's newer features. All require an up-to-date Java environment for your OS.

The first time you run blueMarine, you will be asked to designate a workspace directory and the maximum amount of RAM to allocate to the program. The workspace is where the app stores its preferences and temporary data -- it does not modify your original files to create thumbnails or manage metadata. On a reasonably modern machine working with a sane number of files, you will not have to worry about the maximum RAM usage; just make sure that you do not specify more than your system actually has.

Basics: browsing the images

As with most photo workflow apps, you have several methods of inspecting your image collection. Icons in the top left corner switch the app between filesystem tree, calendar, and tag views, and you can sift through the assorted photos in a 2-D grid, or a single "filmstrip" along the bottom of the screen.

You have full control over how much information blueMarine displays for each image, courtesy of the View -> Decorators menu. You can show file properties such as size and filename, image properties such as camera settings, and any metadata you assign to the file.

You can also assign basic one-through-five-star ratings for each image, and mark "keepers" and "trash" with simple keyboard shortcuts. Although blueMarine does not include editing functionality, the beginnings of such features are found in the image inspections tools, with which you can zoom in and out and magnify selected images.

You can create "galleries" -- image collections meant for sharing -- with blueMarine's Gallery Explorer. Currently, slideshow display is the only output format for sharing your galleries, but future versions of blueMarine are slated to add Web publishing as well.

BlueMarine supports a wide variety of image types, including most digital camera RAW formats. But the app does not try to monopolize your collection -- you do not need to "import" any images in order to inspect, rate, or tag them with blueMarine. Just navigate to them with the filesystem viewer and get started.

Advanced: tags and metadata

blueMarine excels in letting you exercise detailed control over your image collection with tags. Where many applications implement little more than "tag clouds" -- in which all text string tags are equally important and without meaningful context -- blueMarine uses a structured, hierarchical tag system to more precisely track image data.

The pre-built tag hierarchy includes location information, grouped by country, region, city, province, and place; photo specification information covering photojournalism and commercial categories like "news," "sports," "headshot," and "stock"; and editing information such as "fix exposure," "adjust colors," and other postprocessing details. For the casual user, there are also basic keywords such as "personal" and "family."

Most importantly, you can create your own tag hierarchy to fit your image collection and your work style. In addition to the tag name itself, you can create user-defined metadata fields with each tag, to provide greater detail than a single word alone would allow.

You can search through your photos via their tags using what the app calls the Catalog Viewer -- a browsing mode that steps through the tag hierarchy like an index. You can assign and delete tags by dragging and dropping or using the right mouse button context menu, and specify important tags to be displayed in the thumbnail browser.

If you install the latest blueMarine development snapshot, you will get a taste of the newest feature: a full-fledged image metadata explorer. The metadata explorer allows you read and edit EXIF and XMP metadata from image files themselves and from XMP "sidecar" files. In my tests, the development snapshots were not stable enough for me to recommend them for daily use, but it is good to see this important feature working its way toward stability.

Something different: trips and geography

One of blueMarine's most interesting features is its advanced geotagging support. You can assign geographic data to all of your images, and group them either by proximity or by "trips" -- chronological sequences of photos, useful for record keeping.

The traditional method of creating a trip is to designate the relevant photos manually, but if you have a portable GPS unit, you can create a trip by importing its GPS track data and letting blueMarine automatically select the correct photos by examining the timestamps in their EXIF information. You can also export your trips as KML files.

You don't have to geotag your photos in order to place them within a trip, but if you do, you gain the ability to plot them on the globe. BlueMarine incorporates a browseable, scalable global map viewer that can render locations using either OpenStreetMap data or NASA's open source World Wind toolkit. You can plot individual images on the globe or render GPS tracks, and you can view the results in 2-D or 3-D.

What next?

I asked Giudici about the future of the project. He maintains a rough roadmap via the project's issue tracking system, but because he is the only regularly active developer, predicting the timeframe of new features is difficult. Currently, many users are asking for image editing support, or at least the ability to open selected images in an external editor. That will come, Giudici says, but it is a significant enough addition that it may be a year or more away. The enhancement requests in the issue tracker include critical features such as a search tool permitting compound queries that are more important than image editing. After all, there are already several good open source RAW photo converters, and several open source general-purpose image editors. BlueMarine tackles a different, but no less important, piece of the puzzle.

What makes blueMarine worth watching is its attention to detail. It is clear is that Giudici knows what a high-end workflow tool needs, and he isn't cutting corners. Giudici writes about his plans for the app on the project site and in his own blog, revealing interesting ideas for the future. Take trip planning, for example. In this usage scenario, Giudici explains how he can use blueMarine to plan his photography outings in advance. It begins with tagging existing photos to mark their defects -- directly overhead sunlight too harsh here, trees in the way there, etc.. Then the app's calendaring and mapping capabilities can help you assemble an itinerary and shooting schedule, hitting the castles when the evening backlight is just right, or reminding you to revisit the park right as the spring plants begin to bloom. That is what I'd call really leveraging your photo collection.

But don't conclude that blueMarine is useful only for power users. If you are a casual photographer, blueMarine offers you easy-to-use image management features like tagging and gallery creation, and its Map Viewer is about as much fun as you can have with a virtual globe.


  • Reviews
  • Graphics & Multimedia
  • Desktop Software