Lets start with a little bit of history, the year was 2008, Windows PCs and Microsoft Office had been entrenched throughout organizations 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, 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 anymore, they are just up there, somewhere, in the Office 365 cloud.
That lead to 2 radical shifts for Office development:
- 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 it’s 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.
- 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 2 distinct types of development:
- Extending the user experience within the Office applications (i.e. an add-in)
- 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
https://docs.microsoft.com/en-us/office/dev/add-ins/
and for accessing user data via the Microsoft Graph
https://developer.microsoft.com/en-us/graph/docs/concepts/overview
Further reading
Office Dev Center
https://developer.microsoft.com/en-us/office
History of Microsoft Office
https://en.wikipedia.org/wiki/History_of_Microsoft_Office
History of Visual Studio Tools for Office
https://en.wikipedia.org/wiki/Visual_Studio_Tools_for_Office
History of Office Online
https://en.wikipedia.org/wiki/Office_Online
Leave a Reply