[Suggestion] Simplify Tone Equalizer

While I appreciate your point of view that users should invest the time to learn handle the tools, intuitivity is still an important aspect to make users’ lives easier.

It’s true that most intuition has been learnt somewhen before, but that’s exactly the point; it has already been learnt, so there’s no need to start learning from scratch. Turning a knob clockwise to increase a value is intuitive, because we learnt that that’s the way it works. If one has to handle an otherwise completely unfamiliar interface, we would all expect that increase means turn clockwise, without reading the manual or closely examining the scale. This is where intuition helps.

The user interface is actually one of the most important, if not the most important aspect of a program. If it’s awkward to use, it’ll scare away many potential users, no matter how powerful the software is. The KDE Plasma team have this nice motto:

Simple by default, powerful when needed

I have the impression that, knowing what’s under the hood sometimes keeps developers from placing themselves on the other side of the user interface.

1 Like

We’ve had the UI/UX and “intuitive” talk ad nauseam.

6 Likes

I care about logics, I care about consistency, I care about 1:1 relationship with physics.

But intuivity is an empty word that everyone throws around without ever defining it.

And when you try to define it, you find out it solely depends on culture, education, experience and imprinting.

Sure, when your software UI is merely a metaphor of an hardware UI, aligning knobs and dials on some physical reality is obvious. Nobody ever struggled with that.

But transfer functions and histograms don’t exist in hardware UI. The very fact that you can build a transfer function, not from its polynomial parameters, but from nodes directly drawn on a graph, is somewhat mind-blowing when you think about it. It’s a very high level of abstraction.

The “simple” tab comes directly from the equalizers you find on HiFi audio amplifiers. I believe it will be more understandable for most because most people have already seen an audio EQ and are familiar with the idea of boosting the bass or the treble octave per octave. But the truth is I have no idea, nobody conducted tests and studies on the matter, so that’s my guts feeling and yours is the opposite.

The problem of the “advanced” tab is you need to know how to read an histogram (no problem if you got a bachelor of science, not sure for the rest of the folks), then need to know what population repartition it represents (the mask, not the picture, but wait… mask ? what mask ?), then understand what a transfer function is (y = f(x), again no problem if you finished college in science), and finally understand that this function is interpolated from the nodes you draw (interpolation, WTF ?).

There is only one way to settle this:

  1. pick 20 people for each case:
    • elementary school educated
    • high school educated
    • college educated
  2. redo 1. for people having studied art, science, or other
  3. redo 1. and 2. for people working professionally in photography/graphic arts, or not.

Once you got these 240 people, find out for which group which option is more “intuitive”, and plot the graph.

Then we will decide knowingly. Until this is done, we will only exchange gut feelings and wrongfully generalize personal experiences. The thing about gut feelings is they often smell.

5 Likes

unfortunately most users complaining about intuitivity in reality are complaining about something they want to be changed to meet their personal preferences.
Dragging around some sliders and seeing the results is a very intuitive thing, even more than having a curve and histogram quite different to the histogram presented at the top of the screen. So it needs a little bit more knowledge in the advanced tab to realize the information presented there. And at least the last tab is hard to understand without reading documentation, watching youtube videos etc.pp.
So the default order is ways from beeing unintuitive :wink:
For the experienced user the order might be different, but thats more depending on workflow than on intuitivity.
Maybe in future the order will be configurable - if it’s that important for you now - feel free to add the enhancements to the code

some examples: is it really intuitive to get this on expanding an equalizer module?

or that?

1 Like

I think surveys like this would make a lot of sense.
Similar to the whitebalance module poll. Needs people to participate and care about this.

why bother about a poll for user customizable order - it just needs some implementation effort someone can spend if this is that important … its free and open source software

quick&dirty: in toneequal.c add after line 3217:

gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK(g->notebook), page1, TRUE);
gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK(g->notebook), page2, TRUE);
gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK(g->notebook), page3, TRUE);

and build it yourself and test for side effects :wink:
A full blown solution would handle these by a preference setting, so the last order can be persisted …

2 Likes

because testing for side effects (essential part of streamlining the UX) needs user feedback. Polls can handle that. Surveys too.

1 Like

Surveys will show disparities between groups of people depending on experience, education and occupation. So, at the end, choosing which group you want to screw will still remain purely political and arbitrary. But at least, you will have numbers to make it look objective.

3 Likes

I fundamentally disagree. Knowing the disparities between groups will also show the commonalities…and from there one can build a better interface.

But this will be more objective because opinions matter a lot less if you have the data to support a political decision, no? At the same time this is less arbitrary then!

Why do you think this will not be an improvement to how it is now?

So if you did a poll of how text editors should work, and presented it to both vim and emacs users, along with follow up discussions, you could come up with a third, perfect text editor - vimemacs - which would satisfy both sets of users 100% and retire the first two ? No, they work differently and some people just favour one or the other.

Just as with vim, there’s something of a learning curve to fully understand all the problems darktable seeks to solve; applying democracy to the process runs the risk of the interface being steered towards how people who don’t fully grasp all the issues think it should work, at the expense of fast, accurate results in the hands of people who are familiar with them.

