Salesforce.com's newly launched application-sharing and 'enterprise mashup' platform, AppExchange, has evolved in response to customer demands for integration and customization of the company's core CRM application, CEO Marc Benioff told me when we met last week.
But the concept has since moved on from simply being an extension to the CRM application,"Companies will have their own private AppExchange, only for use by them" he said. By last year, the customization capability had reached such a point that a customer could pretty much build their own application against the Salesforce.com database and user interface. Then came the introduction of MultiForce — "the ability for them to not have one custom application but [many and] then start switching between them, as well as being able to inherit technology from other sites through this mashup concept."
Next, he said, there came a conceptual leap that led directly to the creation of AppExchange:
"That's when we really drove the concept of, what if you could save these applications? What are you going to save the application to, a disk? No. You're not going to save it to a disk! You're going to save it to a directory.
"That's a breakthrough idea, just right there.
"Then you can have a public directory, you can have private directories, and you could have OEM directories. Because AppExchange itself is just an application. We've said that quite a few times, but it's such an abstract idea, most people cannot understand that AppExchange is only an application on AppExchange.
"So there will be a lot of AppExchanges. Today, there's already a Japanese AppExchange and our US AppExchange. Those are two. But there will be more AppExchanges. They'll be OEM'ed by different companies, different languages, and companies will have their own private AppExchange, only for use by them — a directory of applications only for their company."
Anyone familiar with SOA, of course, will recognize that this notion of an application directory is a strikingly similar concept to the registry or repository that governs use of services in a service-oriented architecture. Except that with AppExchange, the expectation (and the monthly licence fee) is based on the assumption that every application must use the Salesforce.com user interface and database infrastructure.
The concept of OEM versions raises a quite separate possibility, that a third party might use the API infrastructure (and probably the database) while adding a user interface of their own. No private-label AppExchanges exist today, but it will be interesting to see if any emerge.
All well and good, but where does that leave Salesforce.com's bread-and-butter CRM applications?
"The focus is in three areas," said Benioff. "We call it the three Ds:
- The desktop — the ability to choose between these different apps and move between them and change as it were.
- The directory — the ability to take those apps and push and pull and publish and subscribe.
- And a duality — not forgetting we’re still in the CRM business, so whatever we do with AppExchange has to make our core product better.
"We're not just a development platform, we're not just doing data management generically, we have to live the duality that we are still a killer CRM app. And that [AppExchange] is making our app fundamentally better. It may pull us in new directions, but we have to remember that [duality]."
I put some further questions about those new directions, specifically what would motivate users and software developers to start using AppExchange to store and share applications. Benioff's answers are in my next posting, which will appear a little later.