Chandra Chivukula: But by and large, the main reason that we moved from classic Teams architecture to new Teams architecture is to make good use of the, the React, um, web Framework and the WebView2 architecture improvements that we would get. And also to set the new baseline for the upcoming innovations that are going to happen on Teams in the next few years.

Tom Arbuthnot: Hi, and welcome back to the Teams Insider Podcast. Really interesting one this week. We had Chandra Chivukula, who's the VP of Engineering for Microsoft Teams. We got deep into, uh, his journey, uh, right from the start of Microsoft Teams, which was really interesting. And then talking about, a bit about how Teams engineering works, what it looks like, the different clients, and the massive project last year of taking all of the Teams users, so 320 million plus, and the consumer users, over to the new client, and how the new client has laid a foundation for future innovation over this year and beyond.

Really appreciate Chandra's time. It was a really good session and look out for more sessions from his team. He's kindly nominated some names and also many thanks to Landis who are the sponsor of this podcast. Really appreciate their support. On with the show. Hi everybody. Welcome back to the pod.

Exciting one this week. We're going to go a little bit down the history of Teams with a very unique perspective and also talk about some of the current and the futures. Chandra, first time on the pod. Thanks so much for making the time. Maybe you could just introduce yourself for everybody. 

Chandra Chivukula: Hi everyone.

My name is Chandra Chivukula. I'm a vice president of engineering in Microsoft Teams. 

Tom Arbuthnot: Awesome. So, um, for those that don't know that role, Chandra, and you've been on the whole journey right from the start, what's that role today? And what's that look like? 

Chandra Chivukula: So, yeah, like you said, Tom, I've been in the Teams engineering arc since almost the day it started.

Um, through its preview journey, uh, since before we had a single customer, and then now, um, when we have, uh, upwards of 300, uh, million customers, um, all through this journey, the goal for Microsoft Teams was to become the hub of collaboration. And, um, uh, through COVID, uh, organizations, individuals have relied on Teams, and we feel very excited, very grateful to them for, for, um, uh, using Teams.

And for making the Teams app much better by giving us feedback. And over in the last, uh, roughly about two years, the past two years, we've, uh, undergone this journey of, uh, moving from the classic Teams architecture over to the new Teams client in the new Teams architecture. That's something that we feel very excited, very happy about.

Uh, the journey completed pretty, uh, successfully. Uh, pretty much all of our, uh, majority of our customers are on the new Teams client, enjoying the benefits of uh, twice the performance with half the memory. 

Tom Arbuthnot: Amazing. So let's take it right back to the start. Like, obviously Skype for Business was doing relatively well in the UC space and, and Teams came along with a kind of a different perspective.

And for those that don't remember, Teams launched without even a media stack. It was a chat centric kind of model. Um, kind of take us back there for a little bit and what was happening at the time. 

Chandra Chivukula: Yeah, so Skype for Business, uh, back in the day was the unified communications client from Microsoft. Um, uh, it offered chat, um, and calling scenarios, calling, uh, features.

Lots of customers use them. Most of them were on prem customers. Then we also had an offering called Skype for Business Online, which is a cloud version of Skype for Business, which is also getting a pretty good uptake. But that was about the time when Microsoft and we in Teams, as part of Microsoft 365 organization, we figured that we needed to do something more.

We've got to figure out a better way to collaborate, a more richer Uh, more comprehensive way to collaborate and we come up with the idea of, uh, creating a hub of collaboration.

It's not just chats. It's not just files. It's all of that and more. Uh, so we introduced the notion of, uh, Uh, meetings, uh, collaborative meetings, online meetings, and then, um, document collaboration. All of these were available in different forms, uh, in separate tools, but Teams really brought them together as one unit, uh, and made it very seamless.

Tom Arbuthnot: Yeah, I feel like Teams were very early in Microsoft of kind of going. Very web first, very agile, using Electron, which was, you know, at the time, a relatively new approach. 

