“Collaborative applications” was one of the new buzzwords to come out of Microsoft Build, the company’s recent annual developer conference. The phrase was bandied about in reference to an application platform for Teams and Office, which gives third-party developers increased access to Microsoft’s core enterprise software products. Developers can both integrate their existing apps into Teams and Office, but also build hooks into the products via new APIs. The overarching idea is to help enterprise workers collaborate with each other, including in real-time.
The web platform is a key part of Microsoft’s vision for collaborative applications, particularly for the newer Teams functionality. As Archana Saseetharan, who leads Microsoft’s Teams Platform Product Group, put it in a Build presentation, “the Teams app platform is built on open web standards, so you can use the frameworks you already know and love as a developer to build apps.”
Of course, this is just the latest iteration of a Microsoft developer strategy that straddles both the Windows world and the wider web world. We’ve had an annual update on this strategy ever since Microsoft’s 1996 developer conference (then called the PDC — Professional Developers Conference), when the company first signaled its intention to integrate the internet into everything it did.
In another Build session, Dan Roney, a program manager on the Fluid Framework platform team, demonstrated a brainstorming app integrated inside of Teams. “Brainstorming is an obvious fit for Fluid,” said Roney, “because it’s an application that’s significantly improved from people using it collaboratively and it benefits from a simple streamline service.”
Also announced at Build was the preview of Fluid components in Teams. “Users can create and edit live components like lists and tables and tasks directly in chat,” said Jeffrey Teper, a corporate vice president in the 365 division. He added that Fluid components in Teams “are shareable across Office apps like Outlook” and can be accessed across devices.
From Browser Widgets to Hybrid Apps
The component models of the web have come a long way, even over the past decade. Back in 2007, I attended the Microsoft MIX conference and was fortunate enough to be invited to a “blogger lunch” with Microsoft’s Chief Software Architect Ray Ozzie (he’d inherited the role from Gates the previous year). During the lunch, Ozzie discussed the general trend of componentization, which he noted had been a part of browsers for some time. He went on to talk about the popular web components of the day, known as “widgets” or “web services” (some of you may remember “start pages”, including Netvibes and Microsoft’s own Live.com product — these were basically home pages for widgets).
Looking back, browser widgets seem quaint compared to the sophisticated Fluid components available now in Teams. One of the main changes in capability since 2007 is that the web experience can now be wrapped as a native application, like Teams. Microsoft calls this “hybrid apps” (I assume “collaborative apps” are a subset). According to a Build press release:
“More and more developers are building hybrid apps — using web engines for the user experience, but wrapped as a native app to connect with all of the power of native services.”
Under the Hood
If you look again at the developer stack diagram Satya Nadella showed off at Build, you’ll see a lot of different Microsoft products and tools (Azure PaaS, Microsoft Graph, etc.). But after checking under the hood in this post, it’s gratifying to see that the open web is the engine that drives everything.