Some people argue software should be agnostic. They say
it's arrogant for developers to limit features or ignore
feature requests. They say software should always be as
flexible as possible.
We think that's bullshit. The best software has a vision.
The best software takes sides. When someone uses
software, they're not just looking for features, they're
looking for an approach. They're looking for a vision.
Decide what your vision is and run with it.
Well, I, in turn, think that's bullshit. IMO, the best software conforms to the way the user works, rather than trying to force the user to work in a way that's unnatural to them.The arguments against a confusing preferences pane and the arguments for sensible defaults in no way contradict the notion of making software than is flexible enough for power users. Poor UI design (3 different places to set prefs?) is orthogonal to the issue of whether or not something should be configurable.
Power Users don't matter? Maybe for certain classes of consumer applications that don't face a steep barrier to adoption in the first place. But for some apps, it's the power users who are the early adopters, who first begin using and evangelizing for the software and without whom it would never catch on in the first place. Do you really want to piss those folks off?
Make the damn "advanced preferences" pane more or less hidden (ala, about:config) but document the shit out of it and make sure it's at least there for the people who do care.