Chandra Chivukula: Yeah, we're very excited. We're very grateful to the Electron team. We took a bet on Electron. We took a bet on the hybrid web architecture, which is basically building a lot of our UI facing.

Components in Angular at the time and now React and shipping it as part of a native shell using Electron at the time. Electron helped us get to market fast. It helped us create a cross platform SIM shipping between Windows client and the Mac client. So, which for us was very important. We wanted to take care of our Mac users just as much as uh, we were taking care of our Windows users. So the hybrid web app architecture of building for web and then packaging it and enhancing it for desktop scenarios with Windows and Mac through Electron was a phenomenal approach that not just Microsoft Teams, but many other competing apps have also utilized.

Tom Arbuthnot: Yeah, it felt like there was a, from day one on Teams, there was definitely a push for like, we're going to have, um, all the clients as close as we can feature wise. And I must admit when, when that was first said, I was kind of cynical of that because in, in Skype and Lynk and OCS, we'd had drastic differences in, in client capabilities and, and client approaches.

And by and large, I think Teams has done a great job of sticking to that across the desktop web and mobile. Yeah. 

Chandra Chivukula: Yeah, we feel very happy about the architecture. That's one of the fundamental things that we did that helped us ship features, almost same shipping across Windows, Web, and Mac together at the same time.

No, the mobile app have a different stack for mobile considerations. For example, iOS, we have a native iOS app and Android we have. Uh, iOS app built on Java Kotlin and on iOS we built using Objective C and Swift. Uh, so I think we're able to use the best of the native tech and the best of web tech for what they're really optimized for.

And then we bring the whole package together. Uh, with, with customer in center. 

Tom Arbuthnot: So we, we just, uh, last year we're recording the start of 2025. So 2024. We, we went through, um, moving to the new client, which was, uh, impressively seamless from what I saw for moving literally hundreds of millions of, of users.

What, first of all, uh, Chandra what was the motivation to, to move to a new client? 

Chandra Chivukula: Uh, great question. Um, so Microsoft Teams, went uh, into preview in, uh, October 2016, and then we launched to, uh, general availability, uh, in March 2017. So, since before preview, when we started creating the architecture, our goal was to ship fast, ship the, the features across platforms.

We took a heavy, uh, Initial bet on Angular that worked very well for us. We were able to quickly prototype, ship features, use the Electron framework to ship a native client that worked well on Windows and Mac as well. Now, in the past seven years and the first seven years of Teams release, as we were adding more and more features to just catch up to customer demand and customer requests and the business requirements, we felt like at some point, um, The architecture that we had built, uh, we needed to revise that.

We need to revisit that architecture in order to make it ready for the next 7 years. So the next 7 to 10 years. Um, so in parallel, we have this, um. We had this internal program going, um, to convert from, to, to, to leverage React, which was an upcoming, uh, web framework and also shipped from Angular to React in a way that did not require us to stop and, uh, lift and shift the code base.

We didn't want to have a clean, we didn't want to have a hard break across multiple semesters. Instead, what we ended up doing is, um, creating. The core components, um, in React in the new technology, uh, and we, we build this to, uh, components in both Angular and React at to a certain point where we feel very good about the React architecture that we have come up with.

And then we decided that it was good enough time for us to shift from, shift the native tech from Electron over to WebView2 in order to create a more, uh, seamless, more native, uh, implementation, uh, for Windows and for Mac. Now there are, there are significant technical differences between our, Electron app architecture and the WebView2 architecture.

And I'm happy to go into this in a technical blog or on a later podcast. But by and large, the, the main reason that we moved from classic Teams architecture to new Teams architecture is to make good use of the, the React um, web Framework and the WebView2 architecture improvements that we would get, and also to set the new baseline for the upcoming innovations that are going to happen on Teams in the next few years.

