Teams Linux Client Replaced by new Teams PWA (Progressive Web App) Client
Figure 1: Teams Linux client (source: Microsoft)
Microsoft plans to retire the Linux desktop client for Teams in early December. Customers heard the news in late August in Microsoft 365 message center notification MC412007. Apart from MC412007, Microsoft hasn’t posted any other news on the topic, and due to the lack of Linux clients in my tenant, I didn’t receive the notification, which accounts for the lack of coverage here to date. Some Linux-centric websites picked the news up and reported Microsoft’s bald statement that:
“We will be retiring the Microsoft Teams desktop client on Linux in 90 days (early December), which is currently available in public preview. All users on the Microsoft Teams Linux desktop client will have to transition to the web or PWA version, which is where we will continue to invest our development resources.”
Microsoft originally announced the Teams Linux client in December 2019 as the “first Microsoft 365 app coming to Linux desktops.” The client is distributed in .deb and .rpm formats. Soon after launch, users realized that the Linux client lacked parity with the other Teams desktop clients in areas like background effects for meetings and calls. Questions flowed and Microsoft pushed through updates at a steady pace, but the Teams Linux client never attained feature parity.
PWA on Edge or Chrome
The announcement also says:
“Teams PWA is an evolution of our Linux web experience – it offers the “best of the web with key functionalities of client”: zero-install, lightweight, and has a rich set of features. For example, the PWA version supports features such as:
Background blur and custom backgrounds
Reactions and raise hand in meetings
Large gallery and together mode
PWA also provides desktop-like app features such as:
System notifications for chat and channel Dock icon with respective controls
Application auto-start
Easy access to system app permissions”
Microsoft hasn’t made a Teams progressive web app (PWA) available yet. The announcement implies that the PWA will be available to customers before Microsoft retires the Linux desktop app.
Given that Firefox doesn’t support progressive web apps, Linux users will have to use Chrome or Edge to run the Teams PWA. Firefox users can continue using the existing Teams browser client. Given that the Teams PWA will run on Edge and Chrome, there doesn’t appear to be any reason why it should not also support Windows and macOS desktops too.
November Update: PWA Available
Update November 7, 2022: Microsoft announced that the PWA client is available for Linux. In fact, the PWA is now available for all platforms. For example, to create the PWA on Windows, I ran the Teams browser client (teams.microsoft.com) and used the Edge apps option to install this site as an app (Figure 2).
Figure 2: Install Teams as a PWA
After the Teams PWA installs, you have options to pin the new app to the taskbar, start menu, as a desktop shortcut, and to start the app when the PC starts (Figure 3).
Figure 3: Post-installation options for the Teams PWA
Few Will Mourn the Passing of the Teams Linux Client
Based on the comments from some Linux users, it doesn’t seem like the demise of the Linux desktop app will be a sorrowful occasion. The Linux client is buggy and lacks some of the features available in the Windows and macOS desktop clients, a factor that people soon realized after installing the client.
I know several people who installed the Teams Linux client out of interest, but none who use it for production purposes. This appears to match what others have experienced and it probably won’t be a great problem for anyone to move to a PWA.
From a Microsoft perspective, canning the Teams Linux client makes sense too. I’m sure that they have development and support engineers dedicated to the Linux client that can be used elsewhere.
On to Teams 2.0
In one sense, the retirement of the Teams Linux client is regrettable. However, it’s also understandable. If the client hasn’t gained traction with its potential user base and a better (PWA) alternative is available, then it makes sense for Microsoft to move resources into where they can make the best long-term impact. This is especially so in light of the fact that Microsoft is in the middle of transitioning the Teams client from the 1.0 architecture to a new version with promises of better performance, increased functionality, and lower memory footprint. I suspect that the need for engineering resources to fulfil the commitments made for Teams 2.0 contributed to the decision. In any case, putting a poorly used and buggy client out of its misery seems like the right thing to do.
Make sure that you’re not surprised about changes that appear inside Office 365 applications by subscribing to the Office 365 for IT Pros eBook. Our monthly updates make sure that our subscribers stay informed.
I think you underestimate the slyness of Micro$oft to propose their teams solution to professional organizations, by claiming they support multiple OS’es and, later on, stopping it to enforce those same organizations to enforce their crappy windows OS.
I don’t underestimate the ability of any large organization to behave in a way that is unexpected. In this instance, the Teams PWA is a good replacement for the few people who used the Linux desktop client. I use the PWA all the time…
{"id":null,"mode":"button","open_style":"in_modal","currency_code":"EUR","currency_symbol":"\u20ac","currency_type":"decimal","blank_flag_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":100,"top_media_type":"featured_image","featured_image_url":"https:\/\/office365itpros.com\/wp-content\/uploads\/2022\/11\/cover-141x200.jpg","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Virtual Tip Jar","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Office 365 for IT Pros","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Office 365 for IT Pros","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting the work of Office 365 for IT Pros!","payment_confirmation_title":"Office 365 for IT Pros","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
Please set up remotely to close all its linux programs
I think you underestimate the slyness of Micro$oft to propose their teams solution to professional organizations, by claiming they support multiple OS’es and, later on, stopping it to enforce those same organizations to enforce their crappy windows OS.
I don’t underestimate the ability of any large organization to behave in a way that is unexpected. In this instance, the Teams PWA is a good replacement for the few people who used the Linux desktop client. I use the PWA all the time…