Microsoft CEO Satya Nadella has called Office 365 “the most strategic development surface area” for the company. With add-ins, Azure and the latest versions of the productivity tools inside the suite, Microsoft is sharpening its focus on what has come to be known as “the future of worker productivity.”

Office 365 was first launched by Microsoft in 2011. It consisted of the hosted solutions for SharePoint, Exchange and Lync. At the time, the service was offering the 2010 versions of these products, which had some limitations in terms of the extensibility options for developers. SharePoint 2010 was limited to support just sandboxed solutions, which offered developers only limited options when deploying custom code. This left many developers with limited options for deploying customizations to Office 365, specifically SharePoint.

Sandboxed solutions allowed developers to include custom server-side code that would run in Office 365, but it was restricted to working with a subset of what was possible with the server-side API; specifically, it was limited to the current site collection. In addition, Office 365 development for the most part really only meant SharePoint Online development, as there were not many development and customization options available with Exchange Online and Lync Online.

With the release of SharePoint 2013 and the entire “Office 15” wave of products, the development story was greatly improved. As Microsoft gradually upgraded all customers on Office 365 to the latest versions of these products, customers started to see many more customization options. At the time these new options were mostly still limited to just SharePoint Online, but two significant additions or changes to the platform had great impact.

The first big change that SharePoint 2013 introduced was a new development and extensibility model called the SharePoint App Model, since renamed to the SharePoint Add-in Model. It has one significant difference from the old way of doing SharePoint customizations with SharePoint solutions. Unlike with SharePoint solutions, where the custom server-side code authored by developers was run within the SharePoint process (either as a fully trusted solution or within the sandboxed user code service), SharePoint Add-ins are run external to the SharePoint process. These SharePoint Add-ins can run within the browser as a client-side solution, or remotely on some other server or service external to SharePoint.

To support this new development model, Microsoft made significant investments in SharePoint’s API service, specifically around the client-side object model (CSOM), JavaScript object model (JSOM), and tremendous improvements to the SharePoint REST API that was previously limited to just reading and writing to SharePoint lists. In addition, Microsoft added support for apps to have their own first-class identity so developers could assign applications permissions that were either independent or used in combination of the user’s permissions.

The second big change that SharePoint 2013 introduced was the Office Store. The Office Store contains apps created using this new SharePoint Add-in Model. Customers can search and find Add-ins and install them into their SharePoint environment. This includes either SharePoint 2013 on-premises installations or SharePoint Online within Office 365. Developers can create custom Add-ins and publish them to the store.

Like other online stores, such as the Apple App Store and similar stores for OS X, Android, Windows and Windows Phone, once the Add-in goes through a certification process, the developer can collect a percentage of the revenue from the sale facilitated by Microsoft. The significant impact of the Office Store for Office 365 customers is that it makes the installation, upgrade and uninstallation process for acquiring SharePoint Add-ins much easier than the same process with the SharePoint solutions.

About Andrew Connell

Andrew Connell is a full stack Web developer with a focus on Microsoft Azure and Office 365, specifically the Office 365 APIs, SharePoint Server, Microsoft Azure, Microsoft's .NET Framework, Angular and Node.js that enjoys development, writing and teaching. If it’s cutting-edge Web, you’ll find Andrew there! Andrew teaches these topics through his numerous videos and courses through Critical Path Training and Pluralsight. You can check out what he’s currently up to, what’s on his mind or where he’s speaking on his blog (www.andrewconnell.com), by following him on Twitter @andrewconnell, or subscribing to his cloud-related podcast, the Microsoft Cloud Show.