The New Model for Office and SharePoint Apps

As I write this blog entry, I’m flying to Atlanta to give the last of 13 seminars on the new App model that is available for Office 2013 and SharePoint 2013. I have taught this material to people all over North America, as well as in Paris. As a result, I have talked to a large number of people not only about the model, but also about their plans for it. This gives me a fairly unique perspective into how people are taking the new model, as well as how it will be adopted over the next 6-9 months.

What is “The New App Model”

In a nutshell, the new app model is conceptually similar for both Office 2013 and SharePoint 2013. The basic idea is that the application no longer needs to be installed on the client’s machine (or in the SharePoint farm). There is no assembly that is deployed onto the user’s system. Instead, a manifest, in the form of an XML file, is made accessible to the client software. This manifest file includes, among other things, a URL where the application lives. And that application interacts with your client software (whether it be Office or SharePoint) through a combination of JavaScript and server-side code. That’s right, the App Model allows you to create Web sites that are hosted any place you want, but appear to run inside of Office/SharePoint. And, by the way, the Web site can be constructed using any technology you want. There is no requirement that the site use the Microsoft stack. If you’re rather create Web applications using LAMP, that’s all fine and good in this model.

What’s the Benefit?

Well for the Apps for Office model, the benefit is that you don’t have to wrestle with VSTO or MSIs to be able to deploy your applications. There is (more or less) no administrative permissions required to install an application. And there is now an Office Store where users can search for and install your application. So your ability to reach more potential clients is much higher.

For the Apps for SharePoint model, there is no need for sandbox solutions. This is not to say that you still can’t write sandbox (or farm) solutions. You can. And they still have all of the same limitations that those applications had in SharePoint 2010. But the guidance is that they should no longer be needed. The client side object model (CSOM) has been expanded to the point where farm solutions are probably not required. And if you are working in a shared hosting environment (that’s everyone is SharePoint Online, as well as a number of clients of ours), then you can be freed from the limitations of the sandbox.

And What are the Problems?

The biggest problem is that, because the model is completely new, there is no compatibility with older versions of the products. This model will not work with Office 2010 or SharePoint 2010. At all. No way, no how. If you understand the details of what’s going on, you’ll understand why this limitation exists. But the practical impact is that your only audience for any app you write and want to sell is new users. In the corporate world, this could be a few years off. For SharePoint Online, it’s a little closer, as the back-end functionality is in the process of being converted, with the user interface to be upgraded over the next 12-18 month.

Along with the need to have users on the latest version, the capability of the interface with the software seems to be a little lacking in certain areas. I found this to be particularly true in the Apps for Office model. A number of people had interesting ideas for Word or Excel applications and their first choice for a user experience ran aground on the shoals of missing capabilities. For instance, there is no way to retrieve or modify the format for a particular cell. Nor is there the ability to have the app set the currently selected cell. Is this a critical lack of functionality? Possibility. But I also know a number of people who are on the development team and they are eager to address holes in the functionality, especially if there is a compelling story around the request.

Is It Worth Using?

I think that quick answer is ‘yes’. Now it could be that I’m biased…I have been teaching this material for a while. But I like to think that talking to people about the model, hearing what they want to do and working through how it might be done has given me perspective. And I don’t have a history of liking a technology just because I teach it.

Again, dividing between Office and SharePoint, I believe that app model for SharePoint will be transformative. In particular, if you have a Web-based application that has nothing whatsoever to do with SharePoint, it is simple to integrate the application with SharePoint. And put it into the SharePoint Store, increasing its visibility. The model also requires that people who create SharePoint applications need to rethink their approach. Instead of being forced to utilize SharePoint as a data store (a task for which is it not particularly well suited), you can use a real database. Yea!!!!

The app model for Office is a good one in cases where it fits. At the moment, that seems to be helper applications. Dictionaries, encyclopedias, image searching. Maybe an application that can perform calculations based on the data in the document. But at the moment, there do seem to be some pieces of functionality that I’d like to see put in place. And the model is so different from how users typically use Word/Excel that I can see it taking a little bit of time to see mass acceptance.

If you have any experience with the app model, either with Office or SharePoint, I’d like to hear how it went. What type of applications have you created? Was there missing functionality that you had to work around? I’m done with the teaching tour, but I’d still like to keep in touch with how people use the model.