Mobile Jon's headlines

HEADLINES:

HEADLINES:

Building a Windows 365 Custom Image

Mobile Jon's Blog

Deep Dive into the New Microsoft Teams

Deep Dive into the New Microsoft Teams

Late last week, Microsoft brought the new Microsoft Teams application to GA for Windows and MacOS. It has been a long time coming as the experiment of putting lipstick on the pig that was Skype and Lync and building something special. Today, we will discuss the architecture, show you how to get ready, talk about some of the new capabilities, and show a few demos!

The New Microsoft Teams Architecture

When we look at how the original Microsoft Teams client and host were built, it’s using stuff we’re pretty familiar with.

Custom HTML/CSS and AngularJS, which many companies have used for a really long time. Microsoft experimented with bringing in some components built on Fluent UI and React into the Teams client, but it was not successful. This is why we had 2 separate Teams clients for awhile as they built out the consumer capabilities and started to layer in enterprise capabilities on the New Teams client.

The new and old architecture of the Microsoft Teams client

Overall, this is a great view into what the new architecture looks like:

The new Teams client architecture

I just wanted to provide a little bit of context on the 4 new components that encompass the new Teams client.

React Fluent UX

Microsoft’s React Fluent UX has been around since 2017. React Fluent UX is a design language. It’s a collection of UX controls that provides standardization of common components to provide consistency cross-platform. It delivers improved responsiveness. This is an example of the UI elements delivered with Fluent:

An example of React Fluent UX

You can read more about React Fluent UX here. Simply, its a front-end framework that is built on React that fits beautifully into a variety of Microsoft products and is highly customizable making it a great partner for the new Microsoft Teams client.

React

Microsoft transitioned to React because it has significant performance improvements, which they proved via benchmarking. One of the benefits as a more modular codebase, which improves support for shareable components, and a more responsive Microsoft Teams client. Historically, many companies have switched to React for a few reasons:

  • Easier debugging because of code reuse.
  • Easier to learn
  • App migrations are easy
  • Faster updates
  • Ports really well to mobile

Client Data Layer

Microsoft moved data management to a new worker called the “client data layer” which enables data fetching and storage, data compliance operations, push notifications, and offline functionality to run in parallel threads. With this multi-threading, it doesn’t impact the main UI thread similar to how some of Apple’s improvements in Swift over the last few years (not to mention HTTP/2).

This tech accesses data with a GraphQL layer from the main thread and IPC serves as the connective tissue between the layers. It’s remarkably similar to the goal of HTTP/2, which speaks to the brilliance of its modernization.

WebView2

WebView2 was a major transition that VDI vendors and evangelists have already been celebrating because of the huge reduction in memory and disk usage because its now sharing resources with Edge. You can tell because now when you download files in Microsoft Teams, you get the same download dialogues.

This is a nice visual representation of what makes WebView2 special:

A diagram of the modular nature of WebView2

WebView2 empowers a nice modular design by embedding code into different parts of the application or having a single WebView2 instance. We get a ton of benefits with WebView2:

  • Rapid iteration
  • Support for a consistent UX across Windows 10 and 11
  • Access to a full set of Native APIs
  • Code reuse
  • Rely on up-to-date versions of Chromium with regular patching and updates
  • Package with specific Chromium versions if necessary
  • Incremental adoption of we components
  • A rich ecosystem

Setting Up Your Environment for the New Microsoft Teams Client

So the basic requirements for the new client are:

  • Windows 10.0.19041 (20H1)+
  • Microsoft Teams 1.5.00.29212+

Many of us will probably have our update policies set to “Microsoft Controlled”, which means this is the current update schedule for the new client:

The rollout for the new Microsoft Teams client

So, you will just have a few things to do to get yourself ready. Update the update policy in the Teams Admin Console and potentially set some registry keys that could stop the AppX update/installation from occurring aka this annoying pop-up:

Appx error messages when trying to switch to the new client

Now, check my video for the steps necessary to set up your environment for the new Teams client.

The code for setting these registry keys, which is not 100% required, but it “could” be based on your environment and experience:

# Set registry paths
$appxRegistryPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Appx"
$appModelUnlockRegistryPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock"

# Set registry values for Appx
$appxRegistryValues = @{
    "AllowAllTrustedApps" = 1
    "AllowDevelopmentWithoutDevLicense" = 1
}

# Set registry values for AppModelUnlock
$appModelUnlockRegistryValues = @{
    "AllowAllTrustedApps" = 1
}

# Function to set registry values
function Set-RegistryValues($registryPath, $registryValues) {
    foreach ($name in $registryValues.Keys) {
        $value = $registryValues[$name]
        New-ItemProperty -Path $registryPath -Name $name -Value $value -PropertyType DWORD -Force
    }
}

# Set registry values for Appx
Set-RegistryValues -registryPath $appxRegistryPath -registryValues $appxRegistryValues

# Set registry values for AppModelUnlock
Set-RegistryValues -registryPath $appModelUnlockRegistryPath -registryValues $appModelUnlockRegistryValues

Write-Host "Registry values set successfully."

The Overall Benefits of the New Microsoft Teams Client

As you can see in the graphic below, the new client has tons of overall fun capabilities that are understated by real quality-of-life improvements.

Some of the new benefits of the new Teams client

I will touch on just a few of the ones that I really like. You can read about the 9 above on Microsoft’s page.

The new posting in a Team is one of my favorites as you can see below:

The new posting experience for the new Teams client

I also love how the new downloads experience is just like using Microsoft Edge:

The new experience of the new Teams client attachments

Notifications are also prettier:

The new notification experience of the new Teams client

In the next section, my absolute top new capability is the multi-tenancy which we have been waiting for years!

Walkthrough of the New Teams Client Multi-tenancy Setup and Experience

New Microsoft Teams Client User Experience Demo

Final Thoughts

Microsoft Teams overall has gotten a bad wrap especially in the Enterprise space where other platforms have really excelled in certain ways. Some of their capabilities make things challenging at scale like Microsoft Teams Rooms and overall performance. The new client does an amazing job on eliminating many of the performance issues we have been dealing with, but now it’s time to switch focus on MTRs and making them more enterprise-centric.

The New Teams Client is what we all have been waiting for and the hope is they will continue to layer new technologies synergistically. On 11/1, we will see Copilot, which I hope will just be the next phase of this amazing evolution of the New Microsoft Teams client.

Facebook
Twitter
LinkedIn

Let me know what you think

Discover more from Mobile Jon's Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading

Scroll to Top