Salesforce's Ecosystem Problem
As Marc Benioff noted in a recent Bloomberg interview on the retirement of Steve Jobs, one of the key struggles of Salesforce over the past couple years has been to build an ecosystem around their enterprise offerings. This attempt has been a mixed success. Although the AppExchange has a number of successful apps, the pain of development in Salesforce's proprietary language, lack of transparancy with respect to pricing and profits, and the necessity of getting Salesforce itself to promote your offering have all made the AppExchange rather less interesting than its peers.
Somewhat more successful has been the partner ecosystem, although here Salesforce has also had to play favorites (noting their recent public strategic investment in Appirio), and the rather substantial first-mover advantage enjoyed when it comes to signing top talent and re-usable IP. For instance, despite the heavily promotion of CloudSpokes and Appirio's ostensible commitment to open source, many projects are not open sourced and those that are are not really open sourced, but released on a license that limits usage to installation in small to mid-size organizations.
Moreover, despite recent acquisitions and a notable push at this Dreamforce (the annual Salesforce conference), virtually nowhere in the existing Salesforce ecosystem is there a substantial commitment to open source languages or projects. The few that currently exist languish due to lack of attention and the lack of any viable financial stream that would launch them forward from being hobbies to actual products.
The primary problem here is not all that different from Apple's problem, although it is exacerbated by the enterprise mentality -- decisions are primarily made top-down rather than bottom-up. This is not always a bad thing. At least in Apple's case, many decisions have been made which limited technologies employed to promote a consistent design and user experience. The problem in Salesforce's case, is that the limited technologies employed to date have largely been a inferior subset of other widely available technologies. The most often stated case in point is Salesforce's terrible Eclipse plugin, which despite thousands of requests to improve or -- at the very least -- open up to community contributions, remains closed, bug-ridden, and leaving would-be developers locked out of many of the more powerful features of the Eclipse IDE.
Of course, this fails to mention the large number of talented developers who would prefer to use other tools and technologies. Salesforce's failure to provide any meaningful engagement to these people mean that their street reputation within the developer community (as attested by numerous conversations by this developer) lies somewhere between Oracle and Microsoft -- which is to say, somewhere between disliked and despised. Salesforce's commitment going forward cannot simply be tweets and prizes at Salesforce conferences, it must have dollars and cents attached to it.
Where should this money go? First, it should seek to seriously engage small firms or independent developers that, typically, are the early adopters of promising new technologies. Heroku has excellent relationships along these lines, particularly within the Ruby community. However, Salesforce is best served by being a hub and cash cow for these technologies than seeking to control their development. Don't attempt to buy their firms or hire their best employees, Salesforce simply can't innovate in the way that small firms can.
Here's a concrete suggestion: put aside a few million dollars (like Appirio) and start pumping it into truly open source projects. Put out RFPs, turn them into tools that your team has been unable to develop in house. Some money will invariably be wasted in the short term. In the long run it will build up a viable ecosystem based on apps that neither are painful to use or develop. If you are lucky and dedicated, it might even be enjoyable.
Jobs was a visionary. Benioff is a visionary. Salesforce is a peerless contender in the enterprise space. But compared to many of the recent advances in technology, particularly when it comes to user experience, Salesforce lags behind. Now is the time to step into Job's shoes and set things right. Set a vision for the future and put your money where your mouth is. "The Cloud" demands no less.
To discuss, please come to my (Joel Dietz) Dreamforce sessions on open source in the Cloud and connecting Ruby apps with Force.com.