Tom Arbuthnot: Yeah, there's a lot. Coming, obviously some we can talk about, some we can't yet, but like, like that makes sense that it set that foundation. Um, what, what was it like moving that, that many users across to a new client? Like obviously, and maybe you can talk, uh, educate the kind of community a bit on. How Microsoft work in terms of the tap and the rings and the rollout.

Cause it's just a, I mean, it's a, it's a massive product that so many people depend on. So it's got to be pretty nerve wracking to move 320 million users. 

Chandra Chivukula: It's, it's very thoroughly engineered, um, release and rollout mechanisms we have. And there are more dedicated people who are doing this would be, uh, better to talk about this in detail in a later podcast, but in a very high level overview.

We have internal rings. It rings where, uh, consider a ring as a group, an audience, which are getting pre release bits. It could be pre release, uh, features, pre release feature flags, code, uh, binaries and all that. So we have internal rings, internal audiences who are able to test this, uh, test the new features, um, pretty much on a daily basis.

Um, and then as we go, as the rings expand, as we get broader audience. The first time we reach out to customers is through external customers is through a ring called TAP Technology Adoption Program, which is where some of the really tech savvy customers are part of our inner loop. They use pre release bits to experience the new features, experience the new clients, new feature sets, and give us feedback so that we can mold the product in a way that works for customers.

And then we can also have an opportunity to fine tune the reliability, resiliency. Uh, of the product before it goes out to general availability. Um, so this is a standard operating procedure for any bill that is released. Um, in, in Teams, whether it's desktop clients, web clients, or mobile clients. Um, so we're pretty well formed engineering process, the engineering rigor that takes care of, uh, this progression.

Now for new, classic to new Teams presented a new situation for us. It is not a situation we do every year. It is a once in a long time situation where we had to lift and shift old client, which we call the classic Teams client, over to new client. And we wanted to make this as seamless as possible to the end users.

Um, and to the IT admins. We realized that hundreds of millions of customers would require us to coordinate with hundreds of thousands of IT admins and tenants. So we created, um, very purpose built policies that allowed the control of whether your organization, who in your organization to should stay on the classic client versus the new Teams client was completely fettered out to our, um, IT admins.

The tenant admins had the opportunity to say, look, I'm ready for this change, uh, and I will slowly migrate my users at my cadence. There's a large group of IT admins and organizations who have done that. They've done that very successfully. And we also recognize that there are many customers who trust Microsoft's, you know, rigor.

And they're like, Hey, I know you do, you know what you're doing. Why don't you roll out the new client in the best way possible? And they leave the control over to Microsoft. And then we, over our TAP program, overlooking to the signals from our various rings, we're able to slowly progress the end users from.

Uh, the classic client over to new client, always looking at, uh, customer signals. Is the new client working well for our customers for each tenant? Uh, are there any hotspots? Are there any bugs or, you know, unique issues that they're running into, which are exclusive to the new client? Then we pause it and we talk to the customer, get it resolved and then continue this forward.

So we had a pretty hectic past 18 months, uh, but the team has pulled off a phenomenal, uh, Uh, milestone. In fact, uh, almost all of our customers now, greater than 97 percent of our, uh, classic Teams users have migrated over to the new client. Um, so, so there's a little bit of how the sausage is made. 

Tom Arbuthnot: That's amazing.

It's interesting to get that insight because I think it went so smoothly from an external perspective and it has all the potential to be really challenging. So credit to the team for, uh, for pulling that off. Um, and. But I think things that have now followed that came a little bit later, the new VDI client, the rooms, the MTR on Windows rooms are now on that client as well.

Is that right? 

Chandra Chivukula: That's exactly right. So the, the, the Teams architecture, the beauty of the architecture is, um, our designers, our product managers, um, our, our engineers, uh, our signals, they're all coming through the same common code base. So the common code base of React and WebView2. And then Native Code is pretty much shipping on multiple fronts, multiple devices.

