New User Thoughts on Darktable After a Month

This’ll be a long rambly post, so apologies on that front. I’ve been using exclusively darktable https://www.darktable.org/ to process all my digital and film photos the last month as a challenge to myself and as part of an ongoing effort to minimize my reliance on Adobe. Thought it’d be good to try and organize my thoughts and feelings on it into a post and see what others think, so here I am! My use case during this span has been a couple of big event shoots with around 3-4000 photos each, about 5 rolls of color and black and white film, a few graduation shoots, and some relaxed walkaround pics when weather’s been nice. I think it’s a decent smattering of common photography use-cases. I’m coming at this as someone that’s been using Lightroom for just about a year, and as a big FOSS and photography nerd.

My initial impressions were really negative. The UI/UX leaves a lot to be desired, and the software defaults to the minimum processing needed to show a RAW file on screen so the user has to make all the adjustments themselves. The lack of right click context menus across the software is a real missed opportunity, and it took a bit to figure out how to bind my own keyboard shortcuts for actions. The Lighttable view (analogous to Lightroom’s Library) has a few unclear labels/buttons, I can’t fathom the zoomable lighttable view, and the dynamic culling view sat utterly unused.

Documentation is actually really good! Most all of the modules have solid manual pages telling you what they do and how they do it, and the UI has a handy question mark button that lets you click any element and immediately go to the online manual. My biggest gripe here is there’s a lot of technical documentation on what and how things work, but not much on when or why an end-user should use them. When should I use Contrast Equalizer vs Local Contrast? What about Sharpen vs Diffuse and Sharpen? How do I tweak Diffuse and Sharpen to reduce some haze in my image while also adding some local contrast? No idea! I’ve had to figure the former two out via trial and error, and frankly still don’t know how to wrangle Diffuse and Sharpen beyond using its presets and stacking a few copies of the module.

Culling in darktable is really good once you can wrangle it. For my big shoots, I’d import them into my library, use the darktable-generate-cache command in a terminal to generate all my previews while I left to make a sandwich, then once I was back get to culling. I really like that I can assign multiple color tags to an image, and stars work as they do in every other piece of software. I’d use culling mode in a fixed layout set to view one image at a time, mark the image however I’d like, repeat for however many I’d need to review. This part takes about as long as it does in Lightroom for me, so points there. There is a keybind for assigning the last Keyword you used to another image, but not one to let you assign an arbitrary keyword with any key, so I’d usually save keywording images to the very end.

Once culled, editing is equal parts frustrating and joy. Darktable defaults to applying only the processing needed to render a RAW file to the screen, so they will always start off looking flat and low-contrast. The recommended way to get a starting point if you want a more appealing image is using the built-in Styles to apply some modules that try to match what a given camera’s JPEG processing looks like. For my Sony A7RV, the designated preset tended to blow images out and I preferred to start from scratch, but my Fuji X100vi’s preset tended to get much better results. Try them out, see what works for you. Once you find a set of baseline modules/edits you want to apply to most images, it’s easy to make a Style out of them and have DT apply them to images on import.

The module-based editing is at once DT’s killer feature and Achilles’ heel for newcomers. Modules are applied from the bottom to the top, you can have multiple instances of the same module at once (useful for masking or using multiple presets from the same module), and there’re a ton of processing modules to cover most anything you could want to do to your image. My minimal set ended up being Exposure, Color Calibration, Denoise(profiled), Lens Corrections, Color Balance RGB, Filmic RGB or Sigmoid, and Local Contrast, and I’d often include Color Equalizer or Tone Equalizer on top as images called for them. In order, these handle the Exposure adjustments, the white balance/color calibration of your image, removing luminance and color noise, color balance/global contrpartast/saturation, tone mapping (how the software maps the dynamic range of your RAW file to brightness values on a screen), local contrast in highlights midtone and shadow areas, more color tweaks but with a different UI/UX better suited to grading individual tones, and dodging/burning regions. I’m a relatively new Lightroom user, having only picked it up in the last year and not being too used to the UI, but darktable initially took much longer to get images I was happy with since while LR presents most of its basic edits on the right side of the Develop module, DT asks you to use the various module tabs to find and enable different tweaks to for the pipeline. The quick-access panel does exist and has many of my preferred modules in it, but I hardly used it since it presents a truncated version of each module, and I’d often need the controls quick-access hides. White balance is also a bit of a bear. I’ve found I can’t consistently copy + paste tweaks from White Balance or Color Calibration across images without them being very off until I go into Exposure and make some tweak to re-calculate the image, or just manually reset White Balance to “as shot to reference”(in-camera WB essentially) on a per-frame basis.

