however perhaps those principles are better applied to designing ATMs and self service checkouts, rather then specialist tools designed for an expert audience.
On the contrary, human factors engineering is extremely important in aviation, process controls (you don't want your operator confused at a nuclear power plant) and other mission-critical operational environments. Everyone is an expert in those environments, but they
need good design. In fact, the military and NASA pioneered a lot of the early human factors engineering work. In a lot of cases, disasters happened because people made mistakes that they shouldn't have made given their training. These mistakes were eventually traced to counterintuitive design, or designs that overwhelmed the user with information at a critical time.
In practice the people who are buying these more complex torches are happy with them, and to them they are an improvement over a torch without those extra shortcuts and programmable flexibility. So again, I see it as a good design, because for me it is in practice a more useful design.
What you're saying is that you like the number of features that can be exposed by just pressing the button. That says nothing about whether it's actually a good user interface, which can be objectively analyzed. People can still adapt to and learn how to use nearly any UI, no matter how cumbersome. That does not make it a good design. And people are free to say that it's not worth the effort to learn without being branded as ignorant of technology by you.
I don't feel that learning one more is such a huge burden, especially not when I get tangible benefits in return.
You are certainly free to feel that way. But, you should not belittle anyone else who chooses not to memorize completely arbitrary user interfaces by implying that they "struggle with modern technology".
Every single human has limited capacity for memorizing arbitrary designs. Your memory will stay intact as long as you reinforce it all the time. And the simpler the action, the easier it is to remember and the easier it is to take the correct action subconsciously. It is perfectly fine for someone to say that something is too complicated to use and not use it; this does not mean that they don't know how to use technology.
"violate(s) practically every principle of human factors engineering" will continue to sell well.
Amongst CPF users, yes, but amongst the general public? Absolutely not. Amongst technologically-literate people who don't obsess about flashlights? Again, no.
To say that programming a multi-function light with a single button should be intuitive and transparent enough that anyone anyone can program/operate it is, well... wrong.
You misunderstand. I am pointing out that programmable flashlights, by their very nature, have poor user interfaces. They can't be made intuitive or transparent, thus they have poor user interfaces.
The main point, though, is that a person should be to say "Because programmable lights are not intuitive, I do not want to use them" without being labeled as technologically backwards.
But yes, a standardized UI would go a long way towards making it more acceptable. However, I would prefer brightness selector ring and on / off button over ANY programmable light.