New Teams Client / Teams 2.1

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.

5. Okt 2023: Announcing general availability of the new Microsoft Teams app for Windows and Mac
https://techcommunity.microsoft.com/t5/microsoft-teams-blog/announcing-general-availability-of-the-new-microsoft-teams-app/ba-p/3934603
https://aka.ms/newteams

Deadline 31. März 2024

Die Verteilung des "New Teams Clients" erfolgt in verschiedenen Wellen. Zuerst durften TAP und BETA-Kunden damit arbeiten, dann Piloten und danach konnten Benutzer selbst entscheiden, mit welchem Client sie arbeiten möchten und konnten sogar wechseln. So konnte Microsoft weiter Erfahrungen sammeln, Bugs beheben aber auch am Anfang fehlende Funktionen ergänzen. Auch 3rd Party Hersteller von AddOns konnten ihre Produkte entsprechend ertüchtigen. Aber auf Dauer ist ein Parallelbetrieb von zwei Produkten nicht sinnvoll. Microsoft hat daher den 31. März 2024 als Stichtag auserkoren, zu dem alle regulären Tenants und Benutzer nur noch den neuen Teams Client nutzen können.


Quelle: https://learn.microsoft.com/en-us/microsoftteams/new-teams-automatic-upgrade-announced

Mittlerweile hat Microsoft eine nette Roadmap auf https://learn.microsoft.com/en-us/microsoftteams/teams-classic-client-end-of-availability veröffentlicht. Abhängig von den Einstellungen der Teams Policy können die Anwender früher oder später nicht mehr den alten "Classic Client" nutzen

 

Eine weitere Nutzung des "Classic Client" ist nach aktueller Planung spätestens nach dem 1. Juli 2024 nicht mehr möglich". Alle Benutzer bekommen mittlerweile beim Start des alten Teams Clients ein Banner mit Hinweis zum Update, was sie aber noch wegklicken können.

Diese Termine sind nicht "überraschend" sondern wurde an mehreren Stellen immer wieder kommuniziert und auch im Teams Admin Center ist der Hinweis nun prominent sichtbar.


Quelle: Teams Admin Center 9. Feb 2024

Der alte Teams Client wird nach ca. 14 Tage automatisch deinstalliert, nachdem der Schalter zum Zurückwechseln vom Anwender nicht mehr genutzt werden kann.

Wenn Sie noch nicht reagiert haben, dann wird es nun Zeit, ihre Anwender über die neue Version zu informieren und das Update durchführen zu lassen. Als Administrator können Sie dies dem Benutzer manuell überlassen oder über eine "Updates Policy" erzwingen. Nutzen Sie das Reporting im Teams Admin Center, um zu sehen, welche Anwender immer noch den alten Client nutzen:


Quelle. Teams Desktop Client Usage Report https://admin.teams.microsoft.com/analytics/reports

Ich habe exemplarisch einmal einen Report über 180 Tage generiert:


Quelle. Teams Desktop Client Usage Report https://admin.teams.microsoft.com/analytics/reports

Sie sehen gut, dass in dem Tenant immer noch mehr Clients mit dem alten (blauen) Client unterwegs sind und die Nutzung des "New Teams Client" nur langsam zunimmt. Der Report listet weiter unten auch die einzelnen Clients und über das Excel-Icon ist die Liste sogar exportierbar. Wenn Sie aber die Datenschutzoptionen aktiv haben, dann sehen Sie die Benutzernamen nur als Hashwert.

Im Microsoft Admin Center unter "https://admin.microsoft.com/#/Settings/Services/:/Settings/L1/Reports" können sie als Global Admin die Anzeige der echten Benutzernamen aktivieren. Prüfen Sie vorher die Zustimmung von Betriebsrat/Personalrat/Datenschutz. Die Änderungen werden in wenigen Sekunden aktiv. Die Daten sind im Backend vorhanden und werden nur vor der Auslieferung an den Browser abhängig von der Einstellung unkenntlich gemacht.

Bitte kontrollieren sie die Nutzung von alten "Classic Clients" und nutzen Sie die verbleibenden Wochen, um den Umstieg auf den "New Client" zu unterstützen.

Was ist neu?