But once i’d found what modules I generally needed, and set up a style with my minimal set, and configured the modules tab to better fit my workflow, and learned what my go-to modules did, and learned how to use them, and how to use the masking tools to make more focused edits, it’s great. The masking tools absolutely blow every other RAW processor I’ve tried out the water and it’s not even a contest. Parametric masks alone let you pin masks down to exact regions of luminance, RGB ranges, general chromaticity, and hues, and once you dial in a mask for whatever you’re trying to apply that module to, it’s really quick to copy + paste it across a bunch of images you want the same targeted-edit to. A good example is I had a few photos of someone in a yellow dress that seemed really desaturated compared to the rest of the image. Made a mask set to the range of tones the dress tended to have, bumped the saturation and contrast to midtones over the masked region, and could copy that module across a few hundred photos knowing those tweaks would only apply to that one exact dress. For individual images, Drawn masks mean you can fine-tune a parametric mask for what you want to cover way more quickly, and making a good mask only takes a few seconds, no AI trickery needed. Most of the more-complex modules do have solid presets to cover common use cases baked-in, so it’s not too bad to use them for common edits. Being able to apply multiple copies of the same module means it’s easy to have a few copies of the same module for individual tweaks, maybe one instance of Color Balance RGB to add some blue to the shadows, one for handling global contrast, one for tweaking the red tones in some shot. The profiled Denoise has presets for my specific cameras at every ISO and is really solid at knocking out most of the luma and color noise across my ISO range. Not as good as an AI denoise, but also much faster and reliable. Color Calibration having a built-in way to calibrate to a color target is super handy for getting a neutral base point to edit on top of. Tone EQ has a delightful UI where it splits the image into 8 equal zones, then you can just mouse over a part of the image, scroll a mousewheel, and it’ll dodge or burn that zone while smoothly tweaking nearby ones. This’s a great way to make quick brightness edits to an image or add some contrast and it’s come in handy a ton. Highlight reconstruction in Filmic RGB is also genuinely really great for digital images and is a personal highlight. Similar things apply to most modules I’ve used; the UI/UX varies, but once you learn what they do and how they work it becomes a great tool to edit images. It’s finding what ones you need, which ones fit your preferred workflow, and how to use them to get the result you want I’ve found difficult, and I can’t easily excuse the long series of “once I did X” before I could get comfortable making edits. Very much “designed by programmers” program rather than a UI/UX-first approach, and ease of use is clearly not a priority.

I do a lot of film photos, and I feel the need to call out Negadoctor in particular for a moment. The praise I’ve given a lot of the other modules can’t be given here. It works to invert color and black and white film negatives, and that’s about it. It’s exempt from the “how to use it” comment I’ve made on its documentation earlier, as its section in the manual does a good job explaining the intended workflow darktable user manual - negadoctor. For black and white, it works well and is pretty easy; white balance on a section of film border or other black area, set your DMin and DMax, and a simulated photopaper grade in the “print properties” tab before using other processing modules above it to make further tweaks. For whatever reason I’ve found it doesn’t output in monochrome, and have to tack on an instance of Monochrome after it. For color? Holy hell is this module frustrating. It’s passable so long as every frame you scan has a section of film border to sample as then I’ve an easy way to set DMin and film base, but gods help me if I don’t. Got any dust on your negatives at all? DMax, Scanner exposure bias, print exposure adjustment, and highlights white balance can be thrown wildly off so you’ll either have to adjust the slider manually or narrow your image sample to a small area. Even without dust, I found the shadow and highlight color tweaks in the Corrections tab to be inconsistent and overly-fiddly, and I’d usually just set them then use Color Balance RGB to fix hue issues. Talking to some other people, this isn’t an uncommon experience, and a few folks found it easier to just manually invert the negative using RGB Curve than use the designated “invert negatives” module, and coming from Negative Lab Pro where I can invert most negatives in a few seconds to needing to spend about a minute per-frame tweaking negadoctor for a minimal invert is endlessly frustrating. I tend to like the results from negadoctor a bit better, but it taking many times the amount of time to edit a frame is a massive nuisance. If I can get past that point, the silver lining is I then have access to every other module in DT with all the bells and whistles, vs NLP where you need it to make all further tweaks since LR’s native sliders will impact the intermediary TIFF and not NLP’s output.

