First off, let me say I'm very impressed with Salesforce.com. I admire the company considerably. My startup, HubSpot, is a Salesforce.com customer. We're also about to become a partner so we can integrate our marketing product with the SFDC CRM/sales application and create some benefits for our customers.
As a CRM applications company, I think Salesforce.com is simply brilliant and the company deserves much of the success it has achieved. I even like the fact that they built an API so that third-parties can create value around the core Salesforce.com CRM application. This is just smart as it further extends their reach and gives the ability for customers and partners to create more value.
However, I'm a bit troubled by the recent announcement of force.com, SFDC's new "platform as a service" offering. My concern is not with the actual underlying technology, as I don't know much about it. I've never written a line of Apex code in my life (this is SFDC's proprietary language introduced as part of the hosted apps on AppExchange). My concerns are primarily strategic in nature and centered around software entrepreneurs looking to build businesses on top of force.com. My guess is that startups are the initial primary audience for force.com as I don't believe large, established enterprises will be buliding or porting apps to force.com anytime soon.
So, if you're a software entrepreneur, here are my thoughts on the tradeoffs of building your shiny new startup on top of force.com:
1. Lack of an ecosystem: I think the ecosystem surrounding a platform is as important as its underlying technical merits. Where will you find other developers? Books? Training? Tools? Components? If you have to initially rely on SFDC and it's small pool of early partners, chances are, you're going to pay higher than average costs for all of these things.
2. Upper Limit On Growth: Lets say your idea really is as brilliant as you think it is. How far do you think you can take it on if you're running on force.com? $10M? $100M? The next Facebook? I'm going to argue that there's an intrinsic limit on how big your company can get while running on force.com. I clearly have no data to back up this argument (yet), but see point #3 below for some rationale.
3. Royaties: So, what will being on force.com cost you? Unlike successful platforms of yesteryear (like DOS, Windows, Mac or the Internet), force.com has a royalty. You're going to pay Salesforce.com $25/month/user to run your app on it. I like the simplicity of this, but it does limit the kinds of apps you can build. There are lots of software businesses out there where $25/month/user would likely be over half the revenue generated. Sure, you get infrastructure, distribution help (in theory) and a shorter development cycle. But, this comes at a price.
4. Price Controls (or lack thereof): I would worry that in the long term, Salesforce.com would have significant "power" over the price -- and would likely find ways to exert that power over startups. I'm not saying that they're necessarily going to *raise* prices, but they're likely going to take a larger fraction of the "market value" for the capabilities they're bringing to the table. So, 5 years from now, when processors, storage, bandwidth and other infrastructure components are even cheaper, there's no requirement that SFDC has to reduce its prices to match "market". Once you're on, you're on. Another alternative would be to come up with force.com "Enterprise" (basically a segmentation and price discrimination strategy). The features included in the "Enterprise" platform would be just those those successful on the platform really have to have.
5. Focused Competitive Power: Since this is "platform as a service", SFDC would have considerable power over the startups that run on it's platform. Back in the day of DOS/Windows, there was suspicion that Microsoft went out of their way to ensure that apps like Lotus 1-2-3 and WordPerfect had "trouble" running on their latest OS. But, back then, the product update cycle was pretty long and there were literally thousands of developers using the platform that Microsoft didn't necessarily know about. Even if they Microsoft hated your guts (because you were competing with them), it would take them some time and effort to really single you out and do damage. They couldn't easily change the platform to make your life (individually) hard. But, with force.com, the power to change is immediate. If you failed to negotiate a new partner agreement, pay your royalties, or (gasp!) wind up in a situation where SFDC really liked your market, they could (technically) turn you -- and your customers -- off in a second. There's nowhere to hide. I'm not saying they'd do this, but simply having the *ability* to do this gives them a fair amount of power and future negotiating leverage.
My point is, though I find the force.com "platform as a service" idea interesting, I'd be a little leery of actually putting all of my startup eggs in that basket. I'm sure there will be entrepreneurs, VCs and other folks that will support SFDC in this effort and work to make it successful. But, for now, my bet is that SFDC won't be nearly as successful in the broad "platform as a service" market as they were in the CRM apps business. It's just a very different game.
This is why I like the Facebook platform. You get the advantage of a large and growing number of users on the platform -- without all the muckiness of having to use their language, tools and technologies. In fact, you could simultaneously build an app that lives on Facebook -- but also runs on it's own, thereby giving you the best of both worlds. Sure, you still have to worry about infrastructure -- but that stuff is geting easier and cheaper.
What do you think? Are you considering spending the next couple of years building something on force.com? Am I being overly paranoid here and missing what will prove to be the greatest opportunity since Windows for software developers? Would love to read your thoughts in the comments.