SharePoint 2013 App Model – The Jury is Back

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.

Technical Shortcomings

Even if one were to accept the argument that the concept behind the App model, of putting the calling HTML and JavaScript files somewhere else, is valid, the App model lacks plenty of functionality that is required to build anything but the simplest of solutions.

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.

Developer Incentives

A key selling point for the App model is that it makes SharePoint development available to anyone who knows how to use HTML and JavaScript. Microsoft has even said that it now has millions of additional developers because anyone with HTML+JS skills is now a SharePoint developer.

The premise of this argument is that through HTML and JavaScript, developers can now access SharePoint data and develop solutions that use SharePoint simply as a data service.

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.

HTML and JavaScript developers look at what features a service provides when deciding where to put their learning and development efforts. That means that SharePoint needs to compete with every other commodity data service.

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.

User Disappointment

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.

.b

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!

Pin It

Published by

Bjørn Furuknap

I previously did SharePoint. These days, I try new things to see where I can find the passion. If you have great ideas, cool projects, or is in general an awesome person, get in touch and we might find out together.

14 thoughts on “SharePoint 2013 App Model – The Jury is Back”

  1. I just started dabbing with the SP App Model (I am not SP dev) a few weeks ago. I’d like to take a moment to say thank you for this awesomely demotivating post. 🙂

  2. Bjorn, I agree 100%. Steve Ballmer’s famous rant about “Developers! Developers! Developers!” apparently didn’t get through to the SharePoint team. The App model exists to push Microsoft’s cloud, and the supposed benefits for devs are, quite frankly, bullshit.

    I just wonder what will happen when it’s clear that the App model has failed to get traction with developers. It’s going to be another tremendous blow to the product’s credibility, perhaps even a death blow.

    1. Matt, I think you’re right, but in that, I also think there’s hope for the platform. If Microsoft somehow realizes that they’ve made a mistake, perhaps they can start marketing a more sensible approach. I don’t know what that is yet but I know that it’s not the one-sided “all hail to the App baby!” approach that we have now.

      Thanks for your comment.

  3. The apps model is noble in its intent, but I think shows what happens what people fall in love with the conceptual model they have drawn on the whiteboard…

    Here is a fairly detailed breakdown of the app model, incorporating a lot of what Bjorn said in his previous apps model posts. Looks like I have a few more things to add now…

    http://tinyurl.com/nrt24k9

    Paul

  4. Björn,

    I totally agree with you. Thanks for putting your thoughts on ‘paper’.
    The whole App model is cumbersome and gives me a ‘sandbox’ feeling.

    SharePoint Apps don’t deliver anything innovative. Only frustration to developers who are forced to work with less than great models and users whp are disappointed with SharePoint overall.

    Problem is: I think a lot of SharePoint specialists don’t speak up because of fear of ‘polluting their own nest’…

    Let’s hope Microsoft somehow rethinks…

    Ernst

    1. Your thought on not speaking up is important, Ernst. It’s prevalent in the SharePoint community at large; people are scared that Microsoft will punish them if the state their true feelings. You have no idea about the amount of private conversations I have with community leaders cursing aspects of SharePoint that they won’t say in public due to fear of repercussions.

  5. Hi Bjørn,

    completely agree with you, the new app model is a good try, but nothing else. I think it’s time for community to say “No”. Microsoft should change the line.

  6. Hello Bjorn, i have to admit i’m somewhat forlorn bjorn about some of these App Model findings you’ve made and think this App Model is a huge paradigm shift in the learning curve. And i’m seeing this acted out first hand where i work, where they’re burning through one consultant after another, every 3 months or so, thinking there’s something wroing with the HR people in how they’re hiring Sharepoint consultatns, when in actuality, very few people can get a handle on this new App Model approach, including Microsoft based on the samples i’m seeing them provide! i.e most of the samples are very simple, move a to b appliications that in themselves are bind blowingly complex, not to mention recently dumping the AutoHosted and dumping that on some other ouside group, to figure out, it seems that way anyway.

    On the other hand, being an “out of the box” user myself, i hoping, just like that “Violin player on the Titanic”, that Microsoft is currently working on a replacement for INFOPATH and i think that’s absolutely doable after just compiling a ToDo sample on Ubuntu using the
    ChromDart/Angular.js tooling, so can i logicially extrapolate that Microsoft is currently working on IE/Xamarin/Typescript/Angular.js” tooling to replace INFOPATH and for a user like me that would be like kicking on the bilge pumps and escpecially now knowing that Access 2013 is rally SQL Server behind the scenes, i.e. to address the data server platform concerns!

  7. I myself have, since MOSS 2007, then 2010 and now 2013 really honed my skills over the last seven years perfecting the art of SharePoint Development. In part thanks to you and the articles I subscribed to. Actually, all of my 2007 projects migrated successfully (Except the branding which was expected) to 2010 and then to 2013. Hey, I think I’ve been developing correctly, wouldn’t you say? Now I have to unlearn and re-learn a new model ? Why, because other developers didn’t RTFM (Read the Friendly Manual) ? I guess I’m getting old and irritated with the fast pace of technology. It takes time to get really good at something, but that something is always changing. How does one keep up without burning out?

    Bismarck

    1. i agree. cloud first mobile first. can’t ignore that. everything else in the article is not anything that can’t be fixed by expanding the breadth of what the app model can do.

      1. They key problem, however, is the “why should I support this?” SharePoint is inherently poorly suited to support the scenarios of serving as a backend for HTML+JS apps. Other frameworks as far superior.

        You may say that they can improve the model, but so can all the other frameworks, leaving SharePoint with a really poor starting position, having to play catch-up to everything else just to get even.

        In the meantime, developers look to other frameworks, even Microsoft’s own like ASP.NET MVC and WebAPI, to do their jobs. Only companies that choose SharePoint in spite will continue building applications there. “You have to use SharePoint because that’s just the way it is” will become the only argument left.

  8. I couldn’t agree more. I’ve been telling fellow developers and clients since the app model was first released that I felt it was mostly a marketing ploy from Microsoft, which was a bit disappointing. For all the reasons you mentioned, the app model just isn’t compelling. It’s basically a way for Microsoft to inject themselves into transactions between vendors and clients and take a piece of the profits, which isn’t much of a value-add on their part. If there *were* something innovating about it, then that would be another story.

    Couple of additional reasons it’s not taking off (in my opinion):

    (1) A lot of corporate clients don’t want to enable to ability to install apps in SharePoint in a corporate environment. Period. It’s simply against policy for a variety of reasons, and they’re not motivated to change the policy to allow it.

    (2) As part of your “lack of trust” point, I’d add that there’s a quality assurance problem with apps for SharePoint just like with all the other app stores out there. Because “anyone can do it,” the tendency is for quality and price to both go down over time, which isn’t good for clients buying add-ons for ENTERPRISE software. I thought the “dollar store” description I read in one of your posts was dead on. Not saying there aren’t decent apps out there, but I’ve tried several that were crap and flat-out didn’t work.

  9. Thanks for the post. You sound like me.

    I’ve personally found using much of Microsoft’s stuff is like pulling a string through a cylinder, only the string is the same length of the cylinder. So, if you want the string to stick out on one end you can pull it out a touch, but now it’s missing on the other end. No problem weve got a hack for that, we’ll just pull this end out. What? Now the other end is missing! And around and around we go.

    Sure this and that is integrated until you want to do something used in everyday life (analogous to db normalization) but alas, you must spend countless hours douing research and meditating because the knowledge only comes through osmosis, hoping and praying.

    Why does everything have to be so unwieldly and over-engineered??? Like Scotty said “the more you overtake the plumbing the easier it is to stop up the drain”.

    Cheers.

Leave a Reply

Your email address will not be published.