Overall, I’m really mixed on this software. I genuinely want to love it as it’s FOSS, gives experienced users a ton of control over their RAW processing, has a number of features absent from other RAW software, is easily available on Linux, and has had me learn quite a bit about image processing and color theory. There’s a lot going for it, and after using it for a month I find I have a lot of things I miss about it when editing in LR. On the other hand, the UI/UX is consistently inconsistent and requires watching a ton of tutorials to come to grips with, names are consistently confusing (why does Add to Library import to the library in-place but Copy & Import do what it says on the tin. Why does diffuse or sharpen cover bloom, denoise, lens deblur, sharpening to counter debayering artifacts, and local contrast, etc), there’s no easy “Sync edits made on current image to all selected” forcing you to either copy+paste edits or make them a style to apply across a selection, among others. I can and have given Lightroom to photography newcomers, and gotten them up and running and able to make modest edits within an hour or so. I’m a huge photography and programming nerd, and it took me about two weeks of forcing myself to use this software to get kinda-comfortable. A newcomer to photo processing would probably bounce right off of DT, and I couldn’t blame them. I’ll likely be sticking to it going forward now that I know it since it is powerful and flexible software, but I’m doing so in spite of a lot of issues I have with it because I dislike Adobe more than I find DT frustrating. I’ve done my best to engage with existing reference material and really learn this stuff, but man it’s been a bear.

My biggest takeaway is I’d want to see a team of proper UI/UX designers do a pass (or three) over darktable as that’s been my biggest single issue with it. This’s far from a problem exclusive to it in the FOSS world, but as-is I see that as the biggest barrier between someone picking it up and being able to rely on it as a tool in a reasonable amount of time.

Look forward to hearing other people’s thoughts on the matter, and I’m happy to answer any questions people might have!

10 Likes

Welcome to pixls.us, @Flameslicer

Good to be here! I’ll likely stick around and contribute to the occasional play_raw thread if I spot something neat.

2 Likes

Welcome to the forum and thanks for sharing your thoughts.

Have you tried the Sigmoid option for “Auto apply pixel workflow defaults” in Settings? This should give you quite a nice starting point. Other than that though, Darktable’s philosophy on this has always been to give the user maximum creative control and not to pre-process the image for you. I doubt this will ever change.

This module is rather an outlier for how complicated it is. Very few people would claim to have mastered it, and most people just use the presets. It’s a tool to be used if you like, but I don’t think it’s a good example of the “typical” Darktable module.

I’ve used this module extensively, and I feel your pain. It could probably do with an update or three, but the original author of the module has left the project. However, you can just invert your negative with it and then use all the other modules to do the rest of the work. I barely spend any time in it anymore, and do most of my work in Color Balance RGB, which can handle exposure, contrast, colour grading, etc. The beauty of Negadoctor is it just fits into your RAW workflow without a round trip or messing with file types.

I’m sure a lot of people would want some professional UI/UX designers helping out, but we have to wait until some of those people show an interest and are willing to work on it in their spare time for free. Until then, we make do with what we have, and it becomes much less of an issue over time. I know it puts some beginners off, but people who want to learn the software generally stick around and become less bothered by the UI after a while.

And if you are a programmer and feel you can contribute in any way to the software’s development, feel free to look at the code and join the team on Github.

Hello and welocome @Flameslicer. We have had this conversation a number of times and you’ve generally said the same thing as most other posts in this genere. I don’t mean that to be rude, but you’ve hit on some fundamental points that are hard to improve upon and/or “we like things the way they are.”

