Book Report - "digiKam Recipes" by Dmitri Popov

For the past few weeks, I’ve been trying to update and organize my photo library. Fortunately, “digiKam Recipes” by Dmitri Popov is helping me learn a few tricks to improve that process.


Admittedly, “digiKam Recipes” is not a book that I would expect just anyone to pick up, nor would I encourage it. Despite the name, this isn’t actually a recipe book. It exists in the space somewhere between a user manual and a tips list for the digiKam product. If you don’t use digiKam, or ever plan on using it, don’t bother. If you don’t care about digital asset management (DAM), you will not gain anything from the book.

However, if you’re interested in improving the organization of your personal photos and videos, and you haven’t yet settled on a definite tool for the job, I might suggest this short work as a sort of high level overview of what it offers. Furthermore, if you use digiKam in any capacity already, I would highly recommend it. Novices might learn about new features they didn’t realize digiKam had, and experts might learn faster or more efficient ways to update their workflow.

So, what brought me to this point? I recently cleaned up my music collection when I moved everything to [http://jakehennett.blogspot.com/2020/12/google-play-music-to-plex.html] Plex. All of my music is in the same spot. I have one music folder on the server computer, with nested folders for artists and subsequently albums. The naming conventions are consistent, and everything is exactly where you expect it to be. I occasionally back up that folder to an external drive, but every unique music track that I have is in that folder.

When I add new music, I have a very definite and clear process to make sure everything is uniform. New tracks and albums go into an import folder. I run a move utility in Foobar to rename each file and put it in the proper folder structure. Once I verify that everything looks right, I copy those new folders into my existing collection and it fits right in. Truly, it’s a work of art.

My photos are…. Not like that. A few years ago, circa 2018 or 2019, I did try to get things mostly in order. I made a sorted photos folder, and an unsorted photos folder. Sorted, I divided by year, and subsequently by month and event. I put photos that I knew of into the unsorted folder, and moved them group by group into sorted. It wasn’t perfect, but it was better than nothing.

The problem I had was where to store these sorted and unsorted folders. I have a general philosophy on DAM that everything is in a central location, and it only goes onto individual devices for temporary use or updates. I put the folders onto a 5TB external hard drive that I have, but that made them slightly inaccessible. Furthermore, the entire collection wouldn’t actually fit on any devices that I have anyway. Maybe it would if that was the only purpose for the device, a la my Plex server. However, I didn’t have a device available for that.

Beyond the fact that it was an imperfect solution to begin with, it was also cumbersome to maintain. I started pretty strong, but quickly resorted back to bad data practices. I would forget to unload the SD card from my DSLR after an event, so I would just empty it out to a randomly named folder before the next event. And I wouldn’t even put these files in the unsorted folder, I would just dump them into a folder on my desktop to deal with later. Any solution that I can’t consistently follow my own rules on, really isn’t a solution at all.

Ideally, I wanted to go through and fix up the actual photo files. Go through and delete duplicates or bad quality images, rename them to something logical, and include the date in the name. A friend mentioned that he uses Adobe Lightroom for that purpose. That’s all well and good, but I don’t want to pay a huge sum for this tool. If I did photo editing for a living, sure. I just want my files organized better.

I did some research, and I learned that there are a number of free utilities that serve a similar purpose. Each had different strengths, but digiKam stood out to me for a few reasons. One, it is open source, so it is free and maintained publicly. Two, its main focus is being able to maintain large photo collections, easily up to 100,000 files. Since I didn’t really care about individual photo editing anyway, the weakness of digiKam in that realm was completely irrelevant to me. All in all, it seemed like digiKam was the perfect option for my needs.

I downloaded digiKam and started setting it up. Because of my DAM philosophy, I decided to put the photo database on my Seagate GoFlex portable external harddrive. That way, I could simply unplug the external from my Surface, plug it into any other computer with digiKam installed, and keep right on going. User preferences for digiKam are saved locally for the installation, but keeping the database on a removable drive makes it effectively modular.

Once I actually got into digiKam, I couldn’t really figure out what to do. One criticism that I have of open source software products is that they are rarely beginner friendly. When you figure out what you’re doing, they are incredibly powerful. Getting to that point of figuring things out, though? That’s the hard part.

Following the advice that most of my fellow software engineers give, RTFM (read the f*cking manual). I opened the html version and started skimming through it. Documentation covers individual features really well, but not necessarily how they combine into a cohesive workflow. I can figure out how to use individual features, but what do I do with the software as a whole?

The digiKam site specifically mentions “digiKam Recipes” as a helpful book, so I decided to investigate. For $9.99 on Google Books, it’s probably more than I would pay out of pocket, but I could spend my Google Play balance on it, and half the proceeds go directly to the digiKam product. If this software could help me get a handle on my unwieldy photo collection, I’d gladly throw five bucks their way in thanks.

After reading the book, and playing with the software some, I started to get a grasp on what digiKam is capable of, and how I should personally use it. Again, I don’t care about tweaking colors and saturation to get better looking pictures to publish. I want a tool that will help me organize my collection and better equip me to track down specific images years later.

One piece of advice, make a backup. In my experimentation, I definitely jacked up some meta data, and did things that ultimately didn’t work for my needs. For the most part, I had the originals available to start with fresh. In one case, I did not. Just realize, many of the things that digiKam can do are not easily reversible, and you want to make sure it accomplishes the goal that you’re seeking.

My Workflow
For the time being, I have come up with a sort of tentative workflow that seems appropriate for my needs. Right now, my goal is cleaning up my existing photo library. After I have everything up to date and collected to a single location, I may branch out some. Specifically, automated backups and importing new photos are areas that I need to investigate further. That’s something I’ll pick up in time, though.

My first step is saving off the original file name into the comment and caption fields of each file. I’ll eventually change the file name, but the original name is still valuable to me. Specifically, if I kept duplicates somewhere and didn’t rename those files, I can do a search by the original file name and find those. That’s also part of how I found images before digiKam. Google Photos has very powerful search tools, recognizing names and geolocation. I can search for keywords to find the image that I want. Then, I can view the details pane, and get the file name. Finally, I do a search on my photo library with that file name to find the original. That way, I get the usable Google Photos search, but I save space by uploading at reduced quality, and I can still get my hands on original quality when necessary.

Unfortunately, I can’t find a way to dynamically update a batch of comments within digiKam, so I had to find another tool for that. Exiftool is a command line utility that specifically manages photo metadata. It’s a little difficult to wrap your head around, but it’s actually really powerful and intuitive once you understand it. Plus, the creator is very active in the help forums, and it’s really refreshing to get assistance from the man himself.

So I start by copying (not moving, so that I still have the original files safe) photos into a sort of temporary triage folder. I run Exiftool on those to save the file names as comments. Then, I move those files into an import folder within my digiKam database.

I like to have the name begin with a CCYY-MM-DD date, so I can sort alphabetically and the photos still line up chronologically. After the date, I like a short description of the event, so I can tell what the photo shows even when I look at files in a list view. Finally, I like an incrementing index at the end, so I can specify which image I need by name, rather than by look. Once you figure out the method, digiKam can manage exactly this.

I select photos that I want to work with. Before I rename anything, I check the date/time metadata. Occasionally, I work with images that didn’t have the clock set properly on the camera. Conveniently, digiKam will let you update the timestamp to match the file name (common with phone cameras), or use an offset from the timestamp on the original image (for a camera with the wrong date or time). Even better, the adjust time tool gives a list of the file name, the current timestamp on the file, and what the timestamp will be after the execution. That way, you can verify that the date and time are what you expect before you change the files at all.

For some imports (and I’ll probably do this a little more liberally later on), I like to go through and clear out some of the junk. Photos that I took several shots to get one good image, I’ll look through and pick the best one, deleting the others. The light table tool is digiKam’s name for this functionality, and I still have a lot to learn with it. Ultimately, this allows me to cut down on the size of my collection, and get rid of images that I truly have no need to look at ever again.

Finally, when I have photos with the original name saved, and the timestamp fixed if necessary, I start the rename process. The digiKam rename tool gives a number of different options that dynamically update the name, and “digiKam Recipes” does an excellent job of explaining those. If you plan on renaming files, definitely skim through that. After the files are renamed, I move them to an appropriate folder location in my file structure.

And that’s it. After these steps, the photos are in a uniform state, and positioned where I would expect them to be. Eventually, I may go back and start tagging by subject. The facial recognition of digiKam is something I’m interested in, but I don’t see that as necessary right now. My bigger priority is getting all my photos in the right place.

About the Book
This is a book report post, after all, so I probably ought to talk some about a book. “digiKam Recipes” isn’t really a pleasure read. There isn’t a compelling narrative or helpful life tips. For the right audience, though, it’s honestly good stuff. At the $9.99 price point, with only183 pages, that might seem a little steep. But, if you look at it as half donation, half book cost, it isn’t awful. And if you already use digiKam, it can be tremendously helpful to read another take on some of the features, and maybe learn a new way to use the tools in your workflow.

There are several tips about photography in general, so if you are a casual or professional photographer, it may be worth reading. If you just want to do better about organizing your photos, the book can offer some inspiration there. Plus, there are some analog features in other software products, so it may shed some light on tools that users already had access to, and just didn’t know about. Finally, if you’re pretty invested in another product, but considering digiKam as an option, this book can give a sort of simulation of use. That way, you can determine if digiKam might be a better fit than your current utility of choice, without spending the time and effort to migrate your photo library over and actually installing digiKam.

On the other hand, “digiKam Recipes” is NOT a tutorial. It isn’t a beginners guide, or a best practices discussion. If you go into it blind like I did, you aren’t going to suddenly have the light bulb come on over your head and know exactly how you want your photo library to be organized, or what you need to do to get it there. This book tells you how individual features work, but not where to start, or how you should use them. There are tons of different organization and naming schemes, so you need your own ideas of how your system should work.

The best thing that I can recommend is to use the software and the book in tandem. Play around with the product, and skim through the book a little bit. For me, everything has come together in a sort of organic growth of knowledge. As I use digiKam more, and figure out things that work for me, I’ll probably read the book again later and learn something helpful that I didn’t catch the first time. Just don’t think that “digiKam Recipes” alone is going to make you a power user immediately. There is definitely a learning curve to overcome.

Sources:
Popov, D. (2014). digiKam Recipes. tokyoma.de.
https://blog.containerize.com/2021/05/28/beginners-guide-to-start-free-image-editing-using-digikam/
https://docs.kde.org/trunk5/en/digikam-doc/digikam/index.html

Comments