I am a developer and as every developer, sometimes I have the irresistible desire to add new features. I am thinking that if I add that functionality it will be so much better for the user or that this one other feature will make the app much more cool and stand out amongst the competition. And so on, until I have ideas for 10 new things.
Yet, there are two problems with this thinking.
First, its completely disconnected from reality. People and businesses use software because it solves a certain problem and removes a pain they have. Adding a feature does not correspond directly to that. You may add something, but if doesn’t solve a pain your users have, they won’t care.
The second serious problem is that you user has only so much attention which he can spare on your application. Each feature competes with all others for it and the user has more choices to make. The result? A complicated software which is much harder to use.
I know that your intention was good, but you know the old saying the road to complicated software is paved with good intentions :-)
That is why when selecting features for your app, do it carefully. Only choose something if it solves a pain your users have and know about it. Even then, add it only if you can provide it in a meaningful manner without diminishing the quality of your app.
We are currently building new web app and this is the approaching we are taking. We know that the competition may have a few more features, but it doesn’t matter. What counts is how you solve the problem and remove the pain of your users, not the features.