Der Teams Client als "Modern App" wurde auch in den vergangenen Jahren mehrfach umgebaut. Anders als viele klassische Produkte ist Teams als "Modern App" mit JavaScript, CSS, HTML geschrieben und nutzt Chromium als Plattform. der "alte" Client bediente sich dazu dem Electron-Framework während der neue Client auf WebView2 basiert. Letztlich kann es ihnen als Anwender auch egal sein, solange der Teams Client ihre Anforderungen erfüllt.

Auch wenn Microsoft den neuen Client mittlerweile als "Verfügbar" und nicht mehr als Preview bezeichnet, ist er noch nicht komplett funktionsgleich mit dem alten Client. Leider gibt es keine Liste, was noch nicht implementiert ist. Es fehlt aber z.B. die Client-API, mit z.B.: Stream Deck-Geräte angebunden werden oder bei eingehenden Anrufen eine lokale URL gestartet wird etc.

Microsoft hat aber vor einiger Zeit aber in einem Video die wichtigsten Änderungen veröffentlicht und zum GA-Zeitpunkt auch einen Blog-Artikel bereitgestellt:

Welcome to the new era of Microsoft Teams!
https://www.youtube.com/watch?v=Emdc1GZ_HMU&ab_channel=Microsoft365
https://aka.ms/InsideMSTeams/S7E7

Einige Aussagen aus dem Video:

  • Halbierter Speicherbedarf und doppelte Geschwindigkeit
    Microsoft nutzt andere Frameworks und Webview2 für bessere Performance und optimierte CPU-Nutzung
  • Cached Mode und asynchrone IOs
    Es werden mehr Daten lokal vorgehalten und weniger Übertragungen blockieren die Oberfläche
  • Parallele Entwicklung zum "alten" Clients
    Teams 1-Client hat auch neue Funktionen bekommen habe und der neue Client ist an einigen Stellen noch nicht ganz
  • Multi Tenant Switching
    Der neue Client kann nicht nur mehrere Business-Konten verwalten, sondern auch schnell zwischen Tenants wechseln, ohne das Sie Anrufe oder Benachrichtigungen in den anderen Tenants verpassen.
  • Release Datum könnte die MS Build 2023 im Mai 2023 sein?
    Nur eine Vermutung. Aber letztlich ist es nicht relevant, wann es soweit ist.

Für Administratoren ist zudem wichtig, dass der neue Teams Client als "App" in Windows eingerichtet wird und nicht mehr im Benutzerprofil unter "Appdata" liegt.

Rollout per UpdatePolicy steuern

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 2022 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. Dies ist davon 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 war zumindest im Dezember 2022 noch nicht möglich. Das geht über die Updates Policy im Teams Admin Center:


Quelle: https://admin.teams.microsoft.com/policies/updatemanagement

Microsoft passt diese Einstellungen immer mal wieder an und im Oktober 2023 hatten Sie diese vier Optionen zur Auswahl. Einige Wochen gab es nur drei Optionen. 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.

Hinweis: Als Admin können Sie nur steuern, welcher Benutzer den neuen Client über ihren Tenant bekommt. Sie können nicht kontrollieren, wenn ein Nutzer über eine Anmeldung an einem anderen Tenant schon den neuen Client nutzt und sich damit dann an ihrem Tenant anmeldet.

Wenn Sie es dem Anwender überlassen, dann kann er im alten Teams Client oben über einen Reiter den Wechsel einleiten:

Beta-Benutzer könnten noch einen sehr alten Client haben. Dann kann es helfen die Teams App zu deinstallieren und dann neu installieren zu lassen. Ich hatte teilweise drei Teams Apps parallel installiert.

Es kann aber sein, dass sie noch einen sehr alten Client haben und daher die Anmeldung schon fehlschlägt und sie damit in der Update-Schleife festhängen.

Was ist neu?

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 nativ mit JavaScript oder WebRTC abgebildet werden können. Es gibt daher immer Unterschiede zwischen Teams/Electron und Teams/Browser. Der neue Teams 2.1 Client basiert auf Webview2 und viele Funktionen werden vom Betriebssystem abhängig sein.

