Dark Patterns in Microsoft Office Suite (Part 1)

Published on

My employer uses Microsoft Teams for internal comms, meetings etc. I've never been a fan of Microsoft Teams because it doesn't work on Firefox, the default browser on most Linux distros. Requiring users to use Microsoft Edge, Chrome or a Windows app isn't interoperable. The world has seen the browser and anti-standards war before. Besides, Chrome and Edge are very anti-privacy.

Microsoft ♥ Linux
Microsoft says that they love Linux... but do they really?

To work around the browser requirement I have to operate a separate browser specifically to run Teams because it doesn't work on the browser that everything else works on.

A few days ago I started getting this message:

Classic Teams will soon be unavailable for use. To use the new Teams, update your browser to meet requirements or contact your IT admin. See requirements

Teams is pretty cluttered so I didn't notice it straight away, but after a while I took notice and decided to check the requirements:

Screenshot of table that implies Teams only supports Windows

I was confused by this as it seemed like Teams would no longer work via the web client on Linux. This would prevent me from being able to communicate with my collegues. Since my employer doesn't support Linux I would be forced to use Windows.

Another page goes on to say:

Classic Teams users who have encountered issues moving to new Teams or who don't meet the prerequisites to upgrade will still have access to the classic Teams client until July 01 2024 at the earliest.

Drat! Does this mean I won't be able to use Teams on Linux in a few months?

Turns out the message and corresponding documentation is misleading and using Teams in a web browser on Linux probably won't be an issue going forward. One of my coworkers pointed me to a discussion on GitHub showing how to opt in your account to use the "v2" Teams via Developer Tools:

F12 > console > window.localStorage.setItem("tmp.isOptedIntoT2Web", true) > reload

Either Microsoft is intentionally degrading the experience on non-core platforms as a form of a dark pattern, or they are incompetant and unable to produce a cross-platform web client with an equivalent user experience. Either way it's not a good look.

It's a real shame that using Microsoft products on Linux is such a terrible user experience, and it's a shame that Microsoft doesn't create interoperable software.

What would a good experience look like?

Where I work, BYOD is the norm, meaning an internal chat solution that works cross-browser and cross-OS should really be a basic requirement. Even if BYOD wasn't commonplace, locking a company into a single vendor across an expansive suite of products isn't a good idea, especially when the vendor runs a keylogger on your computer by default.

A web client should be OS and browser independent. HTML5, conceived in 2008, is broadly supported by numerous browser vendors and not designed to be pinned to a particular operating system. If a web client doesn't function on, say, Firefox on Ubuntu, it should be treated as a bug.

Ideally the API should be interoperable, or at the very least, have publicly documented APIs, to allow open source clients and integrations.

Mattermost is probably the most feature-complete Teams alternative that I can think of. It supports many different browsers, has open source clients and an API reference.

The Slack web client purportedly functions cross-platform. There are some third party clients and integrations like slack-libpurple for Pidgin and various Slack bridges for Matrix.