On Windows and Mac, of course, we just talked about this. We also ship a version of the same client on Teams Rooms devices. And Surface Hub also gets a version of the native client. So the advantage of this common code base is it helps us ship a lot of our innovations simultaneously across multiple devices and multiple form factors, Uh, but also gives customers a very simple, intuitive looking experience, uh, interface across all these devices. So, uh, as you said, the Teams Room devices is also now on the new Teams code base. 

Tom Arbuthnot: That's interesting. And some of the stuff you, uh, we've seen some, uh, previews from Ignite and now some Messenger messages.

The ability to, uh, flex the, the, the chat window and pop out interfaces. It seems we had a lot of work going into that. 

Chandra Chivukula: That's right. Uh, so the, the beauty of the new architecture again is. Um, it gives us a, a very modular user experience, uh, controls. So, part of my, my Teams charter, um, is to create common reusable controls that are going to be very purpose built, very optimized for end user scenarios, such that you, you build a control for a, uh, for a set of scenarios, you can refine it, and then it works great on all devices that it's shipping on.

Now, um, one of the, one of the lacking areas for the classic client that we have fixed in the new client as part of our, uh, and, uh, most recent announcements, enhancements we released in, uh, Ignite is, uh, a project we internally codename as Reflow. So the project Reflow is about making the Teams app responsive to the end user's device configuration.

So if you happen to use. Uh, Teams app, not in the full screen mode, but in a very squished manner, in a very narrow focused, uh, window. That's fine. We want to give you the power to be able to do this. At the same time, if you want to go expand this to a widescreen monitor and then utilize multi window setup, we allow you to do that as well.

So that's, that's one of the flexibilities of the new architecture and an enhancement of the new architecture that we announced at Ignite is, like you said, is a resizability of all of the panes. So if you open up a window and the chat, if you open up a meeting and then the chat window is kind of narrow for you.

Now you can extend it and make it wider, uh, and then have a larger canvas for chatting. Same thing applies even for your main window. If the chat list is showing up in a very narrow space for you, you can expand it, uh, and then likewise on the right pane, um, uh, the Copilot pane, so to speak. You can now also expand it and have a larger surface area for collaboration.

Tom Arbuthnot: And I guess some of that window flexibility is enabling and probably for future capabilities as well, with all the AI stuff, the app extensibility stuff that's going on, you might want multiple things going on within your client potentially. 

Chandra Chivukula: Exactly right. You hit the nail on the head. It not only helps with our current accessibility of the Teams clients, it also paves the way for richer experiences within those expandable regions now.

So the expandable regions previously were fixed. Now they're expandable, of course, flexible, which means that more innovations can happen in those areas. And we have quite a few innovations coming down the pipe for those. 

Tom Arbuthnot: Yeah, yeah. I'm excited as well, the flexibility that gives, um, Rooms layouts is a really interesting one.

I was at one of the, um, The London hub recently, and they had Teams running on like a super ultra wide, uh, monitor and it's like, Oh, potentially you could do more things with the layout here. If you knew you had the pixels to play with, 

Chandra Chivukula: that's true. That's true. Um, one thing that we, um, are going to be talking more in upcoming months is how we're enhancing the, the, the Windows client and the Mac client to be more native.

Um, they're all the native apps, uh, but we are adding more deeper OS integration for across Windows and for, uh, the Mac OS. And, um, uh, most recent Mac OS update, Sequoia has now enabled, uh, you know, uh, uh, flexible window sizes. which are predetermined sizes. Now with the new Teams update, you can choose your Teams window to be any one of those sizes, and now we lay out very beautifully within the constraint.

So, uh, it does, to your point, it does help, uh, operating systems take more control of the app, and the app also becomes more flexible to whatever constraint they're going to be rendered in. 

Tom Arbuthnot: That's awesome. Talking of flexibility in Windows, another thing that Ilya was big on at Ignite was the iPad and the multi window capabilities that have come to iPad as well.

