I enjoyed a well-considered article from Global 360's Derek Weeks today on CMS Wire. Derek asks, "Is it Time for a SharePoint App Store?"
It's a great question, and one that many of us have been asking for years, with only one obvious answer: "Yes!" But perhaps the more important question is, "Who can deliver it?"
Derek says, "As millions gained access to SharePoint from IT organizations that deployed it without an explicit strategy, its out-of-the-box experience often left them disappointed." In my opinion that statement is obvious and not even remotely controversial. It reminds me of some old creative concepts I had developed for Bamboo that never quite made it to market:
But I would quickly point out, as does Derek, that SharePoint's failure to impress "out-of-the-box" is not a reason to reject the platform, nor is it some kind of failure by Microsoft. Rather, this is the new paradigm for platforms of all kinds. OK, that sounds a bit esoteric. What do I mean?
Here's one of the more approachable ways I've tried to explain this: What's the best feature of the iPhone? Is it an easy-to-use touch screen interface? Email aggregation? A high quality mega-pixel camera? No, no, and no. The best feature of the iPhone is it's extensibility. Via the App Store, I can add new features to my phone on demand, anytime. The product gets better for me every day, because there is an ocean of new functionality out there for me to choose from. SharePoint should obviously work the same way, and in many respects it already does.
Microsoft, and frankly all software companies know that no single entity can out-innovate the global development community. It's not a fair fight. Even with the thousands of top-notch developers Microsoft employs, they will never be able to stay out in front of "rest of world." The next hero feature, the next killer app is going to come from some guy in his basement. Platform makers know this, have embraced it, and rely on the global development community to provide key feature extensions. Personally, I think Microsoft is better than most companies at enabling and supporting that development community. As a Microsoft partner, Bamboo has always enjoyed robust support from Redmond, with generous access to product teams and new technologies.
But if that's all true, why isn't there an established, integrated marketplace for SharePoint feature extensions built directly into the UI? Why can't users browse a catalog of apps and features and install them on demand? If we all agree there needs to be a SharePoint App Store, who is going to build it?
Why Microsoft is Struggling
I can tell you candidly that Microsoft intended to include an integrated marketplace in the SharePoint 2010 release. Bamboo was selected as one of a handful of vendors to pilot the program. I'm fairly certain that a couple of folks lost their jobs because that marketplace wasn't ready for the 2010 launch. We could tell early on that there was enormous complexity that even Microsoft would struggle to resolve.
What were the problems?
I got a fresh reminder of the biggest problem while listening in on a Bamboo sales call recently. The conversation was between a Bamboo sales rep, and the lead SharePoint solution architect at a Fortune 500 company. The Bamboo rep was asking about the internal demand for third-party solutions. The architect responded quickly, authoritatively, and with perhaps a little venom. She said, "We will NEVER allow our end users to decide what code lives on our servers." It makes complete sense. The last thing that IT wants is a bunch of foreign code on their servers from third-party publishers. When something goes wrong, that's just another unpredictable variable to diagnose and resolve. If you start to add in multiple third-party solutions, from a variety of vendors, it seems very reasonable to be concerned about a catastrophic mess.
Microsoft doesn't want to support that scenario any more than your IT department does. If they enabled your end users to install a Web Part or a solution and something goes wrong, they know they will be on the hook to support and resolve the issue as well. So Microsoft faces the challenge of testing and certifying third-party apps. That's a big job, and I'm not sure it's one they want.
Next is licensing and "metering." Will there be a standardized solution to licensing? Will companies pay by the app, by usage, or per user? This stuff gets complicated quickly, and both publishers and buyers will want a lot of options.
Beyond the technical issues, there are complexities to be resolved around who collects the money spent on third-party apps, how big a percentage goes to the marketplace vs. the vendor, etc. This is just work, and should be solvable, but it takes time.
What Microsoft was able to launch for SharePoint 2010 was a thoroughly unsatisfying attempt to bypass the technical complexity. We got PTC, "Partially Trusted Code" and "Sandbox Solutions." The big problem with these offerings was that they imposed such severe limitations on the functionality that nothing truly useful could be installed.
It seems clear to me that establishing an integrated marketplace for SharePoint is still a very high priority for Microsoft. My hunch is that there is an executive or two in Redmond that simply will not take no for an answer. There were a lot of hints about what is coming at Microsoft's Worldwide Partner Conference in Los Angeles in June. I was very surprised to see Microsoft Pinpoint, Microsoft's "search engine" for Microsoft partners, positioned as the front-end to App Stores for Dynamics and Office 365.
If you dig down into Pinpoint, you can see that the groundwork has already been laid. Microsoft partners such as Bamboo can now build out listings for products (and services) that support and extend either Office 365 or Dynamics. These things aren't called Web Parts, and they aren't called solutions or applications… they're called "Apps." Here's a screen shot taken directly from the interface:
So Microsoft is investing heavily here, and will ultimately overcome the stumbling blocks because they have the will to do so. As time passes, things might actually get easier for them.
The reason that Apple, Android, Salesforce.com, and others have been able to create and manage these marketplaces is because they ultimately control the platform and the environment. The difference with SharePoint is that up until now, SharePoint deployments have lived behind the firewall. Deployments differ from farm to farm and include many customizations. This is less and less true as the world moves into the Cloud. When organizations are standardized on Office 365, hosted by Microsoft, stability of the environment and the suitability of third-party solutions will be much more directly under their control. It may be the case that Microsoft just decides to wait out the "on-premises" folks and offer an App Store only for Office 365. It simplifies the challenge, but that may be a long time to wait. Only time will tell if the end user demand for extensibility will force Microsoft to solve this problem sooner than later. While we wait for that to play out, is there an opportunity for someone other than Microsoft to fill the void?
Bamboo Already is the App Store for SharePoint
Bamboo is the #1 vendor of solutions and feature extensions for SharePoint. In a recent survey by Mindsharp, we learned that 1 in 5 SharePoint deployments already has some Bamboo product or solution installed. Bamboo has the largest number of "apps," ranging from Web Parts to more complex applications like PM Central, our popular project management solution. Bamboo offers more than 70 individual products for SharePoint, and that number continues to grow.
Bamboo as the App Store for SharePoint solves a lot of problems for the enterprise. End users and stakeholders are demanding solutions and feature extensions faster than IT can deliver them. In their consumer lives, end users can add feature extensions to their cell phones, to their Facebook page, to their television, etc. They don't understand why they can't get the same functionality in the workplace, and they simply won't stand for it. The threat of revolution, and an end-run around IT is higher than ever as cloud-based solutions become more and more available. If a sales or marketing organization can't get the functionality they want from CRM, they'll stop bugging IT and go straight to Salesforce.com So long as they get the results they want, they're going to win the arguments in the boardroom.
Bamboo is a great answer for companies because of the breadth of functionality offered from a single vendor. IT may not love the idea of adding third-party apps to their central infrastructure, but it's more tolerable when they can standardize on a single vendor for all of their needs. The fact that Bamboo will provide support for all of these apps makes their lives a lot easier.
Bamboo as the app store for SharePoint works "on-premises" or in a private cloud, and will support hosted environments like BPOS and Office 365. Bamboo has developed apps for SharePoint that live in the Cloud. Cloud Parts are apps that are hosted on Azure but can be installed by end users without IT intervention. Because the business logic and even the UI resides on Azure, nothing needs to be added to a local server. That is certainly the future of extensibility for SharePoint.
There are a lot of moving pieces. There are a lot of companies and individuals working to shape the outcome right now. It will be very interesting to see how things play out. Microsoft is the most important player, but companies like Bamboo have a lot to offer as well.
I think Derek's article is one of the first voices in the growing din of end users demanding more functionality from SharePoint. We hear you Derek, and are answering the call!