Shotwell vs. digiKam

How to manage your photos? – That is probably the biggest question for anyone doing anything with a photo camera. As resolutions of cameras grow, the data we have to manage is ever growing. In my case I am talking about more than 50000 photos and videos measuring up to about 200Gb of disk space, constantly growing. There are several photo management softwares out there, I guess the most commonly used ones are Shotwell for the Gnome desktop, digiKam for the KDE world, and FotoXX. I have now used Shotwell and digiKam for quite some time, and collect here my experiences of strength and weaknesses of the two programs. FotoXX seems to be very powerful, too, but I haven’t tested it till now.
shotwell-digikam

There is no clear winner here, unfortunately. Both have their strength and their weaknesses. And as a consequence I am using both in parallel.

Before I start a clear declaration: I have been using Shotwell for many years, and have myself contributed considerable code to Shotwell, in particular the whole comment system (comments for photos and events), as well as improved the Piwigo upload features. I started using digiKam some month ago when I started to look for offloading parts of my photo library to external devices. Since then I have used both in parallel.

Let us start with what these programs say about themselves:

Shotwell is declared as a Photo Manager for Gnome 3, with the following features:

  • Import from disk or camera
  • Organize by time-based Events, Tags (keywords), Folders, and more
  • View your photos in full-window or fullscreen mode
  • Crop, rotate, color adjust, straighten, and enhance photos
  • Slideshow
  • Video and RAW photo support
  • Share to major Web services, including Facebook, Flickr, and YouTube

digiKam says about itself that it is an advanced digital photo management application for Linux, Windows, and Mac-OSX. It has a very long feature page with a short list at the beginning:

  • import pictures
  • organize your collection
  • view items
  • edit and enhance
  • create (slideshows, calendar, print, …)
  • share your creations (using social web services, email, your own web allery, …)

Now that sounds like they are very similar, but upon using them it turns out that there are huge differences, that can easily be summed up in a short statement:

Shotwell is Gnome 3 – that means – get rid of functionality.

digiKam is KDE – that means – provide as much functionality as possible.

Now before you run after me with a knife because you do not agree with me on the above, either read on, or stop reading. I am not interested in flame wars over Gnome versus KDE philosophy. I have been using Gnome since many years, and tried to convince myself to G3 for more than a year – until I threw out all of it but selected programs – but their number is going down.

Let us look at those aspects I am using: organization, offline, sharing, editing.

Organization

In Shotwell, your photos are organized into events, independent from their location on disk. These events can have title and comment and collect a set of related photos. In my case I often have photos from two or more cameras (my camera and mobile, photos of friends), which I keep in separate directories within a main directory for the event. For example I have a folder 2016/05.21-22.Climbing.Tanigakadake with two sub-folders Norbert (for my photos) and Friend (for my friends photos).

In Shotwell all the photos are in the same event, which is shown with title 05.21-22 Tanigakawadake Climbing within the 2016 year and May month.
shotwell-events

So in short – Shotwell distinguishes between disk layout and album/event names.

In digiKam there is a strict connection between disk layout and album names – 1:1. Albums are directories. One can adjust the viewer to show all photos of sub-albums in the main album, and by this one can achieve the same effect of merging all photos of my friend and myself. The good thing in this approach is that one can easily have sub-albums: Imagine a trip to three different islands of Hawaii during one trip. This is something easy to achieve in digiKam, but hard in Shotwell.
digikam-albums

Other organization methods

Both Shotwell and digiKam support tags, including hierarchical tags and rating (0-5 stars). Shotwell has in addition a quick flag action that I used quite often for initial selecting photos, as well as accepted and rejected. digiKam also has so called “picks” (no pick, reject, pending, accepted), and “colors” (not used by now). Both programs have some face detection support, but also this I haven’t used.

So in the organization respect there is no clear winner. I like the Event idea of Shotwell, or better, the separation of events from the disk structure. But on the other hand, Shotwell does not allow for sub-albums, which is also a pain.

No clear winner – draw

Offline storage

That is simple: Shotwell: forget it, not reasonably possible. One can move parts to an external HD, then unplug it, and Shotwell will tell you that all the photos are missings. And when you plug the external HD in, it will redetect them. But this is not proper support, just a consequence of hash sum storage. Also separation into several libraries (online and offline) is not supported.

On the other hand, digiKam supports multiple libraries, partly offline, without a hinch. I would love to have this feature in Shotwell, because I need to free disk space, urgently!!!

Clear winner: digiKam

Sharing