We generally eyeroll when we get the feedback that the “ui/ux is bad” – mostly because this statement doesn’t mean much. We can only act to improve things when the criticism is actionable. All of your feedback about the ux/ui lacks the proper detail to be actionable, and we can’t (and won’t) guess what you mean. The other issue is that about 50% of the people who give that feed back feel like the solution is to clone the Light room/Capture One/"preferred editor " UI 1:1, and the answer to that is “no thanks.” I’d urge you to try and provide enough detail to be actionable (its harder than you think).

The second question, and I am sure there are many feelings about this, is “who are we building darktable for?” And the answer that I consistently come to is “the people who show up to put in the work, provide feedback, test, and provide more feedback.” I think this answer is somewhat opposed to “new users” since it seems like we think about new users seldomly.

Darktable is not easy, but it is simple. There is always a trade off between easy and over all power, and we certainly tend towards overall power.

These kind of people don’t often work for free. And if they can’t offer code contributions, then that makes it even more difficult, as someone else will have to pick it up and code it.

But you are right, this is something by nerds and for nerds. The underlying UX philosophy that underpins darktable is that our UI controls don’t tend to stray very far from the underlying algorithm, and that does demand a certain amount of technical profecency. I think it’s great we occupy that nitche, there really isn’t too many other applications that offer that kind of thinking (the others that do are also FOSS and often get the same criticisms).

3 Likes

Note for the rest of our users: this thread will be locked at the first sign that it’s heading south; we’ve had this conversation a lot and there is no need to rehash the worst parts of it for the 40th time. Be kind, be excellent to each other.

7 Likes

I personally migrated from Lightroom to DT. I never knock LR because adobe have done a good job creating software that with a few tweaks gives the working professional a saleable image. But LR is a black box for the most part. You have a slider that brightens shadows but the how and why is hidden. But for most users that is fine and can be seen as a strength rather than a weakness of LR.

On the other hand I see DT as a real artist tool and the complexity of the modules and the ability and even need of user imput is the strength of DT and the attraction to a user like me. What is the deal maker for me that made DT my #1 choice is how nearly every module has drawn and parametric masks to localise adjustments.

The inbuilt darktable camera styles are the work of a single contributor using the filmic module for tone mapping. I was inspired by this work and created my own camera styles for my Canon R7 and Canon G16 using sigmoid module for tone mapping. I started off by opening up the JPG from the camera and taking a snapshot. I then opened the RAW file and set the exposure module to match the JPG. I then tweaked contrast and saturation to match the JPG. I had to do some individual color tweaks in color zones to increase specific color zones saturation to better match the JPG look. I included local contrast, shadow and highlights module, denoise (profiled) and basic sharpening and saved the picture style. This now gives me a nice starting point rather than a flat looking image. I am yet to do it for all the cameras I own but I will as it is a very worthwhile exercise. And the beauty for me is that I still feel I am the creater of this editing style and not just a consumer of some presupplied editing style.

DT is a great program. Take the time and master it. Also feel welcome to discuss some thoughts on what could make it better, but remember the program is created by the generosity of volunteers who have day jobs and are not trying to clone another piece of software. Occassionally I make suggestions for what I would like to see and respectfully half of my suggestions are rejected but I have seen others implemented if the developers saw the benefit of the feature. It is probably best to suggest one feature at a time to get the attention of the developers and consensus of the users. Less can be more in this case.

1 Like

Welcome to the forum, @Flameslicer, and thanks for taking the time to convey your thoughts thoroughly. You’re joining the ranks of us who have come to dt, got frustrated and posted a long rant about it.

However, my frustration and rant was not about the UI. As I had/have not used any other kind of image processing SW, I had/have no expectations about what the UI should be like. I have just accepted what is there and sought to learn how to use it. So my first reaction to what you write is: How much of what you write before your “But” would be there if you just wasn’t used to something else from before? (Over the decades I’ve come to the firm belief that complains about UI, (including the usual “intuitive”, that you did not include), for the most part is a question of what we’re used to or otherwise prior learned – which doesn’t mean, though, that there at times may be more objective reasons for judging something to be good and bad UI/UX.)

As a beginner with dt I also learned/accepted that dt is not trying first and foremost to be the Instamatic* of image processing software. However, there still were certain aspects with dt that appealed to me, and I also accepted that to obtain some user proficiency I had to do some learning.

