Blog Written by: David McWee, SharePoint Architect
View David's Blog at: http://dmcwee.wordpress.com/
With the introduction of the 2013 product line, both Office and SharePoint, Microsoft has chosen to implement an App model. As I have reviewed the app model in SharePoint something else came to mind: Facebook. Facebook has millions of users who maintain information like friends, status messages, likes (and much, much more). What Facebook doesn’t do is build games, but there sure are a lot of games on Facebook…so who does build those games and how do they get them into Facebook? Very simple, Facebook has an app model that allows a company, Zynga for instance the maker of Farmville, to display their web content inside of Facebook using one of the oldest html capabilities: Frames, or in this case IFrames. So Zynga, by using Facebook, inherits the ability to authenticate users without requiring them to sign up, the ability to post information about your game success to your status, and a lot more without having to build anything but the next “great” game. In addition Zynga, because the game is hosted on their server(s) is free to develop in PHP, Ruby, C#, Flash, whatever they are most comfortable with and they don’t have to wait for Facebook to release new versions supporting these languages.
Microsoft’s App model in both Office and SharePoint work basically the same way. In SharePoint, and Office, when you view a custom App Part (basically the “new” web part) what you are really doing is adding an IFrame to the page to display the App. Like Facebook, when you build an App for SharePoint or Office you can now focus on the capability you are looking to add rather than how to get users access, and how to store/save documents. Microsoft’s model for SharePoint provides three approaches, but in reality only two truly unique application styles: pages hosted in SharePoint (SharePoint Hosted) or a web application that is trusted by SharePoint (Provider Hosted and Auto Hosted).
There is one other very important parallel between SharePoint and Facebook. Facebook is centrally, or cloud, hosted so when you access Facebook you’re not connecting to a local Facebook instance you are using a “hosted” instance. Microsoft has been growing Office 365 over the last several years, essentially since SharePoint 2010 was released. However, SharePoint’s problem has always been the lack of customizability in the Hosted environments so given Facebook’s approach I think Microsoft may have found a successful method of allowing customizations to the hosted environment.
The new app model is a definite change in how to extend SharePoint, and I’m sure there will be debate about whether it is worthwhile. Naturally as this is a new capability and should, assuming the development community actually follows Microsoft’s recommendations, changes in the way customizations for are done some will resist and others will go full force behind the new App Model. I understand Microsoft’s thinking behind the new App Model and I’m excited about how it will help with customization of Cloud Hosted SharePoint sites, but as for on-premise locations I’m a bit skeptical about its overall practicality and advantages. Will companies with On-Premise SharePoint really want to have to maintain another server just so they can add web parts with Server Side code? Even given my skepticism, I’m excited to really apply the new App Model to solve actual business problems, and I look forward to seeing how well the Apps are embraced by the SharePoint community: Developers, Managers, and Users.
Stay tuned next week for a sample code walk through!