It's amazing that we constantly use tools with dozens of buttons permanently fixed to them, but rarely think about how we might yield those buttons to our own purposes. We just accept the defaults without considering other possibilities.
Also gets into the idea of personalized UI more generally. You can imagine something like Photoshop ought to adapt what tools it shows based on how someone uses it. Then again, that would make learning/teaching and sharing really difficult.
It's a surprisingly complex problem. As you point out, more personalised UI, buttons, etc. can be more ergonomic and presumably productive. But then the problem with learning, teaching, and sharing arises.
I also see another problem: lock-in and loss of productivity in other environments. For this reason I prefer to stick to everything as vanilla as possible: so that I can use another computer or keyboard and it "just works" because that's what I'm used to anyway.
Right there with you. The ability to use any system you happen to be in front of without issue is a huge boon in and of itself. I have friends who spend hours customizing every little keybind, using uncommon peripherals, etc.
Does it make them more productive? I honestly have my doubts. The number of times I've had to wait during a group project because a software update broke their keybinds, they're at another desk and are now slow because they don't have the muscle memory for 'standard' layouts, etc is not even close to zero. Even on their own systems, they spend significant time every week tweaking things. For many, I think it is a form of bikeshedding as much as anything.
Big fan of the first, I make small tweaks to my keyboard layout in QMK and they've really added up to a fluid experience.
Strong disagree on the second: Photoshop should absolutely not move controls around on some kind of magic guesswork basis. That would destroy visual/muscle memory and undermine the users sense of control and mastery. Bad news.
It would be pretty great if programs with tool palettes came with a configurator so that the user could deliberately move things around, remove and add tools, and otherwise customize. As long as it was saved in a plain-text config that they could move around, this would be a win, just like it is in text editors.
That is the emacs problem. The defaults aren't bad, but pretty quickly you start falling into the rabbit hole. For me it was I really wanted the Function key mappings I was used to in visual studio in the 1990's to do compile/breakpoint/etc in emacs. So, one you get those, it becomes, that was easy, lets remap goto line/goto definition/etc.
Pretty soon, your emacs is basically incompatible with everyone else's and your carrying around a 2k line .emacs file. Brief was the same way IIRC. The entire user community customized it into a million different environments tailored to each persons tastes.
Darktable, the free photo postprocessing software, lets you assign a hotkey to pretty much any slider (there are many sliders in darktable). While pressing the hotkey, the mouse wheel adjusts the slider, regardless of whether it's currently visible or not.
Also gets into the idea of personalized UI more generally. You can imagine something like Photoshop ought to adapt what tools it shows based on how someone uses it. Then again, that would make learning/teaching and sharing really difficult.