The ’simple’ mantra has been put forth in recent years by companies like Apple and 37 Signals.
But that doesn’t mean that all humans are perfectly rational creatures. A thread on reddit recently talked about how companies (or purchasing managers) will make decisions based on feature-lists, not the features that actually end up being used.
So your application might need to have the XML Widgets Technology © with SalesForce.com Integration (Siebold/Peoplesoft/Oracle Compatible) feature, even though chances are 95% of your users will never even use it.
Joel has talked about this before:
A lot of software developers are seduced by the old “80/20″ rule. It seems to make a lot of sense: 80% of the people use 20% of the features. So you convince yourself that you only need to implement 20% of the features, and you can still sell 80% as many copies.
Unfortunately, it’s never the same 20%. Everybody uses a different set of features.
Ok, so how does one address this?
An Open Source Case Study
Sure, it’s a lot harder to pull this off when you have to deal with a real UI and your target market isn’t programmers… but here’s how I dealt with this problem in the backup_fu rails plugin.
The only thing the user needs to touch is a 6-line configuration file. Here’s the default:
# The app_name is used as the backup filename prefix app_name: replace_me # Note: please create this bucket (whatever yours may be) externally first: s3_bucket: some-s3-bucket aws_access_key_id: --replace me with your AWS access key id-- aws_secret_access_key: --replace me with your AWS secret access key--
This gets the user just to the point of being marginally useful. They can backup their database & sync it to Amazon S3.
Modifying 4 lines in a config file doesn’t seem all that scary, does it? Of course, if you opened up this monstrosity, it might be a little more daunting.
To reveal the full power of backup_fu, one has to peruse the README to uncover the advanced configuration options available.
As you can see, I don’t 100% buy into the simplicity mantra. Yes, simple is nice for something like an iPod where the form factor dictates how limited one is when it comes to functionality.
But for a web application (or rails plugin), I believe there are often ways to keep the simple aesthetic (which is what people really like about Apple, 37 Signals), while still giving the power & flexibility of greater or more enhanced functionality.
The software program which most comes to mind here is Quicksilver:

Tags: 37 signals, backup_fu, plugins, power, quicksilver, rails, simplicity
Shanti A. Braford blogs here.
If you really want to know, just read this.



