Posted by Tom Grant on August 19, 2008
I don't think I've ever worked for a software company that didn't aspire to be a platform. Of course, the meaning of platform isn't always the same. For some, the word means infrastructure on which you build applications. For others, it connotes a category of data that is central to your business. And, of course, there are other variants.
Being a platform, in either meaning of the word, takes a lot of smarts, sweat, and patience. You don't become a platform overnight. It's not merely a matter of positioning--as if something that's presumably as solid as a platform could somehow be positioned in the first place. (Of course, we're dealing with companies that are, by and large, headquartered in California, so perhaps the concept of a foundation that shifts to and fro isn't all that strange.)
The trajectory of Salesforce is interesting, as it traverses both definitions of platform. As the infrastructure on which you build applications, the Force.com platform provides a set of APIs, tools, and services. Both this platform and the actual infrastructure behind it (databases, application servers, etc.) just happen to reside in the clouds.
The other track on which Salesforce moves is the CRM application path. While they continue to enhance their name-brand CRM system, Salesforce also offers a wide variety of complementary capabilities, such as knowledge management and human capital management, through their AppExchange. Regardless of how many different applications one runs against the same Salesforce repository, the information about customers and partners in that repository can be, in its own way, a platform. If several important applications all point to the same data, the label platform is certainly merited.
The story of the Salesforce platform--both Force.com and customer data--may not be finished, but the basic strategy makes a great deal of sense: the chances of becoming a successful platform increase as you move along more than one track. The repository and development aspects of the platform help each other. If you have data you care about, you'll build applications around it. If the people building applications like the platform, they'll figure out how to move data into that environment.
This strategy is the platform technology equivalent of the old adage, "Trust in God, but keep your powder dry." Build an innovative platform for application development, but maintain a healthy flow of data into this environment.