SharePoint 'Apps' - a missed opportunity?
Almost everyone who uses a computer or mobile device these days is familiar with apps and app stores. Back in the day, computers used to have "programs," and it was even once seen as fairly progressive to venture out onto the web and download something for yourself. No longer is this the case. Users are happy using app stores, and such mechanisms are almost expected on any new platform.
Microsoft was fairly slow to the app game. It never really had a successful phone platform with which to experiment in the way Apple did. Steps have now been taken in Redmond though, and the Windows 8 app store is expected to play a big role in the day to day use of the new operating system. SharePoint 2013, recently previewed by Microsoft and currently in the hands of excited enterprise testers the world over, now also has its own app store. However I can’t help but think, in its current guise, it is a missed opportunity.
There are actually two types of "store" in SharePoint 2013. A public one and a corporate one. This means that individual companies can have their own internal private SharePoint app store, restricting what apps are available. Apps themselves come in three flavours:
SharePoint "On-premise" hosted apps
A app is hosted entirely internally on a locally installed SharePoint environment. The key point with this type of app is it cannot run server side code. All code uses REST, as well as HTML and CSS.
Remote apps hosted by Azure
Apps are hosted in Microsoft’s developer cloud service Azure.
Other remotely hosted apps
Similar to above but apps can be hosted anywhere (such as Amazon web services or the developer's own servers). This allows apps to be written in almost any language (SharePoint apps written in PHP!), providing a bit of added flexibility for developers.
The problem with apps, as they feature in this preview version, is Microsoft hasn’t really defined what they are, and equally importantly what they aren't. To my mind it made perfect sense if they neatly replaced web parts (Web parts being the widget style blocks of functionality that users can drag onto a page). Instead Microsoft has kept web parts, and added "app parts" for apps. This is just confusing.
Microsoft seems to have defined an app in terms of how the functionality is pieced together in code, how it is architected. But at the same time they have plastered the word "App" all over SharePoint, very deliberately putting the word in the user's domain. The way they have done this is going to make the users view of an app very different to that of a developer. Is a web part (like a task list manager that can be dragged onto the page) an app? Not currently, but why not?
The confusion doesn’t stop there. Lists and libraries (a staple in previous versions of SharePoint, like web parts) have been renamed as "apps" as well. When users want to add new content to a particular site they add an app from the "Your apps" page. This page includes what we previously thought of as lists and libraries, as well as new, more traditional SharePoint 2013 apps. To add to the confusion, they are still referred to as list or libraries on this page, the term app is seemingly used more as a collective term. Throw in the "web parts" we discussed earlier and it all seems a bit of a mess.
Apps in SharePoint is a good thing. The hosting options, and the option of a corporate store, are also good things. But Microsoft needs to clearly define what an app is. Right now it’s all a bit confused. Let's hope it is cleared up in the final release, or apps could be a real missed opportunity for SharePoint, and Microsoft.