I find the soldier analogy very easy to get, although I would not hold Darktable to quite the same standard
Iāve developed engineering methods and implemented them in software (lots of computation, a little GUI) ā and what Iāve understood from that is that you canāt teach the users everything you know (even if theyāre fellow engineers working in the same field), but you also canāt dumb it down to the point where they donāt need to understand anything. The trick is to present the method in a way that makes sense to them, and choose a way to control the system which makes sense according to their perspective, not your own*. The number of times (and different ways) people have naively tried to use my software in ways that obviously (to me) could not have worked but still blindly trusted the results is staggering. But Iād like to believe that a developer canāt be expected to anticipate all of those ways. So the only solution (unless you have in-house focus-group testingā¦) is to make something, see how it lands, talk to users, and modify the presentation/controls until most users can work it out in a short time. They learn, you learn, and eventually it clicks.
Thereās a lot of discussion about both Filmic and CAT around here, and I hope that @anon41087856 stays patient for long enough that enough people get not just an intuitive grasp but a more general understanding of both the method and what it is that many users donāt get about it, that the implementation/GUI can be updated to make it easier to use and understand. Heās demonstrated a few times how the fundamentals heās put in allow for pretty amazing results, but I think there must be an easier way to ādriveā it.
(*) Example: I non-dimensionalize everything first, then work in non-dimensional space. Theyāre way more familiar with dimensional values (in imperial units, can you believe it?!) ā so thatās what is displayed. Had to implement unit conversion just for that purpose.