A few months ago, I stated that I was still on the fence on the SharePoint 2013 App model and that I needed to see more of it to determine whether it is useful. I followed this up with a post titled SharePoint 2013 App Model Solves Non-Problems Only? that have since sparked some debate.
I’m happy to report that the jury is now back and is ready to pass a verdict.
I, the Jury, Find the Defendant Useless!
Let me skip right to the conclusion so you lazy people can just move on. The SharePoint 2013 App model is useless. It isn’t innovative, it doesn’t offer anything you cannot already do, and its main purpose is as a marketing ploy from Microsoft.
From a technical perspective, I find the App model to be severely lacking even in the most basic functionality. From a user perspective, it is confusing and disappointing. From a developer perspective, it is boring and offers no incentives to adoption.
Finally, and this should interest Microsoft immensely, it is undermining the trust in SharePoint and Microsoft as a serious contender for enterprise functionality.
Now that you’ve read the conclusion, you can sod off and start polluting the interwebs with counter-arguments to demonstrate your lack of understanding.
For those that wish to increase your understanding, read on and I’ll elaborate on why and how I’ve reached this conclusion.
Oh, and you should probably also read the first article on SharePoint 2013 non-problems because it answers some additional points that were clear way back then.
Lack of Innovation
The App model offers a completely new way to build functionality on top of your SharePoint data. Or does it?
The basic premise is that from now on, you should build your Apps outside the SharePoint farm and just call into SharePoint using web services.
But this isn’t really new, is it? For years, those that wish to build functionality this way has been able to do so through libraries like SPServices. Marc Anderson has been a champion of building non-managed code solutions for SharePoint longer than most people have known how to spell SharePoint.
The ‘newness’ has also been argued to be in the vastly expanded functionality that the web services offer and that there are now Microsoft libraries to communicate with these services. Again, this is nothing new, except that the author of the libraries is now Microsoft rather than Marc Anderson.
As for the expanded functionality, this has always been available to anyone who needed that functionality. In fact, even after SharePoint 2013’s release, Microsoft themselves advised customers on how customers could extend the web services with functionality that isn’t included in the App model libraries.
In short, there’s nothing innovative about the model. Everything has been possible all along.
A typical and recently mitigated example is the lack of ability to create a site collection through the App model. That’s right, up until just recently, there was no way to create a site collection through the App model. It was mitigated on Office365 some time ago, but on-premises clients were relegated to extending the web services on their own. If, for example, you wanted an App to create unique site collections for various projects or teams, which is a pretty common pattern, well, you couldn’t do that.
Note: I’d also like to take this opportunity to point out that this shortcoming wasn’t discovered for almost two years, which should say something about the adoption.
This isn’t the only example either, and a lot of the functionality of SharePoint isn’t and can’t be made available through the App model at all. Examples if this are delegate controls, event receivers, and a range of layout options that cannot be accomplished because of fundamental shortcomings in how Apps work.
So, solutions have to rely on extending the web services themselves. That’s been possible for over a decade already. So what if there’s a new URL you can use to retrieve the data through REST; if you needed that, you could have done so years ago and in some cases you’re still being asked to do so.
The problem with this is that the App model with its limitations offer very little to incentivize developers to use the platform. At its core, the App model gives you access to SharePoint data, which could have been cool, except that as a data engine for the web, SharePoint isn’t competing.
Note: If you want to look at the competition on data engines for the web, look at Amazon’s range of data services in AWS or even at Azure; all of these offer data engines that far outperform and out-feature SharePoint.
And it does. Except that the functionality that makes SharePoint competitive such as workflows, delegate controls, master pages, event receivers, and so on still requires farm solutions. That means that to a developer, you either use SharePoint as is, which means it has to compete without any of its unique features, or you still need to learn farm development.
In short, SharePoint as a data service isn’t viable in face of the competition.
Another key selling point is how easy it would be for users to now implement new functionality in SharePoint. They simply head over to the App store and download the awesome Apps that will improve their work life with a click of a few buttons.
The problem here is that there’s so much you cannot do, many of them high on the list of things users want, that it becomes a disappointment faster than you can convince anyone of the subtle benefits.
Want to create site collections for your teams to manage themselves? Sorry, can’t do that (well, now you can, but it’s taken almost two years).
Want to chance the look and feel of SharePoint (and isn’t that always high on the list)? Sorry, can’t do that.
Want to implement simple functionality to fix things like missing Title fields in documents? Sorry, can’t do that.
I’ve reviewed several business cases for functionality and solutions to be built on top of SharePoint and so far, I’ve always had to either say “Sorry, the App model won’t work” or ask the client to change their requirements because the technology can’t accomplish what’s required. I’ve always been able to say “Well, if you’re OK with using Farm solutions, it can work”.
Users see that what they want to accomplish can’t be done more often than they see that they can get stuff done easily.
Lack of Trust
I’ll probably come back to this point in a separate post later, but Microsoft has painted itself into a corner when it comes to building customer trust.
If you look at the history of the recommended SharePoint solution models, you’ll realize that for every version of SharePoint, Microsoft has changed its recommendation. Microsoft shifts their recommendations so often that it is impossible for organizations to keep up. Organizations and developers put their money and time into a certain and recommended method only to have that method ridiculed or deprecated a few years later.
So, Microsoft, if they were to change their recommendation again for vNext (aka SharePoint 2016), would lose any trace of trust they have. They cannot simply abandon the App model, so they have to stick with it, even if they themselves realize it’s sometimes ridiculous and lacking.
That means they must keep working on getting the App framework to catch up with Farm solutions and that further stifles innovation. They cannot create awesome new functionality that harnesses the power of SharePoint fully because they still haven’t gotten most of the basic functionality to work. And they cannot abandon it because it would kill every ounce of trust they still have in SharePoint as a development platform.
You Are Sentenced to Oblivion
With all these problems with the SharePoint 2013 App model, I’m sorry to say that I don’t really see a future for it at all. Not just that, but the App model is holding back the innovation of SharePoint as a platform; the very thing that made SharePoint so awesome in 2007.
Unfortunately, Microsoft can’t abandon it either; they’ve put too much clout into it. Their entire development story for SharePoint 2013 hinges on the App model, and it’s not telling the story that developers want to hear and it certainly doesn’t tell the story that users want to hear.
It doesn’t matter whether the administrators love not having to deal with farm solutions anymore because, long term, the business solution doesn’t involve SharePoint at all.
Found this article valuable? Want to show your appreciation? Here are some options:
a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.
b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.
c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!