Determine a basic need -> Create a service that satisfies it in the simplest way possible -> Open it up.
It sounds simple, but it’s not; determining a basic human need, like the need to share photos or the need to communicate with short text messages is a hit and miss affair.
… I believe now that in many cases it is better to reduce the number of features to a minimum, open the application up via an API, and let the community build on what you have started. This synergy will make your application far more valuable than it would be if it had all these extra features itself.
37signals, Twitter, and a host of other applications are following this model. With the rapidly changing web landscape, I’m not sure there’s a better strategy when rolling out new applications. In the time it takes to build a feature-rich application, the market may have moved in an entirely different direction.
Read the entire article for their rationale, but I completely believe this is the future of building web apps.