Microsoft Graph & Teams Hackfest in Redmond 2018 — Part 1 (English)
This January 2018 we, the company BRICKMAKERS, had the exciting opportunity to visit the Microsoft headquarters in Redmond Washington. The reason for this adventure was to take part in the weeklong “Code-With Hackfest” for Graph API, Teams Bots, and Office 365.
My college Eugen, from the office in Cologne, and I were the lucky BRICKMAKERS that were chosen to fly to Seattle to take part in this extraordinary experience.
Part one will be dedicated primarily to telling the story of our journey to, and experience at, the Microsoft Campus in Redmond. In Part two we will focus on the technical solutions we designed while working alongside the Microsoft Developers.
Code-With-Hackfests are regularly scheduled events in which Microsoft invites their partners to work with them on integrating Microsoft-Technologies with the Products they develop. Microsoft’s goal being to find and eliminate possible problems and hurdles in the integration of our respective products. While for us it is an unparalleled opportunity to work alongside Microsoft, establish connections, and gain support.
We traveled to Hackfest this year with the goal of augmenting our “Vacation and Sick-Day tool (Timeout)” with an Office 365 login as well as implementing the Office 365 Graph API. This would allow us to both display the hierarchy of the team which is logged in through Office 365, and allow us to add vacation requests and notifications of illness directly to the user’s calendar. We were also able to implement a completely new form of interaction with the Microsoft Team bots, but more about this in Part 2.
Throughout the weeklong Hack-Fest we had the aid of a Microsoft developer who was happy to help with any questions or problems we encountered while working with the Graph-API, Microsoft Team bots, or Azure AD.
After stepping off our ten-hour flight in Seattle we traveled straight to our Airbnb Apartment in Kirkland, near the Microsoft HQ in Redmond. Arriving in Redmond the next morning we were struck by the sheer size of the Microsoft campus. The Redmond Campus employs 30,000–40,000 people and consists of over 80 buildings. To cut down on the time spent commuting countless free shuttles, buses, and taxis run between the various buildings.
The Microsoft Hackfests take place within so-called Reactors. Specific buildings with rooms specialized for small teams, which Microsoft calls Dev-Labs. It is here that the Microsoft partners and developers can work during such an event. Including us, five companies took part in our Hackfest.
Every morning and afternoon we were treated to excellent and varied catering. Additionally, Starbucks covfefe and a huge refrigerator full of soft drinks was available in the kitchen, everything provided free of charge by Microsoft.
Throughout the hack sessions we could work together with developers form the diverse Microsoft product lines. We dealt mostly with the Azure-AD, MS-Teams-Bots, and Graph-API teams. It was extremely interesting to learn which technologies lay behind the different Microsoft products, and to understand how and why specific design decisions were made.
For example: A Teams developer revealed to us that by double-clicking repeatedly on the Teams Icon in the Mac OS Dock or the Windows Taskbar you can activate the developer menu. This allowed us to see that Microsoft Teams is an Electron application, which obviously employs Chrome as runtime instead of the Microsoft Edge browser. Unfortunately this function got deactivated in the newest version of Teams.
Similarly, we learned that the Graph API team needs to be particularly careful whenever implementing new functions, such as nested queries or filter-options like “contains”, since the performance of the Graph API is incredibly important.
All in all, we learned that Microsoft is a decidedly technologically open company. Android and iOS smartphones are omnipresent, and Microsoft developers are free to use MacOS, Windows or Linux as they wish. Even more impressive, it seems there are no taboos when it comes to development frameworks and programming languages. We learned from a Teams developer that the current Teams mobile app was developed natively in Java, more specifically ObjectiveC/Swift. However, they are now planning to switch over to React Native.
After a hectic but exiting week we presented our results in a small demo for various Microsoft developers and product teams, which was also recorded by the Channel 9 Team.
Conclusion
The greatest impression we walked away with was awe at how vast the Microsoft campus is, as well as the company itself. Which as we were informed several times is now dead set on implementing the Azure Cloud business model. Additionally, we were impressed by the receptivity and readiness with which Microsoft addressed any and all concerns of its clients to drive further use of Azure Cloud Services.
In the second part of this post we go into detail on the architecture we developed in cooperation with Microsoft
Thanks Kailex for the translation :)
If you are interested in using Timeout in you company check it out: http://www.timeoutapp.de/