I wrote a whole bunch of this a long time ago when I stumbled across the debate that resulted in the FunPidgin (apparently now Carrier) fork of Pidgin. As their website puts it, "Unlike the Pidgin developers, we believe the user should have the final say in what goes into the program."
If you've missed this whole debate (likely even if you use Pidgin), it started with this bug report for Pidgin. The problem was stunningly simple: in the new version of Pidgin, the input text area automatically resizes itself. This is fancy and neat, but it also can't be sized larger than about 4 lines of text, which makes a lot of people sad, and some people find the auto-resizing jarring and unpleasant. This massive support ticket is basically a huge argument between the users and the developers about whether users want this feature or not. Seriously, a whole group of users telling the developers they want something, and the developers telling them they're in some way addled and don't really want it at all.
If your users want a feature, unless it's too difficult or time-consuming to write, you should add it. Your users shouldn't have to defend or justify why they need something, that's ridiculous; if they say they need it, they need it, and developers saying "no, you really don't want that" is absurd. Users have better things to do than sit on your bug tracker begging for you to implement something you've already written; obviously they want this feature.
I've always been of the opinion that if users want two competing ways of doing something it should be an option, which I know isn't a universally accepted view -- I might go so far as to say it's the minority view. I like the ability to customize how my programs work, since usually I don't like the defaults. Trillian was spectacular at this, and it's still my favorite IM client of all the ones I've tried; every single time I disliked something there was a preference to change exactly that. The pidgin developers do not believe this; they state repeatedly that they want a "better" (they frequently put the quotes around it too, like they're mocking themselves) solution than adding a preference. That's great and all, but either find one or give us the choice back. There might be a better solution than adding a preference, but adding a preference is still a better solution than telling a section of your userbase to go fuck themselves. The developers even mock the users in some of the posts, asking why they're not clever enough to write a plugin to do this. Is this supposed to be some sort of battle between developers and users, where developers change something and then taunt the users to try and change it back? I know lots of users don't like preferences; personally, I don't know why they can't just ignore them them, but apparently the mere fact that options exist bothers them in some way. Nonetheless, the users saying that they want an option and the developers telling the users that the users don't want an option is so obviously ridiculous that I can't believe this is still going on.
This quote was particularly amusing; it makes me think maybe the developers are missing the point completely: "it proved to be impossible to get both manual sizing and automatic resizing to work at the same time". Really? That's like saying "well, we tried to let the user set the size manually, but that damn automatic sizing kept automatically sizing". Obviously they can't work together, it has to be one or the other. Almost like it should be the user's choice. Like some sort of "preference" or something. They should have a dialog for those. I loved this solution: "What if manual sizing is disabled when automatic sizing is enabled?" Maybe it's just that this seems way more obvious to me than it apparently is to other people if this was actually considered ground-breaking enough to post, so I'll lay out my fairly brilliant solution to this problem in hopes of merging: Have an "automatic input resizing" checkbox. When it's checked, the input box auto-resizes. Manual resizing does not work. When it's unchecked, the box can be manually resized. Auto-resizing does not work. If anyone needs further clarification, I will send them a truth table
I dislike the notion that developers need to protect the silly users from themselves and not give them an option that deep down the developers are confident users really don't want. This is very much a Windows point of view.