New Teams Client

Mit den ersten öffentlichen Informationen über Windows 11 hat Microsoft die Katze aus dem Sack gelassen, dass nicht nur Teams auf dem Client enthalten sein wird, sondern auch eine neue Plattform eingesetzt wird.

Vorgeschichte

Als Microsoft mit Teams gestartet ist, wurde für den Client ein ganz neuer Ansatz gewählt. Anstatt für jede Plattform einen eigenen Client in deren nativen Sprache (C#, C+, HTML/CSS/JS etc.) zu entwickeln, hat Microsoft einen sehr modernen Ansatz gewählt. Der Teams Client wurde als "Browser App" entwickelt, d.h. die Programmiersprache ist JavaScript, die Laufzeitumgebung Chromium und die Oberfläche wir als HTML/CSS über das Objektmodel bespielt statt WinGDI/WinForms o.ä.

Das war schon etwas mutig aber so konnte der gleiche Code auf allen klassischen Desktop Plattformen (Windows, Mac, Linux) genutzt werden während für mobile Clients (IOS/Android) doch ein nativer Client existiert. Natürlich beginnt Microsoft nicht bei Null sondern nutzt bestehende Bibliotheken, von denen es gerade für Progressive Web Apps sehr viele gibt. Begriffe wie Angular, Node.JS etc. sind hier gefallen und angeblich über 100 weitere Bibliotheken. Damit der Client nicht im Browser sondern als eigenständige App installiert werden konnte, wurde Electron als Plattform genutzt. Sie starten also eine Electron.EXE, welche dann Chromium startet in dem dann Teams läuft. Electron erlaubte aber durchaus den Zugriff über native Programme, die z.B. vom Teams Addon für Outlook oder den verschiedenen Besetzt-Anzeigen genutzt wird. Bei einer reinen BrowserApp ist das nicht so einfach.

Dieser neue Ansatz hat aber immer wieder zu Problemen geführt, denn auch die Nutzung von Open Source Frameworks bedeutet nicht, dass sich diese Module in die Richtung weiterentwickeln, die dem eigenen Produkt helfen oder konzeptionell auch auf Performance optimiert sind. Viele Frameworks tragen schon wieder Altlasten mit sich herum oder wollen flexibel sein, was diese größer und komplexer macht. Der Spagat zwischen "es allen recht machen" und "effektive und schlank zu bleiben", ist nicht einfach. So hat Microsoft den Client zwischen 2017 und 2021 angeblich dreimal umgebaut. Wenige Änderungen, wie z.B. der Wechsel von Anguar.JS auf react.JS, wurden dabei öffentlich.

Welche verschiedenen Frameworks ihr aktueller Teams Client einsetzt, veröffentlicht Microsoft innerhalb von Teams:

Die Links hier sind nur die häufig genannten. Microsoft ist aber nicht nur Profiteur sondern arbeitet aktiv bei den Frameworks mit, um Fehler zu beheben und neue Funktion zu ergänzen.

WebView2 statt Electron

Dass Teams nicht gerade "sparsam" mit dem Speicher umgeht, dürfte allen Administratoren und sicher auch einigen Anwendern schon aufgefallen sein. Microsoft verspricht auch immer, hier Verbesserungen zu bringen. Allerdings kommt auch immer neue Funktionen hinzu, z.B. 3x3 Video oder 49er Gallery, PowerPoint Live mit einblenden des Sprechers, die neue Anforderungen an das System stellen und nicht immer native mit JavaScript oder WebRTC abgebildet werden können. Es gibt daher auch heute schon einige Unterschiede zwischen Teams/Electron und Teams/Browser. Mit dem Wechsel auf Webview2 dürfte es dann noch den ein oder anderen weiteren Unterschied geben.

Aktuell gibt es den "neuen" Client im Windows 11 Insider-Programm und der ist primär für Teams Home. Sobald ich den ersten "Business Client" habe, werde ich hier weiter berichten.

Steuerung per UpdatePolicy

Während der Einführungsphase möchten Sie vielleicht steuern welcher Benutzer den neuen Client schon bekommt. Die ersten Spuren zur Steuerung sollten sie seit ca Anfang Dezember in ihrem Teams Admin Center finden

Für einen Piloten würde ich eine neue Richtlinie mit den gewünschten Einstellungen anlegen und dann den Personen zuweisen. Aktuell können Sie die Einstellung aber noch nicht ändern. Der passende Dialog erscheint erst nach und nach in den Tenants, abhängig , in welchem "Ring" ihr Tenant ist.

Sie können dann hier steuern, ob sie den neuen Client verhindern, durch den Benutzer selbst auswählen lassen oder durch Microsoft steuern lassen wollen. Ein "Erzwingen" des neuen Clients scheint zumindest im Dez 2022 noch nicht möglich zu sein.

Die Konfiguration können Sie natürlich auch per Microsoft Teams PowerShell über den Parameter "UseNewTeamsClient" beim Commandlet "Set-CsTeamsUpdateManagementPolicy" anpassen.

Sie können den Wert gerne von "AdminDisabled" oder "Microsoft Choice" auf "UserChoice" stellen, damit der Anwender selbst entscheiden kann.

Erster Eindruck

Weitere Informationen folgen, sobald sie nicht mehr NDA sind.

Weitere Links