It's hard to say no to your customers, but I'm getting a lot of practice at it.
You see, almost every day I say no when a customer asks me to add a feature to FeedDemon. It's not that I don't want them to be happy - it's just that every feature I add to FeedDemon potentially makes it more complicated for every customer, so I have to shoot down features that I don't believe will be widely used.
Quite often, the customer will reply with, "well, why not just make it an option?" Which of course makes sense when you're thinking about one little feature. I mean, how could adding one measly checkbox tucked away in the program's settings make it more complicated? But multiply that by the number of feature requests I get, and it becomes clear that making everything an option is, well, not an option.
I wasn't always this way. Many years ago when I worked on HomeSite (and, to some extent, TopStyle), I'd say "yes!" to feature requests all the time. If the feature wasn't one that a ton of people wanted, I'd just make it an option. I thought this was great - and at first, it was. Customers got new stuff all the time, and loved seeing their suggestions included in the product. But fast forward a few years, and suddenly my software was an option-laden monstrosity.
In a misguided attempt to please everyone, I had added page after page of checkboxes to the options dialog. Customers kept asking for options that already existed, or wondered where an option was that they knew was there but couldn't find in the checkbox maze. Even worse, they'd inadvertently enable some option that changed the program's behavior, and then report that the software no longer worked like it was supposed to. Which meant that when I received a bug report, I'd have to figure out which options might be involved in the bug, and then figure out which of those options the customer had enabled.
The other thing is, while it's easy to add an option, it's very hard to take it away. If you add an option to your software, you'd better be prepared to keep it around for the life of the product unless you want customers coming after you with pitchforks and torches.
For example, in the first version of FeedDemon, I added a few options that made sense at the time, but later on weren't being used much and were complicating the development of new versions. So in the first few beta versions of FeedDemon 4.0, I did away with some options that had existed for years. To say this wasn't received well would be an understatement. Customers who had become used to these options were up in arms, and said they'd never upgrade if the options weren't returned. It's pretty frustrating for a developer to hear that all the work done to improve a product is overshadowed by the loss of a few options that probably shouldn't have been added in the first place.
So if you're a developer and you're working on a new piece of software, don't make my mistake of adding options, especially if you're doing so just to please a handful of power users. In fact, see if you can avoid the need for a settings dialog at all. You and your customers will be happier in the long run.
In my opinion, some software used all the time by different type of people (Internet browsers, email clients, Feed readers, etc.), need some kind of personalization because people use them in a very different way and they are part of the daily computing.
The solution to add features without bloating the main product is: Plug-ins.
That way you don't even need to develop every feature suggested by every people, but let them create them for you.
Posted by: Eduardo | Tuesday, December 14, 2010 at 01:38 PM
You are kind of right. In FeedDemon, even the options have options. ;)
http://b.imagehost.org/0264/options-options.jpg
Posted by: Ginchen | Tuesday, December 14, 2010 at 03:14 PM
Ultimately, it's a good decision.
If you don't do that, your software will end up looking like PowerGREP :)
http://www.powergrep.com/screen.html
Posted by: mattbg | Tuesday, December 14, 2010 at 03:25 PM
I've always thought (though I never said it - sorry Nick :) ) that the Tools->Options would be better named Tools->Settings->Options (or Tools->Options->Settings)
Posted by: critter42 | Tuesday, December 14, 2010 at 06:51 PM
Interesting - I think my reaction is the opposite. I feel like FeedDemon is crazy complicated for being a feed reader (I mean, it only has to do the one thing well), and I do a lot to strip down the UI to barely-there (though I can't get rid of as much of it as I'd like). I'd probably pay for a really good FeedDemon Minimal Edition - the only thing keeping me from switching to Google Reader is that it's also pretty complicated, and FeedDemon has better keyboard accessibility.
Posted by: Ben Hollis | Tuesday, December 14, 2010 at 07:42 PM
@Critter: Yeah, Options > Options is pretty silly. I should've changed it to Options > Settings, but since previous versions always used "Options" I stuck with it. I'll probably change it anyway.
Posted by: Nick Bradbury | Tuesday, December 14, 2010 at 08:43 PM
@Ben: I actually agree with you about FD being too complicated. A big problem was that I created FD after creating two developer-oriented apps, where tons of features/options are a selling point. If I had it to do over again, I would've started off making FD *much* simpler. But once you add features, it's tough to get rid of them.
Posted by: Nick Bradbury | Tuesday, December 14, 2010 at 08:46 PM
@Eduardo: I'm probably in the minority here, but I'm not a fan of the plug-in solution. Plug-ins sound great, but they end up eating up a ton of development time since you have to make sure that new versions of your software play nice with existing plug-ins. And, of course, your application suffers when poorly-written plug-ins slow it down, make it crash, etc. (witness IE).
Posted by: Nick Bradbury | Wednesday, December 15, 2010 at 09:08 PM
Sorry, don't know where to report, but it would be nice to have these features in FeedDemon 4.xx:
* see tags applied to an item
* filter by items
* apply several "Content Filter" profiles to a subscription.
* use regex in filters
Thanks.
Posted by: GeniU$ | Friday, December 17, 2010 at 01:01 PM
@GeniU$ the link to the support forums is in the red banner right underneath "Post a comment" on this page. Please repost this there
Posted by: critter42 | Friday, December 17, 2010 at 01:30 PM
Nick,
Thanks for all the new features in Feeddemon 4 and thanks for letting us Feeddemon 3 users register it for a cheaper price. I love the new Content Filters Option :)
Trallyus
Posted by: Trallyus | Wednesday, December 22, 2010 at 07:20 PM
I respectfully disagree. I don't know why anyone who isn't a power user one way or another would even be using FeedDemon in the first place. They'd be using Google Reader and just getting on with their lives. By not focusing on potential customers like me, who would actually pay for your software if it provided a greater range of customization to paying users, you seem to be curtailing your market.
I also, as a programmer, dislike the trend of "opinionated software" where the developer refuses to implement new features or is afraid of options. It's always just seemed like laziness to me. Trying to shift the focus and saying that you're not implementing new features because it's better for the users is just double speak to my ears. If there are a lot of options, find a better way to present them. Make the options searchable (Trillian does this) or make changing them a more natural process by putting toggles in context.
I'm aware of the paradox of choice and I'm not saying you can't go too far. However, I don't think FeedDemon is anywhere near that level. No doubt you'd say this is because you've been saying "No" all these years, but you can go too far on the other end of the spectrum, too.
Posted by: Josh | Wednesday, December 29, 2010 at 01:18 AM
Nick,
Just installing v4.0; Stopped using RSS after having gotten annoyed with the whole blogging scene for a number of years, so I last used FD many years ago (v1.0/2.0 licensed user, and homesite, and topstyle, love your stuff)
Noticed that the wizard when you first run FD, still has NewsGator Technologies as the copyright holder, not sure if it's an over-sight, or deliberate, just letting you know!
Posted by: Sean M | Monday, January 03, 2011 at 06:46 PM
And your sale confirmation e-mail has NewsGator all over it too :)
Posted by: Sean M | Monday, January 03, 2011 at 06:52 PM
@Sean: First off, thanks for buying FeedDemon Pro :) I know it's confusing, but even though I'm no longer employed by NewsGator, they still owns the rights to FeedDemon. We basically have a revenue share deal.
Posted by: Nick Bradbury | Monday, January 03, 2011 at 07:54 PM
As for the Options > Options thing: the Options… item should really be a top level one in the Tools menu and not the Options sub menu (which should be renamed to Settings or so :))
And when is *my* feature request - adding paging to the browser history so my mouses/keyboards back/forward buttons work - going to make it? It is hardly something for my pleasure only and will benefit everyone - well, it’s my request so I have to say this ;)
Posted by: TehGrumpyDude | Tuesday, January 04, 2011 at 09:10 AM