Darktable: Feature Dreams

Here are some features that I think would be beneficial, mostly quality of life:

  1. Automatic snapshots (after the first load of a picture in darkroom an initial snapshot is taken of that “original” and is named original (). Also, if it has been over X number of hours since a photo was edited in darkroom, an automatic snapshot is made when you open the photo. This would allow you to edit the photo and then compare it to the auto snapshot from the previous session. This would rleffectively replicate the automatic versioning in Lightroom which I always loved.
  2. Mandatory and depreciated modules are hidden by default. This would declutter the darkroom modules view and would prevent new users from falling into the “white balance” trap. We could add toggles to display those hidden modules. The state of those toggles would be remembered between session so that the users who find themselves often working with those modules would always have them visible.
  3. Additional option when creating a module preset, “Do not overwrite exif controls”. When checked this would mean that all auto-detect controls would still function properly when applying that preset on a target photo. For example this would allow for creating a lens correction module preset that still auto detects the lens of the photo but still modifies other parameters like setting Corrections to “only distortions”, etc.
  4. Another additional option when creation a module preset, “Trigger auto pickers”. This would allow the module preset, when applied to trigger all auto pickers. This would allow for AGX presets that trigger the auto white point black point pickers, or for tone equalizer preset that auto balance the exposure contrast sliders.

Please understand these are just meant to be ideas for throwing around or discussing. I don’t want to sound like a whiny consumer. The dark table devs are awesome and I bet none of these are new ideas.

#2 seems like not a good idea. We should present an opinionated set of modules by default, but hiding things seems like a recepie for more confusion.

3 and 4 might not be possible due to pixelpipe design, not sure. There is the lua workflow script, which can click the autopickers for you.

7 Likes

#1 already exists to take a snapshot automatically when you open an image in darkroom. It doesn’t have the extra functionality listed though. The snapshot module doesn’t have the functionality to support the extra functionality.

#2 can be done with modulegroups I think. At least that’s where I would start

#3 might be possible with the presets. If not it’s definitely possible with Lua.

#4 is possible with Lua. I’m not sure you would want to trigger “all” the pickers.

2 Likes

Thanks for the info! How do I enable the automatic snapshots that you mentioned for #1?

There’s a lua-script auto_snapshot

3 Likes

#2… You can edit the modules shown and arrange the module tabs exactly as you want. So this available as DIY.

I have all my regular modules on a favourites tab and seldom even look at the others. One or two I use rarely. I either remember which tab they are on, or search.

I have completely removed the things I know I’ll never use. Can’t remember what, except eg, I won’t, in the foreseeable future, be processing negatives!

There are already several presets for tab layout, but my preference is to make up my own.

Here’s one of my regular dream features:

Crop module: have the mouse wheel reduce/enlarge crop, maintaining current proportions.

But hey, I’d rather the devs used their time as they do! Maybe some time I’ll add it as an actual feature request, but I wouldn’t expect it to get much priority.

Just for (semi-)fun I’ll post others when I’m reminded of them.

2 Likes

Very bad idea: several of the mandatory modules have parameters that can be changed. E.g. demosaic includes the settings for capture sharpening, which by default is off. Also orientation can be useful sometimes when the camera got confused. And as said, you can hide any module through the setup menu in the right sidebar.

(Note that deprecated modules are by default hidden for new edits)


Sorry, but this is the kind of “suggestion” that makes me understand why “the devs” get annoyed sometimes: it shows limited knowledge of the program, and very little thought about what the suggestions imply. E.g. the issue with capture sharpening would have been visible by just looking at the demosaic module and thinking about what hiding the module would do to that. And something similar holds for most mandatory modules (at one point, I had to adjust raw black/white point as the defaults were wrong for my camera…)

3 Likes

We provide a preset with what we (dt.info) consider to be the 20 most important modules. You can find a more detailed explanation and the download here:

2 Likes

I believe that can be done with a lua-script and a shortcut

3 Likes

I know this. In fact, I mentioned the capture sharpening case explicitly (Did you only read the bolded text?). Also, just as a note, having the capture sharpening hidden in the demosaic module, even if that is where it happens in the pixelpipe, is not very user-friendly. Demosaic settings are not often modified, but now there is a very useful sharpening feature hidden in that module. I think it would be nice to move capture sharpening to its own module or rename the module to notify users that the module can do sharpening. Or we could just enable it by default, as I mentioned in my post.

I understand that people sometimes need to access the mandatory modules. Most of the time, people don’t need to access them. Those who do need to access them usually know about them because they are deeper into the technical aspects of darktable. Please understand, I know the mandatory modules are useful (they just don’t usually require modification).

This does not accomplish the same effect. The point of the proposed change is to help new people and current users by maximizing the usage of space efficiently, by hiding largely unnecessary modules. Telling new users to just go through the process of creating their own custom module layouts so that they can then have a cleaner, more streamlined module set up defeats the purpose.

I know this. In my opinion, they should only be visible for old edits that used them or via a toggle to show them for those users who prefer the depreciated workflow.

I’m sorry my ideas for features seem to upset you, but I think that comes from your own assumption about me. You assume that I don’t understand the application. Nothing you mention is new to me. I have thought about what the changes imply: a better user experience for most users, most of the time.

I use capture sharpening regularly, but certainly not on every picture. It usually only makes a small difference and should just be enabled by default in my opinion (as I mentioned in my post). You assume I don’t know about features because I am too lazy to look into the mandatory modules, when you are the one who is making assumptions based on an incomplete reading of my post.

And that is exactly why they should be hidden by default: You needed the raw black/white point module once… And you knew you needed it. How many users (especially new users/non-techy users) would even know that that was a thing that could go wrong? Most of them would probably think that module was meant to be used like the white and black point adjustment in Lightroom.

I appreciate your feedback. Please read fully instead of making assumptions.

1 Like

Reactions like this are my main reason not to ask questions on this forum. One reads everywhere how friendly people are in this forum. I wonder why some can’t act in that way.

3 Likes

That’s a generalization (that I find to be true), not a universal truth applicable to every person here.

2 Likes

Even I didn’t read fully. I can understand the wish to hide deprecated modules, but no, not mandatory modules. That would not be in keeping with what I feel is the transparent spirit of dt.

There is a “beginner’s workflow” preset to the module layout. I haven’t taken a look.

In terms of “feature dreams,” though, I do not personally include stuff that makes things easier for new users. “New User” is a transitory phase, like being a learner driver. It is possibly the least important days of our time with darktable.

4 Likes

Is there a reason why the colour equaliser does not function in the same way as the tone equaliser?
I am referring to the function where you move the mouse over an area to change the brightness there.

1 Like

Yeah, I am fine if the devs and community are not interested in hiding the mandatory modules, I just thought it might be a good way to save space/make it clear which modules should be looked at the most.

It gets tricky though: “new user” might be transitory, but everyone is a “new user” at some point. I feel like if we want people to see how awesome darktable is, and to realize that it is truly competitive, we should make it as easy as possible to get into (not that it should be dumbed down). Maybe we could just have a an option on the first load of the application that would ask the user their experience level and give them options of starting layouts: “Beginner”, “Advanced”, etc.

Anyways, I just meant this for fun discussion. It is ok if none of this matters to anyone else. I am just glad to be able to throw around ideas with you all.

1 Like

IIUC tone equalizer is dealing with a mask with 8 different EV levels and as you hover over different areas the cursor shows that level and the changes being made to it.

In color equalizer the cursor would cover lots of different colors, so what color would you show and how would you provide feedback. But the biggest issue is deciding what’s under the cursor and how to display it. The difference is millions of colors vs 8 levels.

3 Likes

That would be nice. It would be cool to give it key modifiers (shift, cntrl, alt, etc.) to control hue,saturation,brightness.

1 Like

…but if we could solve that… it would be pretty sweet.

2 Likes

OK, I understand the problem. When I use the current colour picker from “node placement”, a bar corresponding to the picker is displayed in the graphic. But then I have to move the nodes separately.

Wouldn’t it be possible to automatically place the closest node on this point? (The other nodes would move accordingly, of course.)

Then I could scroll the node up and down with the mouse wheel.
What am I overlooking?

I’m perhaps just a bit slow today, but where did you explicitly mention it?