Last time: “Can’t Make a Killing From Platforms Without Killing the Community,” in which I said that those who develop a platform rarely recoup their cost directly, and so they might look to reduce their cost through open-source efforts.
Now: How do you create demand for a platform?
[This is an excerpt from a Lisp conference talk I gave in 2002.]
Defining that space of applications for our platform is important. It gives us focus and a context for making design decisions. This feature matters and that one doesn’t. But more importantly, an actual application is our ticket for getting people to use our platform.
Hypothesis: Only applications get people to use platforms.
People don’t adopt a platform because of its potential – they buy into it for what it does for them now: an application that they really want.
Suggestion: Supply at least one application from the beginning, just to promote the platform.
There’s a lot of synergy when the application and the platform are created together, by the same organization. Each development influences the other. If you have to team up your language expertise with some other group’s application domain expertise, that’s cool, too. But remember, the application is the product that people are signing on for, not the platform.
When done properly, the application will spread the platform like a virus. It will expand into several layers of communities. In other words, into neighboring markets:
The most immediate community is the initial application users. Since the purpose of the application is platform adoption, not revenue, its OK to make the application be free if that will help spread it.
If the application is not only free, but open source, we hope to attract developers to enhance and improve the application.
Given that it’s built on an identifiable and separable platform, a community of developers on the initial application can spin off activity on other applications. The more applications we get, the more demand and validation we have for the common platform. This also generates a market for the developers themselves. Once there’s a market for developers who know this platform, then commercial entities like our example bank can begin to adopt the platform for their internal application development.
With real involvement in the platform comes system developers for the platform itself. The more tools and libraries they create, the richer the platform. This brings us to the state of J2EE in the job listing that I showed earlier.
Sounds good, but how do we go about creating such a scenario? We engineer it!