Metadata browsing in darktable

A powerful metadata browsing capability is IMO essential in a DAM solution. I think bibble5 is quite powerful and its interface is almost there, but sometimes lacking a bit. It also only provides for one way of organising ones tags/keywords. So although my ideas are somewhat inspired by bibble5 they also go quite a bit beyond it.

First what metadata do we want to browse.

1. Film rolls (these are essentially albums and just a special case of metadata IMO)
2. information taken from image exif, such as aperture, shutter speed, focal length ... Date and time is probably one of them as well, however it is better dealt with by a timeline browser.
3. Data that we added to the files. These are ratings, colour labels, and (hierarchical) keywords. IPTC data probably also belongs here.

For exif data, ratings, IPTC data and colour labels things are quite straight forward, these almost always fit best into a tree view. However, with respect to keywords or tags there is essentially two approaches. Some people like to tag their images very hierarchical i.e. People|Friends|Sarah, why other people don't use any hierarchy at all, i.e. tagging simply Sarah, Joseph... The first group is best served by tree-view browsing, the second group is better served by tag-clouds, i.e. a list of words with different font sizes depending on the amount the words has been used.

To allow both groups (and people in-between) to work productively a metadata browsing interface should, allow switching between the two systems. However it should be possible to look at a hierarchically tagged library using a tag cloud and vice-versa without loosing significant functionality.


Add the metadata browsing to the library panel on the left and add a small presets button to switch between tree-view and tag-cloud browsing.


The layout of the typical library panel with tree-view metadata browsing is shown in figure 1.

It still contains the import buttons, the recently used film rolls list. The all film rolls list. The open and remove buttons have been removed. I think they are redundant clicking on a film roll should open it. Selecting a film roll and clicking delete should remove it. Also with respect to the recently used film rolls, this could be changed to recently used metadata browsing.

Below the film rolls list is a new tree-view for metadata browsing. It contains the main categories: Exif, IPTC, Rating, Colour label and Keywords(tags). Each of these can be expended. Now to select images there are essentially two operators we have to allow, AND and OR.

The OR operation is shown in figure 2, essentially by selecting specific tags/keyworks using either shift-left mouse button or ctrl-left mouse button, we select different tags, these tags are combined with OR and all images matching this query are displayed in the centre. Note this also applies to the selected film rolls, however the operation between film rolls and metadata tags is always AND. So in this example all images from the film-rolls (Wedding1 or Wedding2) and (Aperatures F1.4 or F8) will be displayed.

To perform an AND operation we use the double click. However it acts slightly differently. In figure 3 all film rolls are selected. If we now double click on the Groom, its keyword is highlighted in a different colour, and the keyword list is updated to only display keywords that are on images with the keyword Groom (figure 4).

Note that the film rolls list has also been updated as there were no pictures with the Keyword groom in the Test film roll. We can now select multiple other keywords using ctrl-left mouse, e.g. to display pictures of the (Groom) AND (the Bride OR the Mother of the Bride). The double click therefore corresponds to something like an operation like (Selected object) AND (everything we are selecting now). If we now double click on a second item, e.g the mother of the bride, the display will be updated again to only show photos (and keywords) with the groom AND the mother of the bride (figure 5). Now what do we do in the case when we had already selected the mother of the bride with ctrl-left mouse button, and now double click on the groom. This case will be different to the above, it is now (groom OR mother of the bride) AND (...) and the colours are slightly different. This is shown in figure 6, note that the ceremony tag is still displayed, although we did not have images of the groom and the mother at the ceremony.

Further comments:

  • A double click on a red item should unselect it.
  • The clear selection button clears all selections.
  • If no film roll is selected when some tags are selected, all film rolls should be selected automatically

Tag cloud

Figure 7 shows the library panel in tag-cloud mode. In this mode the keywords are displayed as an alphabetical list, with different font sizes depending on how often they appear. For hierarchical keywords all levels are displayed as single keywords. However on a keyword it will display the full hierarchical keyword as a tooltip (figure 8). If there exists two hierarchical keywords, with the same last keyword, e.g. People|Friends|Susan and People|Family|Susan both will be displayed and you can distinguish between them using the tooltips. Otherwise the tag-cloud view acts the same as the tree-view.

Some discussion points

  • It might be worth putting a touched/untouched category into the metadata-browser. Possibly even what plugins where used in adjusting that image. This could also be achieved by automatically tagging and image with a keywords such as Processed|Cropped, which would make for very powerful browsing to find different edits. Although this should probably be optional.
  • Maybe the recently used film rolls should better be recently used tags?
  • In addition to double-click/ctrl-left mouse button there should also be and AND and OR button below the panel?
  • How to handle complicated AND/OR combinations, e.g. if one selected (Groom OR Bride) AND (Reception OR Ceremony) both with double click. Maybe use different sets of colours?
  • A textbox to enter search terms directly would probably also be good
  • In this proposal the metadata browser is part of the library panel. Because it needs quite a lot of space, maybe the metadata info panel would need to be moved.
  • I've not explicitly include dates in the exif data, I think dates/time would be better served by a separate timeline browser, maybe similar to the one in fspot. However it could also easily be part of the metadata browser.
  • Also note that in the mockups I've only included some of the exif metadata,there is quite a bit more.
  • The same panel could be used for applying the metadata (select images in lt mode, search for keywords/IPTC metadata, apply) with some clever method ("set" or "add"). This would also require an option (right-click + add new tag) to add new keywords/IPTC info to the existing hierarchy.
  • Obviously this is just my thoughts on what I think would make a perfect way of accessing metadata. Other people probably have quite different views on this. I've also no idea how difficult/easy this would be to implement. So consider this my contribution to the discussion.

Flame away ;)

Also available in: PDF HTML TXT

Go to top