As a corollary, what are the goals of darktable? Is it after growth in users, or is it perfectly happy being a niche program which is the best it can be in terms of power and efficiency but at the cost of a learning curve?

5 Likes

For me it is definitely the latter one. BTW : years ago I wrote software for a group of about 100 scientists in a research institute. I can assure : even for this small group it was absolutely impossible to satisfy all the (partly contradictory) personal preferences of the users with different previous knowledge.

Because I have been doing engineering & design for a little while now, and managing users expectations makes non-linear partial differential equations look like a piece of cake.

  1. There is nothing you can do to please one crowd that will not displease some other crowd.
  2. Every colour perception study and sociology/psychology of workplaces study I have read always showed significant difference between people depending on experience and education (at very least), so I expect ergonomics studies to be just the same,
  3. The most you can do is try to please like 80% of your sample, but you still need to be sure that this 80% is at least mildly experienced and educated in graphic arts, otherwise you will dumb down the software for beginners and degrade experience for skilled users.
  4. Every individual user tends to think he is the core target of the soft and the perfect metric of the “average user”, so you can’t put them in the same room and sort out their differences
  5. At the end, the engineer (or the marketing) makes the call and use the stats to choose what group they want to please and what group they want to screw, depending on business plan (current users vs. future users).
5 Likes

As with the vim vs emacs argument, this is a false dichotomy. User feedback is very complex, the interface is complex, the thing darktable wants to be is rather complex. Reducing all this to two solutions (complex-unwieldy vs. oversimplified) is not what this discussion is about, I thought at least.

I see this: Devs have a great idea for a module, they put copious amounts of time into these modules so that they achieve something very useful. While the users like what the module can achieve, it’s not easy to achieve reliably. The moment they give feedback, it is brushed off with an ‘wells it’s complex, learn it!’ argument. They make videos about the module. More users have similar problems. A Dev makes a very general thread about how people should go about learning anything(!) with any UI(!). People engage in this discussion. The discussion is then seen by the OP as too general with not enough sepcific problems. Threads like this specific one pop up. General solutions of how this could be solved are suggested (poll, survey) from the very Dev that already made a very general thread about this. Then the Dev himself sees the very thing he just suggested as impractical.

I am happy with the software as it is, I can deal with it. I thought dt wants to appeal to a more broad audience. everything i said has to be seen in this context. My assessment(s) might have been wrong. I am sorry for that.

1 Like

It’s not like that. We get contradictory feedback all the time, and also no feedback at all from the largest part of users. Whenever you change something, you get some requests to revert the change.

Polls will solve nothing. I have never said they were impractical, I have said that they only will help you decide who you will screw. I’m all for ergonomics A/B tests and feedback, but they will simply not bring you a magical solution on a silver plate.

So do it, but don’t trust the result too much, is all I’m saying.

4 Likes

in free open software there is an impressive indicator for really high demanded features:
is there anybody around trying to implement the stuff?
filmic, or tone equalizer won’t be there if there were just polls and surveys on how to deal with high dynamic range sensors and 8 bit output …

so if it’s really important, set up your local development tools, do a git clone, and then start coding. it’s no rocket science to change the order of the tabs for your demand. An if the results are good enough to be used on multiple platforms etc, then you might do a pull request and share it - then it’s time for polls and surveys …

1 Like

You’re right, I wasn’t after extreme simplification. Darktable is a powerful, versatile and therefore complex piece of software. It shouldn’t be dumbed down to ‘just click that button and your picture perfectly shines magically.’

However, I was only suggesting an incremental improvement to the interface of Tone Equalizer. Improvement from my point of view as a mostly inexperienced, casual user, that is. Sorry if that turned out to be flame bait - it wasn’t intended that way. I’m more than happy to accept the arguments against such a change.

For any piece of complex software, it’s great if the users are presented with a simple interface and useful presets at first, still allowing access to a more advanced (and complex) interface, if they need finer control. I appreciate that this is difficult with limited time and resource.

I’m not a coder, so all those valid responses to ‘go and change it yourself, if it’s important to you’ are a bit lost.

The very nature of an interface is that it has two sides. You guys very well explained what it should look like from the viewpoint of the developer, who knows the underlying algorithms and what parameters they should receive as input. But try to view the other side as well, that of the user who wants to achieve certain image manipulation with minimum effort (while still maintaining control about what’s going on) and doesn’t know nor care about the underlying math. Simple doesn’t have to mean dumbed down. From the user’s viewpoint it should provide meaningful controls that correlate to the ouput, and not necessarily to the input parameters for the underlying algorithm.

Maybe I should have worded my initial proposal more carefully …

1 Like

As far as i know aurelien wasn’t a c coder too before starting to improve darktable;)

4 Likes

Perhaps a bit of a difference between “not a coder” and “not a C coder”. I wasn’t a C coder a month ago and am now submitting pull requests. But I’ve been writing code in one form or another since my teens.

1 Like

:clap: good argument
:stuck_out_tongue_winking_eye: nice pun

You are right in every way. But did you try it and find it more easy to use the slider up and down?. I always used it form left to right, and from where did you find this?. Tone equalizing is a tricky business though.