SharePoint 2013 offers fine balance between official and "shadow" development
SharePoint has always been one of the best examples of "shadow IT": unofficial, unsupported technology that users and managers bring into the office to help them get their job done. One of the reasons for the original success of the PC was that it was priced just under the sign off level of the typical middle manager who could buy it on expenses to avoid waiting for the IT team for everything; iPads and cloud services like Dropbox are just the latest incarnation.
With SharePoint, you could put a server under your desk and share documents with the rest of your team rather than mailing fifteen versions of every document back and forth (and always having the wrong one yourself). You could use Web Parts to put together web pages that worked like mini applications, embedding weather forecasts and slideshows, Exchange calendars and birthday reminders, or viewers for records and charts from SQL Server databases. And you could do that years before the idea of web mashups came along.
For years Microsoft hardly had to market SharePoint. Which was perhaps just as well, because the combination of document management and custom app building (and now business social networking) seems to baffle businesses when they look at it as a product. SharePoint makes the most sense when you see it as a toolbox for solving business problems that need more than one person involved but don't fit neatly into the kind of rigid workflow that makes a line-of-business application. Users who had problems that SharePoint could fix just got hold of a Windows Server, installed the free SharePoint services (various called MOSS and SharePoint Foundation in different releases) and rolled their own solutions.
SharePoint is also a great example of the schizophrenic approach to democratizing IT. On the one hand SharePoint is so successful because it's easy enough for a manager to use to create document libraries. On the other hand, every version adds new features for the IT team to get all those SharePoint instances back under official control. That's not a bad thing; it's a realistic response to the schizophrenic way companies use technology.
The development options in SharePoint 2013, especially in SharePoint Online, reflect this perfectly. But they also offer the hope of peaceful coexistence.
The development model of SharePoint evolved beyond Web Parts as more companies started rolling out official SharePoint installations to distribute documentation, get departments involved in portfolio project management, and integrate with other tools. AMC movie theaters use a SharePoint system for handling invoices rejected by the business rules in its BizTalk EDI system. EMI uses SharePoint to distribute BI visualizations.
Those kinds of custom solutions are written in managed .NET code that runs on the SharePoint server. The fact that SharePoint Online doesn't support that custom code has stopped some companies from moving to Office 365.
The 2013 version of SharePoint Online that's rolling out on Office 365 currently (and will be available to all users probably by the end of January 2013) does not add support for custom code. After all, it's a multitenant service and customers don't want your unknown custom code slowing down the SharePoint instance their document library is sitting on. It's called full trust code for a reason: it gets full access to the system and you should only run it if you trust it yourself. That's just not the cloud model.
But uptake has slowed.
Google's plan to bring Chrome packaged apps to Android and iOS is part of its strategy to make the web the primary platform for users. Converting Apple device owners will be a challenge.
Most companies understand that they need a social media presence, but many are flying by the seat of their pants instead of crafting a social media plan that aligns closely with business goals.