My rant was about that, with such acceptances of mine, I anyhow found it hard to find all the stuff I, as a total novice, needed to learn. I also felt there was a certain expressed attitude that I should not expect to understand/learn dt unless I had prior experience from other imaging processing.

How fast you have come to know about dt within a short time (from my perspective), may possibly prove such attitude right … , but my thinking has anyhow been that it may be possible also in a fairly straightforward way to learn darktable from scratch given the right guidance.

You seem also to react in the same direction.

Dt being FOSS, we are now some who spend some effort seeking to contribute to this side of dt, – being grateful for all that we have got from the efforts of others. So, in addition to the other responses you have got, I add that you’re welcome to contribute to the documentation side, also.

*In case you don’t know: Kodak’s mass market success with simple cameras with film cassettes marketed under a slogan akin to “So easy that even mother can make it”.

there‘re plenty of YouTube tutorials explaining how to use darktable in different use cases. And most of them doesn’t need dozens of modules to achieve a intended result.
It like a big toolbox - once you know, which tool you need for a task you will be glad to have e.g. a whole set of screwdrivers to pick the most suitable one …

1 Like

Welcome! As a grizzled old veteran of about four months using DT now, I encourage you to stick with it. I had initially tried it two years ago and quickly gave up. I found it incredibly unintuitive but I also knew little about RAW processing and the last time I had done any photo stuff was nearly 20 years ago when Lightroom was still in its infancy and I was using GIMP while also not really knowing what I was doing with that either.

But after trying darktable again a few months ago something clicked. I’m far from an expert but the journey has helped me learn a lot more about photography and RAW editing than a million clickbait Lightroom videos could ever do.

With Lightroom, I found it very easy to quickly create images that I would consider “pretty good”. But I found it very hard to move beyond “pretty good” toward what I’d consider “great” images. Darktable on the other hand was initially hard to reach that “pretty good” baseline, but really helped me move towards “great”. Local edits just never really made sense to me in Lightroom but darktable’s masking and module duplication features really let me think in terms of more specific and atomic changes.

At this point my personal issues with darktable are generally either minor annoyances or just knowledge deficiencies on my part. It’s worth sticking with it though.

Two settings that greatly improved my experience greatly:

Lighttable → Enable smooth scrolling for lighttable thumbnails (This prevents the lighttable view from “snapping”, which I found really annoying though others would argue the opposite)