Im März 2023 ist der neue Client aber auch endlich in einem normalen regulären Tenant erreichbar geworden, wenn der Administrator diese Option freigeschaltet hat. Es wird sicher viele sehr bald viele YouTube-Videos und Blogs zu all den neuen Funktionen geben und in einigen Monaten wird sich niemand mehr an den alten Client erinnern wollen. Daher hier nur ein paar Aspekte, die sofort auffallen:

  • Mehrere Geschäftskonten
    Sie können nun im Teams Client mehrere Benutzerkonten aus verschiedenen Tenants gleichzeitig anmelden und schnell wechseln.

    Der Bereich mit den weiteren Tenants, in welche ich als Gast wechseln kann, ist mit aber etwas zu geraten.
  • Tenant-übergreifende Benachrichtigung
    Sie sehen direkt, in welchen andere Tenants, die sie mit einem Gast-Konto "besuchen" können, ungelesene Nachrichten für sie vorliegen:
  • Neue Channel-Anzeige
    Die Eingabe für "neue Beiträge" ist nach oben geschoben worden, so dass sie nicht immer erst in einem Kanal die noch nicht gelesenen Nachrichten nach unten scrollen müssen. Zudem ist die Reihenfolge nun gedreht, d.h. neuere Einträge sind oben.

Die Liste wird fortgesetzt, wenn ich besondere Änderungen zu berichten habe. 

Speicherorte

Alle bisherigen Teams Clients haben sich vom Benutzer ins Home-Verzeichnis des Anwenders installiert und konnten dort auch aktualisiert werden. Die neue Version ist nun eine Windows App, die nicht mehr in Appdata des Anwenders liegt, sondern unter C:\Program Files\WindowsApps\ und sehr einfach z.B. mittels "Get-AppxPackage" abgefragt werden kann.

PS C:\>Get-AppxPackage -Name MSTeams
RunspaceId             : 5ef19112-31fd-49fa-b3ca-906d85ad033c
Name                   : MSTeams
Publisher              : CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
PublisherId            : 8wekyb3d8bbwe
Architecture           : X64
ResourceId             :
Version                : 23173.800.2189.3696
PackageFamilyName      : MSTeams_8wekyb3d8bbwe
PackageFullName        : MSTeams_23173.800.2189.3696_x64__8wekyb3d8bbwe
InstallLocation        : C:\Program Files\WindowsApps\MSTeams_23173.800.2189.3696_x64__8wekyb3d8bbwe
IsFramework            : False
PackageUserInformation : {}
IsResourcePackage      : False
IsBundle               : False
IsDevelopmentMode      : False
NonRemovable           : False
Dependencies           : {}
IsPartiallyStaged      : False
SignatureKind          : Developer
Status                 : Ok

Auch der Ablageplatz für den Teams Cache hat sich geändert. Mittels einer Analyse der Teams Prozesse mit Sysinternals Procmon und ProcessExplorer habe ich folgenden Pfad und einige interessante Unterverzeichnisse gefunden:

C:\Users\fcarius\AppData\Local\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams

# Hier habe ich meine eigenen Hintergrundbilder gefunden
C:\Users\fcarius\AppData\Local\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams\Backgrounds\Uploads

# Das ist das größte Verzeichnis und enthält wohl auch den Datencache. Bei mir ca 2,7 GB!
C:\Users\fcarius\AppData\Local\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams\EBWebView

 Hier sind jede Menge Protokolldateien
C:\Users\fcarius\AppData\Local\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams\Logs

Eine genauere Untersuchung dieser Dateien steht zu einem späteren Zeitpunkt an.

Developer Tools

Beim alten Teams Client war es recht einfach möglich, die Developer Tools zu starten. Einfach sieben Mal mit der linken Maustaste auf das Teams Icon neben der Uhr klicken und dann mit der rechten Maustaste die DevTools starten. Das ist beim neuen Teams Client leider nicht mehr so einfach aber immer noch möglich

  1. Anlegen/Editieren der Datei "%localappdata%\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams\configuration.json"
  2. Addieren des Text: {"core/devMenuEnabled": true}
  3. Neustart des Teams Client
  4. Rechte Maustaste auf das Teams Icon neben der Uhr

VDI-Support

Der Einsatz von Teams auf Thin Clients, virtualisierten Clients etc. unterliegt besonderen Herausforderungen. Es macht ja keinen Sinn, z.B. Audio/Video vom Endgeräte zum Client und dann weiter zum Ziel zu routen. Über entsprechende Zusätze können kompatible Clients. Der neue Teams Client konnte anfangs auch nicht offizielle auf solchen Systemen genutzt werden. Das hat sich im Dezember 2023 geändert.

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.

Weitere Links