Chandra Chivukula: That's right. We're very excited about the work that the mobile team has done across Android, across iPhone and iPad. iPad particularly has seen the biggest enhancement we have done in the past few years. Uh, so the, the, if you're using an iPad, if you're part of the TAP program. You can enjoy the multi window capabilities on iPad.

You can have a chat going on, you can have a full screen meeting going on, and you can have a pretty rich conversation, pretty deep conversation that can happen. And if you pair up an iPad with a Folio, with a keyboard, I think for many scenarios that, for many executives, that's pretty much a desktop replacement.

It doesn't replace the desktop completely, but it makes you not miss the desktop as much. Let's say you're moving from meeting to meeting. 

Tom Arbuthnot: Yeah, for their use case, which is meeting to meeting, quick decisions, video calls, could be working anywhere. Exactly. It's an underarm, decent experience. 

Chandra Chivukula: Exactly. So we see a lot of, a lot of our C suite executives using iPad and, um, They're loving these new enhancements we're making there.

Tom Arbuthnot: It's great to see from Teams and Microsoft in general as well, kind of going, going where the users are, and Mac being first class citizen and Android and, and, and Windows and iPad and like, like you just wanna serve the users, whatever platform they're on. 

Chandra Chivukula: Great. That's our motto. That's what we're trying to do with, uh, sim shipping features across all devices.

Uh, there's really no point in giving some features, uh, you know, early start in some. Um, uh, operating systems when they're not available in the others. Now, there may be some physical, you know, uh, uh, limitations, API or OS limitations, but that's beyond our hands. Uh, but anything that is in our control, we want to ship, SIM ship across, uh, the devices.

Tom Arbuthnot: Yeah, I mean, we talked about this before, but it's so great when things have to ship on multiple platforms in a relatively short window to get adoption, because if it just works on Windows and not the Mac, or it just works on, you know, the web, but not the desktop client, the user adoption is really tough, because your user adoption team is saying, Hey, check this out.

And 20 percent of the base come back and say, I can't, I can't do it. I can't find the button. 

Chandra Chivukula: That's right. Uh, consistency in UX is also pretty critical for us. And that's what you're saying. One of the, one of the more beautiful refined features that we have is if you've joined meeting on a device A, and then you open up device B.

Let's say I, I have having a meeting on my Mac and I happen to, you know, hit the road and, uh, go to a different conference room or different building, or, you know, just pick up my kids. I can just pick up my phone, launch the Teams app, and then it says, do you want to transfer your meeting to this new device?

And it's all one click. So it's all from a customer scenario perspective. Like, we wanna have this feature be. Uh, available on all devices. And likewise, when I pick my kid and come back home, or when I finish my, uh, work in one building and go to a different, uh, building, I want my same call to be transferred over to desktop.

So I boot up the desktop app and it says, do you want to take this, uh, meeting on this device? So they're all, there's a quite a bit of a synergy across all these devices. Uh, for Teams experiences. 

Tom Arbuthnot: Chandra take us through, what does engineering and your team look like? I like, I mean, there's the various different clients.

What does that look like? 

Chandra Chivukula: Yeah, so, uh, I'm part of the the Teams, um, engineering team where we focus on the foundation, the fundamentals of the app. Uh, we think of it as a core of the base applications, uh, across web, Windows, Mac, iOS, Android. And, uh, we build the common reusable controls, we build the. Native web integration points.

Uh, we work very closely with the Edge team for the WebView2 control across Windows and Mac. Uh, and then we have a very deep partnership with them. Uh, my team also works with the identity team, the Entra team, where we take the, um, the latest innovations and the Entra side, especially security. Uh, Improvements, and then we build it, uh, into the Teams client portfolios, uh, and then on IO, on the mobile side, um, our Android code base, um, obviously not only runs on the flagship Android devices, uh, we also have Teams phones, which are purpose built devices with, uh, third party, uh, companies, which are also using a, uh, the same Android Teams mobile Android code base, but purpose built for an experience that is unique to that device.