Again here my testing is very restricted – I am using my own Piwigo installation exclusively. Here Shotwell is excellent in providing support for various features: upload to existing category, create new category, resize, optionally remove tags, add comments to albums and photos, etc. (partly implemented by me 😉
shotwell-piwigo

On the other hand digiKam has a very barebone interface to Piwigo – you can upload photos to an existing album and resize them, but that is already everything. One also needs to say that the list of supported services in digiKam is by far longer than the one in Shotwell, but the main services (usual suspects) are supported in both.
digikam-piwigo

Clear winner: Shotwell (but I haven’t tested other upload services).

Editing

The editing capabilities of Shotwell are again very restricted: red eyes, resize, levels, ….
shotwell-editing

digiKam here is more like a photo editor software with loads of tools and features. I haven’t even explored all the options – maybe I can get rid of GIMP, too?
digikam-editing

Clear winner: digiKam

Conclusions

While I am still working with both, I actually would love to move completely to digiKam. I simply cannot stand the Gnome 3 philosophy of reducing functionality to a minimal for dummy users. There is a market for that, sure, but I am not one of it. Unfortunately, the missing Event support, and much more the completely minimal support for Piwigo sharing in digiKam is a big show stopper at the moment. Even after testing the upcoming digiKam 5.0 version for some time, I didn’t see any improvement wrt to sharing.

That leaves me with the only option to continue working with both programs, and hope to get a new bigger SSD before the current one runs out of space. Of course I could start hacking into the digiKam source – maybe I do this when I have a bit more time – to add proper Piwigo support.

27 Responses

  1. Interesting report, thanks.
    My usecase is a bit different, rarely watch pictures directly on the desktop after initial modification. Instead I create albums topicwise, a textfile with descriptions for the pictures, and run a script generating static html around the structure for presentation via internet.

    • Hi Christian,
      yes, I was doing this, too, for quite some time. But at some point I switched to Piwigo. The good thing of your method is that it is static, and quick. Sure enough. But I often watch photos also on my computer, including presentations via beamer/tv, and I would like to have comments and as much information inside the program, and not duplicated anywhere. And with Shotwell I can edit the event comment, and photo comments/titles, and the comments will be carried over to the Piwigo album.

      In addition, by writing the comments into the metadata (exif) of the images, both digikam and shotwell can work on them, and the comments don’t get lost in case of move.

      What I haven’t found a satisfying solution for are event comments in shotwell, which I don’t see a way to carry over into digikam.

  2. Marand says:

    digiKam here is more like a photo editor software with loads of tools and features. I haven’t even explored all the options – maybe I can get rid of GIMP, too?

    If you want to try living without gimp, you can use digikam’s editor as a standalone program by installing the showfoto package. If your use is fairly light it shouldn’t be too hard to make the switch, I think.

    Personally, I haven’t had to start gimp in years thanks to the combination of Krita and digikam; if one can’t do it the other can, and usually better. Which is good, considering gimp started acting really weird about my mouse (mousewheel won’t on canvas, clicking UI elements won’t work at random, etc.) after I got a pen display. Nothing else has a problem, luckily, so I just retired Gimp in favour of Krita with occasional showfoto (digikam) use.

    • Hi Marand,
      thanks for your tips, indeed, the digikam editor is quite powerful. I didn’t know about krita, and it seems not to be available in Debian by now 🙁 but I will keep a close eye on it.

      OTOH, I am used to gimp after many years of usage, so I might remain with it.

      Thanks and all the best

      Norbert

      • Marand says:

        thanks for your tips, indeed, the digikam editor is quite powerful. I didn’t know about krita, and it seems not to be available in Debian by now ? but I will keep a close eye on it.

        packages.debian.org shows versions of Krita in ‘oldstable,’, ‘stable’, and ‘unstable’, so you must be using testing. No idea why it’s not there, but it should show up soon since it’s in unstable. Packages automatically get moved to testing after something like ten days in unstable, right?

        And yeah, I was used to gimp too, but Krita is just much nicer to use overall. Fewer weird problems, better UI, more features, an impressive brush engine, etc. It’s had support for higher bit-depth images forever, and has a lot of more advanced layer features that people have requested for gimp but never gotten. It also seems to have more involvement with artists and other content creators, which seems to be helping drive its development in a good direction. 🙂

        The (potential) negative to this is that it’s more oriented toward creation than editing, though it’s flexible enough that it’s still usable for editing as well. It just makes the UI feel a bit different as a result. Still, between it and digikam I haven’t missed gimp at all. Definitely worth a try whenever it shows up in testing again.

        Either way, good luck with it. Also thanks for mentioning fotoxx; I had never heard of it before, so I installed it to try out later.

  3. Marand says:

    Damn, you’re right. I was in a hurry and didn’t notice that… I’m confused as well, and would be pretty concerned if I didn’t swap to using their Ubuntu PPA a while back. (I sometimes use stable, sometimes testing, so I usually want newer versions of Krita than Debian has)

    If you want, you can still get the not-quite-released 3.0 version to try out from krita.org, though. At the bottom of the downloads page there’s a link to a .appimage file — it’s a self-contained copy of Krita and deps that they’re using to distribute the pre-release versions of the new 3.0 branch. No idea how stable it is, but I do know it ran correctly in Jessie so it should be fine in testing and unstable as well.

    Shame that the 2.9 version isn’t in testing or unstable, though…that’s just weird.

  4. Thanks for that.
    I switched from F-Spot to Shotwell many years ago, when F-Spot stopped working for me. It was seamless, and for many years I have loved Shotwell. But in the last year or so it’s be so so SOO slow … i’m sorry to say, especially the rename and comment dialogues (i thought it was since i switched from Gnome to KDE, but even running it in a plain X session doesn’t help).
    I found your post today, and installed digiKam. I’ve always kept my photos carefully in folders, even though like you i love the shotwell “event” paradigm. So now i have 96,000 photos, with all my stars, all my tags, subfolders intact but events lost (which doesn’t lose much).
    i think i’m converted.
    Thanks.

    • Indeed, I see the same problem with large operations. The moment you come into the tens of thousands of photos it is a bit a pain. digiKam works *very* nice for me. I have events = folders anyway, with subfolders for photos from different people or cameras, but digikam allows to show photos from sub-folders, so that gives me the events.

      As I said, what I haven’t found very nice is the piwigo upload, that is the only thing I am complaining by now. And of course that the “event comments” are lost now.

      Thanks for your comments, and let me know more about your experiences!

  5. Teo says:

    You can have multiple Shotwell libraries, in different HDs for example and invoke them with the -d option. Sorry if someone stated that before, I didn’t read the whole thing.
    Cheers!

    • Hi Teo,
      thanks for the hint. This is indeed useful, but only slightly. What one wants is an automatic check whether the medium the library is on is available. Otherwise cross library movemnt, copy, search, etc is not possible.

      But well, better than nothing 😉

  6. Knut H says:

    The main reason for organising and manage your photos is to quickly be able to find the photos you look for. And it is to ensure that your photos are safe, that backups exist, and alternatives are held separate to the original (including detecting duplicates). The ability to render a photo is various ways is irrelevant – any photo editor will do and can be used as a plug-in. Shotwell has for ages been good at organising the photos, using the Jpg tags, date and time. Most of us seldom shoot more than a couple of photos every day, and it is usually of the same things – will receive the same meta-tag regardless. My daughter had a wedding that resulted in a couple og hundred emails, but these are simple to sort and she marries hopefully just once, making it an exception and not a rule. But I have thousands of photos of her, and bluntly tagging them or otherwise use facial recognition make sense together with some other tag “her+dog”.
    To organise by dates identifies duplicates. I can also enforce “originals should be read-only” and renditions stored separately but with similar tags so I can see them when I search.
    Microsoft has done a lot to crush intelligent data processing: The file hierarchy that holds the originals are the only original. None of these offer anything – and certainly not iPhoto. ShotWell and DigiKam starts on something and please do not place obstacles.
    I miss a tool to define a structure and manage the photos, and enforce a strong regime, including backup and network storage, these are close.

  7. I like to annotate my pictures and store them along. With Digikam, annotations are amazingly done. It stores them in a sidecar file and also has the option to write it to the photo file itself, if it supports it.

    Annotation is expensive and very time consuming. So I find this functionality of Digikam very important to my use case

    • Thanks for your comment, I agree! I tag all my photos according to a variety of criteria. I use shotwells meta-data storage in the photo file itself, which can be used by digikam, too.

      But in general I agree that I would like to switch to digikam, esp. since I don’t like the Gnome UX development of getting rid of all functionalities. Shotwell is in this respect still quite ok, but Digikam is much better. But it is, till now, very weak when collaborating with Piwigo – I looked into the code but it was not readable/extendable for me. And the ability to order photos into albums independent of directory structure is also something I really like in Shotwell.

      So in fact, I use both nowadays, for different tasks 😉

  8. Martin says:

    You probably do know that digikam can show images by date, timeline, people, geolocation etc., which is not quite the same as events, but could come close. You can also filter extensively.

    • Hi Martin,
      yes indeed, I know about that. I am contemplating to move the event structure to a tag sub-hierarchy (something like event/….) and use this instead of the event system of Shotwell.

    • Nick Clay says:

      I’ve only just found this very informative post – thank you so much. I notice the original post was last updated in 2017 and the last comment made in 2021; given how unevenly things move on in software development, it would be great to have a brief update, eg any significant developments in Shotwell or Digikam over last two years, experience of other apps like FotoXX…

      • HI NIck
        I am still using both, but honestly more and more digikam. digikam is improving steadily (and fast) while – to be honest – shotwell is somehow in sleep mode. Some modest development, but nothing big. So from my POV, I am mostly using digikam now since i can use it also to move photos around on the HD.

  9. MichaelW says:

    I use a ‘Collections’ tag with sub-tags to reproduce Lightroom’s Collections feature in digikam, which sounds like Shotwell Events.

    I just set up Piwigo and definitely prefer the Shotwell uploading implementation. It would be good to have so much functionality (folder making, for example) in digikam too!

    • Hi Michael,
      thanks for the tip with Collections, I will try it out. Concerning the Piwigo upload, yes, indeed – the shotwell uploaders is in much better shape (well, half of it I have written ;-), I guess I have to dive into the digikam code and improve the uploader there, too, that is probably the only part that keeps me from full-time switching to digikam.

Leave a Reply to Norbert Preining Cancel reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>