I've been reading Nick Bradbury's series of posts about simplicity vs. features. Definitely worth a read, here's the links:
Simplicity Ain't So Simple, Part I: Decide What to Hide
Simplicity Ain't So Simple, Part II: Stop Showing Off
Simplicity Ain't So Simple, Part III: Don't Add Features You Can't Support
Simplicity Ain't So Simple, Part IV: The Blessed Curse of Power Users
Simplicity Ain't So Simple, Part V: Combine Features
Simplicity Ain't So Simple, Part VI: Simple = Secure
Simplicity Ain't So Simple, Part VII: Know When to Stop
So... you've just read all of them I hope? Good. Here's some of my comments in relation to FinalBuilder and Automise :)
Firstly, I reckon it's a great series of posts - definitely some great advice in there to stop featuritis creeping in... which bring me to FinalBuilder and Automise... FB and AT have so many features that we loose track of them ourselves. I'm not joking either. And I don't know whether we should be ashamed or proud... (probably ashamed after reading that above post). Sometimes a user will ask "can I do X?" and we have to ask around if anyone knows if we've implemented that or not... But, more features can make a wider audience of users satisfied.
It's a fine line of course. You need to put features in to keep people happy, but you must present them so they don't get in the way during day-to-day use. It's also interesting to note that FinalBuilder has gone through a long growing phase of about 6 years with a huge amount of features added each release. We take a lot of suggestions (and opinions) from our users, and will generally add a new feature or option as opposed to not adding it in for the sake of simplicity. But, we tend to be quite careful of where we add the option, and to make it obvious from the icon or wording or placement of what the option is for. Plus we think hard about the default behaviour.
One interesting example that we added in for FinalBuilder 4 is a Build Summary screen. It's implemented as a tab which changes the main view from the "Design and Debugging" of your project into a view designed to show overall progress. It was a major new feature for FB4, and it has some advantages over the old way of watching a build. But, we knew a lot of existing customers would hate it. The default behaviour is that the IDE will automatically switch to the Build Summary screen when a build starts.
These are the options we added to make everyone happy:
A set of radio buttons (only one option can be chosen, top one is the default):
- Always show build summary (Run, Run from Current, Run Selected, etc)
- Only show build summary on Run
- Show Build Summary when build completes
- Never show build summary
And some checkboxes (either, both or none can be turned on):
- Always show build summary if auto build
- Show build summary on startup
So, quite a lot of options, and you have to access them via the Tools menu | Options | FinalBuilder category | General IDE Options | Runtime Options tab. Pretty hidden away - maybe we'll get a tick for that :) But self explanatory - it's unlikely you need to read the help file to understand what those options are going to do.
Another interesting graph I came across a few weeks ago is the
Featuritis vs. the Happy User Peak graph. Somebody mentioned that they thought FinalBuilder was on the top - thanks for that! But, the perception of a product is different for every person. FinalBuilder is the type of product where there will *always* be users who need more (eg. please support completely unknown product X - our forums are full of people asking for new features EVERY DAY), whereas other people get lost in the sea of configuration options.
If I was to choose an application with too few options or too many, I reckon I'd choose the one with too many (most of the time)!