Miscellaneous → Mouse wheel scrolls modules side panel by default (This keeps the mouse wheel from changing sliders and instead scrolls the modules panel. I never use the scroll wheel for changing sliders and modules like diffuse or sharpen can be really annoying to navigate between the header area and the mask area.

4 Likes

Welcome to this forum, and the Darktable community. And thank you for the thoughtful writeup.

An under-appreciated aspect of Darktable is that it evolves very rapidly. The UI gets improved with every release, we get new modules, things get faster and more streamlined… It’s hard to put into words how much better Darktable 5 is compared to when I got started in v2.6. It’s essentially a whole different application.

Negadoctor, Filmic, Sigmoid, Tone EQ, Color EQ, Color Balance, Color Calibration, Diffuse and Sharpen, these are all relatively new additions. The quick access panel, too. Many of them have improved in usability, too. Sometimes it’s a small papercut for one person, which they contribute to the project, sometimes it’s an improvement in naming or documentation, or better presets, sometimes whole new modules.

To say nothing of the great capabilities you can add through its various automation interfaces (parametric presets, shortcuts, Lua scripts).

I’ve had my problems with darktable. “Left” more than once. But came back, too. I like to think of it as “professional” software. You need to learn how to use it. But once you do, many things are more efficient than in “easier” programs.

6 Likes

Welcome. That turned out to be less of a rant than I thought :grinning:

I do have some thoughts on your thoughts, though.

This is something we get a lot, but rarely is it followed by anything more substantial than “make it like Lightroom kthxbye”. There is absolutely room for improvement and if you have any specific suggestions by all means make them, but please keep in mind what darktable is trying to be and what the constraints of it’s technical “design” means for that suggestion. Since another thing we see with some regularity are suggestions that show a lack of understanding and clearly didn’t consider what is actually feasible.

As someone that had no experience with raw editing, other than Filmulator, before learning darktable, I honestly never found the UI to be confusing or even all that non-standard. Probably because I didn’t have any LR-induced “brain damage” to deal with. There are some curious UX choices, yes, but they seem to be mostly confined to the lighttable and for me at least never were confusing and mostly just a bit annoying. And, indeed, the impression that I get from many of the complaints is that they’re because the UI is different and not actually because it’s difficult to use. As the saying goes: The only intuitive interface is the nipple. Everything else is learned.

Compared to darktable, Lightroom is very easy and fast to get up to speed with, with a UX that’s easy to grasp. No question about it. However, I feel that this probably has less to do with it’s design and more to do with the fact that it’s also very simple in comparison. If LR was brought up to some kind of feature parity with DT, I suspect it would be not that much better, with users getting lost in the possibilities. The only saving grace would likely be the top-to-bottom way of working (if that could even be maintained). I watched a tutorial that covered every single tool in the LR develop module, that was something like 45 minutes long, and that was everything I needed to know to get a decent result on my first try (with a somewhat tricky photo) and probably everything I ever really needed to watch. Even covering only the recommended modules in DT would take way longer than that. The way DT wants you to approach editing does mean a steeper learning curve, but that curve very quickly flattens once you have integrated the basic concepts.

Agreed. But someone will have to do the work.

There has been some discussion on that before. The manual is intended to be a technical reference, with tutorials left for others to do. Already keeping the manual up to date is a challenge, so also having official tutorials would be a logistical nightmare, probably. That said, there are some solid YouTube channels, so it’s really not that bad, even if more is clearly needed.

Ease of use is more of a priority than you realise (have a look at some of the GitHub discussions, if you don’t believe me). And while some of the odd choices are certainly due to none of the devs having a solid background in UI/UX, other things are due to constraints imposed by the “toolbox” workflow and the fact that old edits should never be broken. The large number of processing modules and figuring out which to use, in particular.

Because they are all just variations on diffusing or sharpening. DS is one of those cases where, a bit like Lego, with just a few primitives you can do amazing things. Unlike Lego it’s also really hard to understand :sweat_smile:

2 Likes

For a beginner this top to bottom approach is intuitive but it is not as informative as the the bottom to top order of modules in DT. I love that DT reveals to me which module is being applied first in the pipeline. The bottom one in the list is applied first even if it is the last module that I altered in my editing. DT is transparent in this while LR is just a blackbox.

Recently I tried a free trial of a commercial editing software and quickly abandoned it because horror of horrors its UI didn’t gel with my DT-induced brain damage. Even trying to flip between Rawtherapee and DT is a huge challenge for me because the interface is so different. There was a time when I thought RT had a more intuitive interface but after years of DT use I feel totally lost when I try to use RT and I am sure the same applies for RT users testing out DT.

3 Likes

@Flameslicer, welcome to the forum! I have been reading this topic with interest and want to add my thoughts.

I have been a Darktable user for more than 8 years now. It is the first raw developer I have used, I shot JPEG before.

The key thing to understand about Darktable is that it is growing by accretion. There is no “benevolent dictator” to make key breaking decisions. People participate in the development for a while, then abandon Darktable, and maybe show up again.

The algorithms used often require (at least) college-level math, but the actual implementations are underdocumented so people are very reluctant to modify them when the original developer is no longer present. Some modules are superseded, but they are still kept because some people use them. Some other modules could have the potential to supersede others but since they are difficult to modify for reasons above, this rarely happens.

Consequently, at its present stage, the Darktable codebase has accumulated a lot of technical debt. Cleaning that up wouuld require consensus, a vision about the codebase, and will inevitably catch a lot of flak, so it is not likely to happen.

But despite the above, the bottom line is that Darktable is still the most advanced raw developer around. The code is the result of a lot of effort by smart people, implementing some of the latest algorithms in image processing. It’s just that navigating it requires a lot of patience and learning.

1 Like

I find that a good way to learn Darktable is to look at the Play Raw, choose the photo you find well developed with Darktable, download the Raw with the .xmp associated with the processing, open the raw in DT load the .xmp and analyze the processing, then play around with it yourself.

1 Like