Welcome to Delve Engineering!

Delve Engineering
3 min readMar 29, 2016

--

My name is Alex Pope and I’m excited to welcome you to the Delve Engineering Blog! As a Principal Engineer on the Delve team I’ve seen Delve evolve from a few core ideas and a Windows 8 prototype app into a key Office 365 web workload, multiple native apps and beyond. It’s been an exciting journey over the past three years and we’ve learned a ton. We hope that this blog series provides interesting insights into how we engineer a major Office 365 workload. And maybe you’ll be able to learn and reuse our techniques!

Wait, what is Delve?

Announced a bit over two years ago, Delve is now the primary profile experience and destination for Office 365. Delve helps you contextualize, discover and refind Office 365 content about a person. Delve comes in three flavors currently: a web app and mobile apps for iOS and Android. We’re also putting the finishing touches on a Windows 10 Universal App…coming soon!

Who is Delve Engineering?

Delve engineers primarily work out of the Oslo, Norway office, often referred to as Microsoft Development Center Norway or MDCN for short. We’re part of the FAST organization, a company Microsoft acquired some 8 years ago. In addition to Delve, the entire FAST organization delivers the Office Graph, the search infrastructure for SharePoint and Exchange and many of the search experiences in SharePoint.

The Delve team itself consists of three major groups: Delve Web, Delve Middle Tier and the Delve Apps. As we continue this blog series you’ll hear from engineers across all three of these groups. Delve and FAST attract talent from all over Europe and beyond and of course many Norwegians. Personally, I’m an American transplant who moved to Norway a little over three years ago. Prior to FAST, I worked at Microsoft’s main campus in Redmond, WA (but I lived in Seattle!).

Delve Web’s Journey into the Light

When we first started the Delve Web app more than two years ago we took a bet on Microsoft-specific technologies, primarily due to the synergies with the other Office 365 web apps. The two primarily technologies were Script#, which is C# compiled to JavaScript…think GWT. The other was JsMVVM which is a feature complete MVVM implementation developed by the Outlook Web App team that will be very comfortable for someone used to XAML, Angular or any other MVVM/MVC/two-way-binding framework.

While these technologies allowed us to quickly get going with the help of our Office 365 partner teams, we found several disadvantages that were rapidly being addressed by the Open Source community. We had tooling that didn’t support community features such as hot-reloading (3 min compiles for a CSS change!), lack-luster DOM performance and a sub-optimal “new dev” experience due to unfamiliar tools, no stack overflow, etc. We also weren’t falling into The Pit of Success as often as we needed to. In short, we found that we weren’t delivering features as quickly as we wanted to at the quality bar our customers demand as our app grew.

Last January we had a hackathon where two other engineers and myself did a prototype of incorporating React into our legacy JsMVVM app. It was a rather big success for a number of reasons and that momentum has snowballed into Delve Web completely transitioning to a full React+Flux+TypeScript+Webpack+etc. app. Delve Web is now completely built on top of open source technologies and we’re reaping the massive benefits. Our quality is up, development times have decreased, we use best in class tooling and our devs are super happy. We’re taking the same learnings from Delve Web and applying them across the Delve codebase. And we want to share these learnings with the world!

What’s Coming

I hope that you’ll find this blog series useful. Please feel free to engage with us here with your questions and suggestions. Did I mention we’re hiring?

Our first deep dive is Jakob describing how Delve Web encourages engineers to fall into the CSS Pit of Success.

--

--