Darktable is an open source
raw photo converter with built-in image-library-management features,
which puts it up against stiff competition. Previous releases boasted
a wealth of functionality but were hampered by the application's
peculiar user interface. The just-released 1.1
makes big strides forward in usability while still adding several
interesting new features. The new features include front-end
functionality, plus a command-line interface and GPU hardware
acceleration through OpenCL.
We last looked at Darktable in
November 2011, shortly after the release of version 0.9.3. At that
time, the application offered a substantial collection of photo
adjustment tools via plugins — including several tools not
offered by competing raw converters like Rawstudio or RawTherapee.
But the interface made them difficult to use: unlabeled controls,
nonstandard widgets and status indicators, and a plugin selection
palette composed entirely of cryptic, similar-looking logos.
Consequently, the biggest news for most users is that Darktable has
evolved into a far more usable product, with interface updates
touching most areas of functionality.
All of the same plugins and their icons are still available; they have
simply been organized into a scrollable list, with the name of the
plugin next to its logo. The downside is that it might look a wee bit less like a TIE
fighter's control panel — but it is far more usable.
Darktable's editing interface allows you to stack multiple
adjustments on top of each other by activating their plugins. This
approach is different from the model employed by other raw editors
(Rawstudio, for example) in which the adjustments available are
presented as intrinsic qualities of the image. In Rawstudio's
approach, for instance, an image has one tone curve, and you can
change it or leave it alone. In Darktable, you can adjust the "base
curve," but you can also apply (for example) high-pass or low-pass
filters, each of which adjusts the curve in its own particular way.
Order is important in Darktable's approach; if you desaturate an
image then try to adjust its color balance, you will not have much to
One of the benefits of Darktable's approach is that the developers can
implement quirky and original features as plugins — effects that
incorporate several types of adjustment at once. In older
Darktable releases, though, some of these unique effects filters exhibited
the most troublesome usability hangups. The new release fixes almost all of
the issues: most of the curves, axes, and units are labeled, and in most cases
it is clear what effect changing a widget will have on the image.
Where controls remain unclear, there is usually a pop-up tooltip with
a decent explanation.
Many of the controls now feature a combination label-slider-spinbox
akin to the "spin scales" (or as I call them, "spladers"...) now found in GIMP.
There are new plugins and adjustment features on display as well,
blending — which is precisely what it sounds like.
Conditional blending allows you to apply a blend mode (e.g.,
"multiply" or "soft light") only to regions of the image that fall
within a particular color or brightness range. There is also a nice
equalizer plugin that enhances local contrast, bringing out small
image details without radically affecting the overall tone of the
Speaking of user interfaces, the 1.1 release also introduces a command-line interface, darktable-cli. At the moment, it is only capable of resizing images, but the potential for using Darktable in scripting is intriguing.
Those of us not blessed with obsessive-compulsive tendencies tend to
let our file storage get messy. In the old days, photographers would
have called this the "shoebox problem" in reference to stacks of boxes
filled with negatives and prints. A fully digital workflow alleviates
this to some degree, but hunting for a half-remembered image in the
desktop environment's file manager remains a slow and frustrating
ordeal. Although an entire category of application has sprung up to
offer a hand (the "image manager" like Shotwell or Digikam), most raw
photo editors are still forced to incorporate some file collection
management and search functionality, simply to save the user from
switching back and forth repeatedly.
Darktable 1.1 adds muscle to its file management skills. By far
the flashiest new feature is similar-image-search, which scours the
database of imported image files looking for photos that appear
"similar" visually — as scored by histogram, color, and lightness . I
am particularly partial to this feature because it was one of the main
selling points of imgSeek, a now-defunct project that was the subject
of my first-ever published review,
and remains a rarely-seen feature.
As was the case with imgSeek, the results of similar-image-searching
are imprecise, but if you have imported your entire collection, it
would surely assist you in finding the odd mis-labeled image buried in
a strange directory.
Darktable also allows you to categorize images in
"film rolls" (which despite the now-archaic terminology are merely
named collections), in addition to applying keywords, tags, and other
metadata. How keywords differ from tags is not explained, other than
the fact that they reside on opposite sides of the screen. What
is more distinctive is support for
geotagging images, complete with a colorful map widget. The map
feature is not fully integrated into the other image management tools
— instead, it is one of the four top-level application tabs (the
other three being image management, photo editing, and tethering).
Finally, the application has a new "Group images" mode (which is
toggled on or off with a G button in the upper toolbar)
which, when activated, hides redundant images, such as the JPEG
versions of existing raw photos.
Darktable 1.1 thus gives you multiple ways to find the image you are
thinking of, based on automatic or user-assigned metadata, image
properties, and the photo's point of origin. The application also
gives you quick access to common editing tasks from within the image
management tab. Direct export is the most obvious task, but Darktable
can also take a select set of differently-exposed images and blend
them into a high dynamic range (HDR) image, or it can immediately
apply a user-defined "style" with one click of a button. These styles
amount to templates; to define one you select an image to which you
have made changes and save its current state as a new style.
Shoot first, accelerate later
The last of the new user-visible features in the new release is
support for live previews in tethered shooting mode. Tethered
shooting refers to capturing images from a camera connected to the
computer over USB. There are several practical reasons for tethering,
including the ability to see larger and higher-quality output than can
be displayed on a camera's LCD screen. But tethered shooting
can also be helpful when setting up complicated studio shots, such as
time-lapses, macro-photography, or tricky-to-capture phenomena
(imagine capturing the arrow-striking-an-apple shot, for instance).
Live preview makes setting up and double-checking these
carefully-managed shoots far simpler.
Darktable 1.1 has new features under the hood, too. The most
prominent is support for GPU-based hardware acceleration, which
arrives courtesy of OpenCL. OpenCL support benefits users by
speeding up image transformations. When working with high-megapixel
raw images, every speed increase is important, because users want to
see even minute changes in settings reflected as soon as possible
on the screen. The trend in camera-making is to add more
megapixels with every release, of course, and these days the low
end of the price spectrum offers more pixels than the high end did a
few years ago — so time-saving is not the concern of
professional photographers alone.
Darktable, like GIMP, uses the GEGL library to perform image
transformations. As we mentioned in
May 2012, GEGL has been slowly but surely adding OpenCL support to its
operations in recent years, most recently through the work of
developer Victor Oliveira. OpenCL "kernels" are functions which can
be executed in parallel on GPUs or CPUs, and they are
architecture-independent (unlike, for example, NVIDIA's CUDA). Thus,
systems with a supported GPU automatically get GPU acceleration, but all
multi-core CPU systems automatically get multi-threading, too. At the
moment, the proprietary graphics drivers from NVIDIA and ATI offer the
best support for OpenCL, although the Nouveau driver project is making
progress on its own.
The list of changes since the Darktable 0.9 series includes other
features, too, but the most significant for the average user will no
doubt be the improved user interface. There are still quirks, but the
team has done an excellent job of fixing the biggest usability
blockers — and doing so without sacrificing the design aesthetic
that earlier releases established. Darktable's approach to image
editing has always been different from the other open source raw
converters. When its own user interface does not get in the way, it
makes a much stronger case — and, more importantly, it lets the
user experiment with the unique features, and stumble across
to post comments)