Skip to main content

Teams Gripes (for nerds)

No Linux client
#

MSFT continues to exhibit strong Linux support in the infrastructure space ( especially in Azure), yet complete disregard for it on the endpoint. The only usable desktop clients for Teams are on Windows x32/x64 and macOS1.

Late 2019 Update: MSFT released an official Linux client (two years subsequent)

Google Play Services
#

Some in the technocrati run Android without Play Services for ideological or other ~threat model~ reasons. Microsoft Teams on Android is severely hamstrung without the full Play Services suite, and microG, the usual go-to for those in this boat, doesn’t assuage this particular application.

Why This Matters
#

Under Nadella, MSFT have made big strides in winning back the open minded subset of the open source/*nix scene. A sizable chunk of SWE/SRE gets done (by those people) on Linux daily drivers and ‘sysadmined’ Android phones. That cohort has the ear of - and in some cases are - the decision makers in technology departments (even moreso in technology-oriented companies, an ever expanding category).

These are understandable outcomes given limited developer resourcing, and we’re sure mainstream/popular UserVoice concerns take precedence, especially because the archetypical product manager doesn’t fall into the GNU/RMS-influenced subset but can relate to - and are likely renumerated by responding to - mainstream consumer requests. However, it’s worth noting Teams’ biggest competitors both [1] [2] have official Linux desktop apps, and their Android clients voice+video modalities work even in the absence of Play Services.

The relative disregard for *nix centric powerusers would be far more palettable if Teams was primarily a native Win32 app (a la Skype for Business) and thus required a completely different codebase to expand platform support. Alas, it exists on both Windows and macOS merely as an Electron app. This admittedly popular delivery mode comes with many tradeoffs2, yet it’s biggest drawcard is an ability to develop ‘once’ (for the web) then only require very minor tweaks to deliver pseudo-native apps everywhere. For Electron done amazing well on all three desktop operating systems, look no further than Microsoft’s own Visual Studio Code, which has in a few short years usurped pretty much every other IDE, in part because of it’s tri-platform consistency and ubiquity. Teams… team… take notes!


  1. Windows S client is being discontinued and the only Linux ‘client’ is a ( third party) seemingly discarded Electron wrapper around the web-app ↩︎

  2.     function Get-MemoryUsage {
            param ($name)
            $x = Get-Process $name | Group-Object -Property ProcessName
            $x = ($x[0].group|measure workingset -sum).sum / 1MB
            [Math]::Round($x)
        }
    
        Get-MemoryUsage Teams # 556MB
        Get-MemoryUsage Lync # 173MB
        
     ↩︎