Uh, and then the iOS side, we take the same iOS code base, uh, that runs on, on iPhones, uh, with some enhancements and enlightenment, we make it work on iPad, which is a common code base, and then the same code base for iPad, we also enlighten it for Apple Vision Pro. So, we're kind of all about creating common code, reusable code, whether it's using web technologies, native C++ on Windows and Mac.

Uh, Kotlin or Java for Android. Uh, uh, you know, objective C and Mac, uh, objective C and Swift for, uh, iOS, iPad, and, uh, Apple Vision pro. So this is, this is pretty much a portfolio of what my teams work on and we work very closely with, uh, my peer teams who build. Very optimized collaboration scenarios like meetings, experiences, one team.

There's another team that is building, uh, you know, document collaboration, uh, and yet another team that builds, uh, the consumer, um, feature sets. 

Tom Arbuthnot: Yeah, actually, we didn't talk about consumer, but another thing with that new client was bringing the consumer experience into that single client experience as well.

Chandra Chivukula: Yes, um, we, we started this journey in, um, late 2020. where, uh, Windows 11, um, launched with, uh, the Teams client that is built in, into the OS, um, that was using a new stack, that was using the new Teams stack, uh, so for the, for the past few years, many customers often had the confusion of having two different Teams icons on their, Uh, Windows 11 PCs, one that would exclusively do consumer, uh, scenarios and the other would be just exclusive, uh, enterprise.

Now, with the new Teams client, the converged client experience is the one code base, the one client that powers all of Teams experiences, whether it's multiple accounts, multiple, uh, consumer commercial experiences. Or, uh, frankly, uh, other, other cloud tenant. Microsoft 365 has multiple clouds. As you know, there's a commercial cloud.

There's a consumer cloud. There's also, uh, Uh, you know, GovClouds, um, in various regions, any user who is, uh, who has got accounts across multiple clouds can use the exact same client, uh, the new Teams client. 

Tom Arbuthnot: And that client's adapting its feature set, so it's, it's in a consumer free personal mode, it has this type of feature set, it's in GCC high mode, it has this, it's in commercial, it has this.

Chandra Chivukula: Exactly. Absolutely right. And they're all very well taken care of from a privacy and security perspective. They're all very well containerized. Um, and we feel very good about this architecture. Like I said earlier, um, it also creates a good baseline for power users, um, who are like MVPs and, uh, uh, many other, uh, users who have accounts in multiple, uh, tenants, they can use the exact same client and get notified on calls, chats, notifications, uh, meetings, start pop ups also happen.

So it's a pretty well defined, uh, experience. Uh, for both users who are single tenant, uh, single purpose and also for power users who are across multiple accounts and multiple tenants. 

Tom Arbuthnot: Yeah, I've, I've, I've way too many tenants in my Teams, unsurprisingly, and you do, but having those chats pushed through now and the meetings pushed through was definitely a huge, huge step forward.

Before that, I would tend to run multiple browser profiles, just running multiple clients. All that's gone away now. 

Chandra Chivukula: Exactly. I'm glad you like it and thank you for the feedback that you and your team has given for us. Then we build in this multi account and multi tenant features. 

Tom Arbuthnot: I appreciate that.

There's always feedback coming. It's nice to know it's well received. Awesome. Well, Chandra, thanks so much for taking the time out. I know we've got more pods planned and going deep on some things with your team, but I appreciate all the engagement and the support and thanks for the insights. 

Chandra Chivukula: Absolutely.

Thanks for having me. It's always great to get feedback from you, from your followers, people who follow you and giving you feedback and you channel it back to us. Our goal is to make Teams app, uh, Teams the best collaboration client, uh, on the planet. And it's certainly not possible without you and folks like, uh, yourselves.

Tom Arbuthnot: Awesome. Thanks so much. 

Chandra Chivukula: Great. Thanks a lot.