Development Opportunities in Office 365

Office 365 is a vast platform and every project has a research phase to discover the best approach. This last week I have been researching development opportunities in office 365. In doing this, I found a great resource; the Microsoft Tech Academy. The resource includes free training itemized under pathways. I went ahead and organized my learning using the bookmarks, due date and pathways features. The pathways I will be completing are the Microsoft Ignite 2017: Office Development and Developing with the SharePoint Framework. Additionally, I set a due date for October 26 and am registered for the Global Office 365 Developer Bootcamp in Boston on the 27th. Furthermore, couple these learning opportunities with my experience using Office 365 and this should give me enough ammunition to make a serious dent in the hack productivity hackathon.

Where to Start

I am never afraid to review documentation, and no one should be. I have always appreciated Microsoft’s efforts in creating excellent documentation with walkthroughs. Honestly, that is the best way to learn. Head over to dev.office.com/docs to find excellent documentation on development opportunities in Office 365. Office development includes e add-ins, connectors and the Microsoft Graph. For reference, I give the links here:

Moreover, I have found that Microsoft is grouping these development opportunities into 3 areas. The Microsoft Graph, Office Canvases and custom experiences. Let’s review these 3 areas starting with the Microsoft Graph.

The Microsoft Graph

This is the backbone of everything Office development. It is a single endpoint API to access data in Office. The capabilities of the Graph are quite large. Just to name a few, you can create, read, update and remove data about users, groups and mail. I am not going to go over everything available, but this is a suitable place to start when discovering what you can do with Office development. The below graphic, taken directly from Microsoft, provides an example of what possibilities exist with the Microsoft Graph. Additionally, the list of capabilities is always growing with each updated version.

microsoft graph graphic

Extending Office

The Office Canvases

These are the SharePoint and Office Add-ins. Add-ins extend the existing applications like Word, Outlook, PowerPoint, Excel and SharePoint. These are applications that can run in Office clients or embedded in Office documents. The only requirements are a web server, HTML, JavaScript and CSS skills and a manifest. But the extensibility doesn’t stop there. At its simplest form, an Add-in would be just an HTML page but using the Microsoft Graph and developing a custom service is where the magic really happens. Honestly, this is a great replacement for VBA and COM add-ins. I got my start developing professionally using VBA and it was a headache to support and distribute updates. This new add-in model allows the ability write and update in one place using the Office Store. Read more about the platform here.

Custom Experiences

Includes the Kitchen Sink

To really build productivity a custom experience is necessary, and will be my focus for the Hack Productivity hackathon. For example, a custom experience might include a web application, add-ins and a mobile application. Additionally, when I think of custom experiences I think of services like Wunderlist which includes a mobile application, a website and an Outlook add-in. There are really no limits with this approach other than imagination.

Conclusion

Honestly, this has only scratched the surface of development opportunities in Office 365, but it gives a good starting point. More opportunities include Bots, Connectors, Power Apps and Flow but each of these integrate nicely with Add-ins and custom experiences. Furthermore, the Microsoft Graph is the basis for all development in Office 365. Moreover, building quality productivity in Office will need knowledge of the Microsoft Graph. Find out more about the Microsoft Graph here and even try out its capabilities here. Finally, I will be streaming my experience with the Hack Productivity hackathon every weekday, 12:30pm-2:30 Eastern, at any of my broadcast channels which you can find on my homepage.