Software platforms can live and die on the strength of their developer communities. Just ask Microsoft. Remember Steve Ballmer's "developers, developers, developers" speech? As staunchly proprietary and hostile to open source as folks are up in Redmond, they're not dumb enough to deny the huge role ISVs have played in making Windows the dominant desktop OS.
Why should hosted apps be any different? As software begins its transition from the desktop to the Web, SaaS vendors and other online businesses are rediscovering what traditional software players knew all along: It pays to nurture an active developer community. That's why Salesforce.com began promoting itself as a developer platform early on, and why today even a seemingly frivolous service like Twitter is encouraging independent developers to build on its back end.
[ Cut straight to the key news for technology development and IT management with our once-a-day summary of the top tech news. Subscribe to the InfoWorld Daily newsletter. | Looking for deep insights on Java development? Check out JavaWorld.com. ]
What's the point of Twitter, you ask? Who knows -- maybe some enterprising coder will come along with an add-on application that can finally answer that question for you.
But unlike desktop software, opening a Web-based app to third-party developers isn't as simple as just offering a few APIs. The unpredictable nature of the Net exposes SaaS providers to challenges that OS vendors never had to confront. And in this early stage of cloud computing, models of success are hard to come by. As Twitter is finding out, providing a stable development platform for a large-scale Web-based service is harder than it sounds -- and the independent software developers are watching.
Twitter's growing pains
The biggest challenge facing anyone who wants to create a developer community is giving developers a reason to join in. Software development is no Field of Dreams, and just because you build it doesn't mean anyone will come. For example, few open source software projects actually enjoy the idealized, community-based development model that we're taught to expect. In most cases, the majority of code comes from a few key developers who were with the project from the beginning; outside contributions are rare.