Primer for Modern Office Development – start your journey here

by Cameron Dwyer

Let’s start with a little bit of history: the year was 2008, when Windows PCs and Microsoft Office had been entrenched throughout organisations around the globe. We saved all our files on a network drive (if we were smart), or SharePoint if we were really smart and had a dedicated engineer that could keep up with patching it. Sales of Apple Mac had been increasing since the turn of the century and Microsoft had built a version of Office specifically for the Mac and had it running there since 1998. The development story for Microsoft Office had almost exclusively been a Windows-only experience; and it was quite a rich experience with Visual Studio Extensions for Office allowing Office add-ins to be written in managed code.

But I see 2008 as a pivotal year; the landscape of IT usage was about to change in a very disruptive way… Apple had just launched the first version of the iPhone.

In the decade since this moment we have seen a shift towards an always-connected, productive-on-any-device world. Microsoft Office was changing dramatically to keep pace with the demands of this changing world. Office was already on the Mac, but fast forward to today (2018) and we have:

  • Office for Windows – the original and still a powerhouse with all the bells and whistles.
  • Office for Mac – a very mature product suite that doesn’t lag far behind the Windows offering.
  • Office Online – any device with a web browser can not only read but also have a rich editing experience.
  • Office for iOS – native applications for iPhone and iPad.
  • Office for Android – native applications for Android devices.

As you can see, in those 10 years a lot had changed, and we don’t even know where our files are physically stored any more; they are just up there, somewhere, in the Office 365 cloud.

That led to two radical shifts for Office development:

  1. The development technology for extending Office needs to run everywhere that Office does. The one run-time technology that is consistent across all of these devices is the web browser. This meant the shift to web technologies and developing web application (HTML5, JavaScript, CSS). Sure, each web browser has its own idiosyncrasies, but the web development world had been working on ways around this for many years and we now have mature frameworks for building web-based applications.
  2. We have an opportunity we never had before – users’ data stored in the Office 365 cloud (with a shiny new API to get to it – the Microsoft Graph API).

So,when we talk about Office Development, we talk about two distinct types of development:

  1. Extending the user experience within the Office applications (i.e. an add-in).
  2. A standalone application that accesses user data stored in the Office 365 cloud.


Where to, from here?

The best starting place within the Microsoft documentation for developing Office add-ins is:

and for accessing user data via the Microsoft Graph


AuthorCameron Dwyer

Cameron’s session at DWCAU is here.