Rebuilt Microsoft Teams App Promises Twice the Speed, Half the RAM Usage (arstechnica.com) 121
Andrew Cunningham writes via Ars Technica: If you or your employer uses Microsoft Teams for communication, good news: Microsoft is releasing a fully rewritten version today for Windows PCs and Macs that promises to run faster while using fewer system resources. A preview of this app was originally released for Windows in March, but the final release covers all types of Teams instances, re-adds support for features like breakout rooms and third-party app support, and supports macOS. The new Teams app is notable for improved performance and reduced disk space usage, especially when running on Windows PCs. Microsoft says that the reformulated version of Teams is "up to two times faster while using 50 percent less memory" on Windows systems. That sound you hear is old and underspecced work PCs in offices around the world breathing a sigh of relief.
Microsoft credits its Edge WebView2 backend with helping improve performance and reduce disk usage on Windows. That's possible partly because WebView2 can use many of the same system files and the same runtime as the Edge browser built into Windows 10 and Windows 11. The older Teams app used the Electron framework, also used by communication apps like Slack and Discord. Though Electron and WebView2 are based on the Chromium browser engine, each Electron app includes its own self-contained version of the browser files, which all must be stored and updated separately.
Microsoft credits its Edge WebView2 backend with helping improve performance and reduce disk usage on Windows. That's possible partly because WebView2 can use many of the same system files and the same runtime as the Edge browser built into Windows 10 and Windows 11. The older Teams app used the Electron framework, also used by communication apps like Slack and Discord. Though Electron and WebView2 are based on the Chromium browser engine, each Electron app includes its own self-contained version of the browser files, which all must be stored and updated separately.
How to make it even faster (Score:5, Insightful)
Skip the web browser crap altogether and use the low level AV libraries directly. For the standalone application there shouldn't be browser anything within a million miles of it but with most devs in this arena using the lego (or even duplo) approach they'll just pick the path of least resistance.
Re:How to make it even faster (Score:5, Interesting)
To be fair, this puts them basically at the same point intellectually as the corporate IT teams that go all-in on the Teams crap anyway.
Our group insists that (what is basically) IRC "discussions" are vastly better than email for work matters and can't understand why someone would prefer to navigate their directory tree* manually through Explorer than to use Teams file channel window-thing.
*I know, I'm old school, I think in files, folders, and organized hierarchy. https://vanschneider.com/blog/... [vanschneider.com]
Re: (Score:3)
An old gnome email client, and Gmail, both try to do this with "tags" or whatever they call it this week. Leaving the tagging to me didn't seem any different than creating a tree of folders, other than being left with an enormous mess of an in
Re: (Score:2)
Re: (Score:3)
To be clear, I'm not saying it's NEVER appropriate.
The example you cite is a good one, although iirc Briefcase worked just as well for a selected batch of important files ...and without the ridiculous overhead/infrastructure/ecosystem of Teams.
(Although, to be fair, Briefcase was pretty bare bones and didn't have any mechanism to 'check out' files nor reconcile changes between the remote and primary files - then again, neither does Teams, not really.)
Maybe it's just me, but if I want IRC I'll run an IRC pro
Re: (Score:2)
Re: (Score:2)
You know it takes like 10 seconds to sync a Teams/Sharepoint file structure to OneDrive if you really want the Explorer experience, right?
Since we're at this, pray tell me, when I click on an image in a chat and tell Teams to save it, where does it put it? Because I look in my Pictures folder, it isn't there. Nor in Documents. Nor in Downloads. Also, I want to print it, there's no button that I can see to do that, as right clicking provides a list of completely useless options. The closes I can get to print the image is to use "Copy Image" to then paste it into something with a print button.
Given that, I think there's something pretty obvious
Re:How to make it even faster (Score:4, Insightful)
The advantage of it being browser based is that the web version runs almost as well as the desktop version. No need to install that crapware, just run it in your nicely sandboxed browser instead.
Re: (Score:2, Offtopic)
Microsoft is engineering their own demise. When you can run the web versions of everything then Linux starts to make all the sense. I do my whole job with word, edge (yuck, but no more yuck than chrome) and a 3270 emulator. Windows is the weakest link. I could as easily do the same job with chrome or firefox, libreoffice (or frankly even a lighter word processor, like abiword) and tn3270. In fact tn3270 might even be preferable because the emulator we use now can take like half a minute to start for no tech
Re: (Score:2)
Microsoft is engineering their own demise. When you can run the web versions of everything then Linux starts to make all the sense.
For whom? Businesses don't care about your idealism, and users don't get a choice as to what their IT department sets up for them. Linux is insanely lacking in the management department compared to Windows and the large offering of remote management tools available for the platform.
Windows is the weakest link.
In what way? On my work PC windows is just an OS. It has no bearing on my work as it is. It is neither weak nor powerful, the apps which run on it determine that and they run the same on both OSes.
Re: How to make it even faster (Score:2)
"Linux is insanely lacking in the management department compared to Windows"
This is nonsense. There are scads of management tools which will work with Linux. Most of the crap you need to do on Windows with group policies and the like is bypassing shitty defaults and nonfeatures. If your job is reduced to all web interfaces then using Windows to host a browser is all negatives compared to running it on a different OS. Even MacOS will reduce your TCO.
Comment removed (Score:5, Informative)
Re: How to make it even faster (Score:2)
Our device life time is three years for a PC and five years for a Mac. We donâ(TM)t pay for AppleCare. Macs end up being cheaper to support and use. They donâ(TM)t seem to degrade in the same way PC laptops do.
Re: (Score:2)
Re: (Score:2)
Most of the crap you need to do on Windows with group policies and the like is bypassing shitty defaults and nonfeatures
You gotta be quite the shitty sysadmin if that's your use case for group policy. Yikes
Re: (Score:2)
Even MacOS will reduce your TCO.
Citation please. You can start by pointing to that widely available pool of talented IT Linux administration experts and users. If you're going to use the acronym TCO you need to understand that it means more than the sticker cost of a platform. Right before you even started looking at the system you've already massively increased your staffing costs either by requiring training or by selecting from a small pool of experts who know how to do something that is very rare in the business world.
Re: How to make it even faster (Score:3)
Working daily with Windows, Mac and Linux, Linux has by far the best and most extensive management features, called SSH and clear text configuration files which can be amended with automation tools like Ansible, Chef or Puppet. You can also have AD + GPO integration with SSSD.
Mac is very close although binary plist is not quite human readable, at least it is convertible to XML and can be modified much the same way as Linux or with MDM.
Windows actively squirrels away every configuration in either a registry,
Re: (Score:2)
The advantage of it being browser based is that the web version runs almost as well as the desktop version. No need to install that crapware, just run it in your nicely sandboxed browser instead.
Yes, but teh downside is that this is achieved by makign the desktop version run like shit.
Re: (Score:2)
> the web version runs almost as well as the desktop version
You misspelled "just as badly"
Re: (Score:2)
Skip the web browser crap altogether and use the low level AV libraries directly. For the standalone application there shouldn't be browser anything within a million miles of it but with most devs in this arena using the lego (or even duplo) approach they'll just pick the path of least resistance.
But how else are they going to force people to use Microsoft Chrome.
Teams is essentially just a single use web browser anyway. However Microsoft are committed to half the RAM, twice the speed but still five times more shit than Slack.
Re: (Score:2)
Yes, because libgtk is so much better at rendering textfields and buttons than Webkit.
Let's face it, modern web rendering engines are just UI toolkits, same as any old UI toolkit of the past.
Re: (Score:2)
I think this train has sailed. Or flown... you know what I mean. There are so few programmers who can do programs that aren't "web apps" anymore. When they need to hire the cheapest and most inexperienced programmers, then they're also going to need browser+app bundles. Yes it's stupid, but the apps are stupid too so it balances out. (is stupidity additive or multiplicative?)
Re: (Score:2)
Path of least resistance indeed when you have OEM agreements it pays to ship a multi GB softphone that potentially leads to the HW owners replacing their desktop/laptop early.
Re: (Score:2)
Re:How to make it even faster (Score:5, Insightful)
"Cool, you've solved 1% of what Teams does."
AV is the hard part, the rest of it is trivial. Get a clue.
"A web rendering engine is not a browser. Conflating the two shows you're not qualified to talk about the topic."
Says the man who has no idea just how hard getting networked audio and video to work properly is. Buy hey, split hairs all you like. :) Browser = renderer + gui , whats your point?
Re: (Score:2)
Re: How to make it even faster (Score:2)
Renderers arnt the lowest level which youd know if you were as clued up as you say. And AV is hard to get right even if someone else has done the heavy lifting in the codec library. Though no doubt you thinK you could write your own mp4 codec in an afternoon.
The rest of teams is just glorified IRC and assorted other miscellanious trivial functionality.
Re: (Score:2)
Renderers arnt the lowest level
Never said they were. Your post is getting to the point of absurdity making up shit now. I didn't read the rest. It's not worth anyone's time.
So they only need (Score:5, Funny)
320k of RAM?
Re: (Score:2)
They need a 1048576 times more.
Comment removed (Score:5, Insightful)
All types of Teams instances? (Score:5, Insightful)
Re: All types of Teams instances? (Score:2)
They still support it as much as they ever did, but as a PWA. They never supported it enough.
While their web client lags, their Linux was just the web client anyway, it didn't get the enhancements afforded the Windows edition.
So I can't allow anyone to control my screen, which I don't generally need anyway (I'll use something like tmate instead), and more painfully I can't control other people's screen, and that comes up weekly.
I can understand not trying to control a Linux screen, but not being able to co
Re: (Score:2)
Curiously I don't see Chromium show up in the System monitor of the Kubuntu 22.04 laptop.
At least Firefox (also snap) is there as a process.
But shutting down Chromium does remove a whole bunch of 'Chrome' crashpad-handlers which occupy nearly 1 GB of RAM.
Re: All types of Teams instances? (Score:2)
https://github.com/IsmaelMarti... [github.com]
It's just an electron wrapper around the PWA, but it works much better than the PWA.
It is still laughable. (Score:2)
I mean, seriously.
https://gigaom.com/report/new-... [gigaom.com]
"high end" test system, an ASUS Zenbook Pro Duo 15 OLED - 15.6" home and business laptop, Intel i9-12900H 14-core CPU, 32GB LPDDr5 4800MHz RAM, 1TB SSD with Windows 11 Pro OS.
startup time: 3.27 s
time to join a meeting: 3.06 s
What is it doing during "startup", if after finishing this "startup" it takes equally as long to join a meeting?
It has to do _something_ to be busy for 3 whole seconds. But even after 3 seconds of work, it is not ready to join a meeting
Re: (Score:2)
Joining a meeting is probably related more to network latency than the local application response.
Re: (Score:2)
Re:It is still laughable. (Score:5, Informative)
Getting what could only be described as tracking tokens because it is cloud based is what we found when we spent the time to track every network call and decode everything down the simple categories of "for microsoft", "for identity", "for presence", and for "application integration" (user workflow).
I have real questions if the desktop Teams developers understand network fundamentals, that every new TCP connection has a multiplying cost to delays the user can see.
My last enterprise we sent a stream of engineering tickets to microsoft over the stupidity of the Teams application and how the telemetry reports were not reflective of the user experience. Netscout developed the monitoring platform in partnership with microsoft, we knew the network packets when they were sent were handled efficiently, but the screen next to the packets did not have any coordination. Some things worked extremely well with GPU acceleration off and took a dump when GPU was involved.
What was incredibly revealing, when given normal home user access to the internet through a NAT that Enterprise ready teams client became efficient, but when placed behind the bog standard set of firewalls, proxies and cloud rules of a bog standard enterprise performance became questionable. Desktop client until recently did not establish a single TLS1.3 connection to the home ship and leverage that connection until it failed to perform. In stead it sent requests to 20+ microsoft ran web services that may not have provided anything to the end user. And yes if listen to microsoft, and just route those out the default route with a wide open firewall with no inspection or logging your Enterprise Teams experience may be better. Excuse me, we have regulatory commitments that microsoft Eng does not care to examine.
My past enterprise just gave up for the user on the VPN and let microsoft have free access to the users home internet connection and get to the cloud. We did not sign up for that solution, but it evolved to it. Regulations and Regulators be dammed by microsoft and not the enterprise. Return to office has been a real thrill with teams.
Re: (Score:2)
Re: (Score:2)
What is it doing during "startup", if after finishing this "startup" it takes equally as long to join a meeting?
Of course it needs time to fill your hard drive with the 3 gigabytes of files it puts there.
Re: (Score:3)
Still takes like 10 seconds to log into WoW too.
It's almost as if network authentication requires back and forth over hundreds of miles of fiber optics, and processing between multiple front, mid and back end nodes to accomplish.
Are you really complaining about 3 seconds ?
Re: (Score:2)
The reason there's a rewrite now, is because their rapidly prototyped demo of a business chat/messaging system developed during a hackathon was considered a success (ie, IT departments around the world required its use), so it was time to write the real version.
Mac? (Score:2, Interesting)
> That's possible partly because WebView2 can use many of the same system files and the same runtime as the Edge browser built into Windows 10 and Windows 11.
So, um, I might be dumb, but here goes: how does this help on Mac?
Also, how the hell can a PC be underspecced for a simple chat program? Microsoft, right...
Re: Mac? (Score:2)
yup, thatâ(TM)s too question right there.
Re: (Score:2)
Re: (Score:2)
Remember mshtml.dll? (Score:5, Interesting)
After over 25 years, we are yet again back to using OS provided web engine for local software interface.
From MSHTML (Internet Explorer) to EdgeHTML (old Microsoft Edge) to now "WebView2" as a form of repackaged Google Chrome, webpage as GUI turns out to be the best UI choice for most software devs. All the other tries of being flexible and "native" at the same time for Windows application UI has failed to gain widespread adoption.
Re: (Score:2)
I'm assuming its due to the greater hive mind of collective development knowledge being biased in web development. More people "learn to code" web centric infrastructure. so its more accessible, to more people. Hence greater momentum.
Is 640KB enough? (Score:2)
Just asking for a friend...
Meh (Score:3)
Re: (Score:2)
Linux client? (Score:3)
Re: (Score:2)
You can just use it with Chromium, it can be "installed" through that which just means launching chromium with special options to go straight to Teams and give it Teams icons instead of Chromium. Notifications work fine. And funnily enough us Linux users are already getting getting these kinds of resource savings as long as you're already using Chromium for something else.
Talk about bad implementation (Score:3)
Re: (Score:2)
Teams wasn't badly implemented. The Electron framework of the day was (Teams used a very old framework). Every application written on that framework at the time was rubbish and could be trivially and significantly optimised by using either literally anything else, or upgrading the electron framework version.
hopefully... (Score:3)
Hoping it sees me online in, say 2 minutes instead of 45 or more... For f**k's sake, taking a bathroom break shouldn't leave me "offline" for 2 f**king hours. Yes, that was in a performance review, and 100% Teams fault, and I now click on Teams every time I go away for 2 minutes because it doesn't see me online if I don't. With Jabber I could come back after 2 minutes and I was seen as online. Teams? Nope, gotta f**cking click on the app.
Have no idea if that is a Teams issue or some weird network issue, but I never had any issues with Jabber.
Re: (Score:2)
Re: (Score:3)
Online/offline states are absolutely useless in Teams.
With one colleague, I haven't seen him online for months, even while sitting next to him and trying to sort the issue, and other people seeing him online.
No one even looks at status anymore, we just write and eventually an answer will come.
Following https://nohello.net/en/ [nohello.net] guidelines is extremely important.
Re: (Score:3)
Conclusion, Teams sucks.
My main complaint is it is a distraction, when you want to reach send a mail.
Re: (Score:3)
Yes, that was in a performance review, and 100% Teams fault
I'd say the fault lies with whoever is using Teams statuses as a data point in a performance review.
mouse jiggler (Score:2)
Get one.
Hardware is better.
Re: (Score:2)
Yes, that was in a performance review, and 100% Teams fault
No. It's your fault for working for a shitty employer who thinks the Teams online status has any place in being part of a performance review.
Its 2023 folks (Score:3)
while im on this platform why is it also so difficult to send multiple large files or make available to other people without some networking degree.
Re:Its 2023 folks (Score:5, Insightful)
Because the tools 20 years ago were simple and worked on a p2p basis, things like ms netmeeting, SIP, IRC or ICQ used a central server only for linking users (like a directory), and then p2p for direct communication or transfer of large files etc. Every device had their own IP address and could open up to allow connections from other users.
Since then the Internet has outgrown IPv4 and a lot of providers still don't have IPv6, users routinely block inbound connections by default etc. The p2p model no longer works, now you have to run a client-server model. While a server that handles text chats and linking p2p users is cheap and not latency sensitive, a server that can proxy voice, video and file transfers is _NOT_ cheap especially if you want them geographically diverse enough to reduce the latency impact.
So you end up with services locked into the big players since noone else can afford the hosting infrastructure. The lack of competition and the high barrier to entry means there's very little incentive for anyone to improve the services.
Re: (Score:2)
So you're saying we're dealing with technical and societal debt incurred by not switching to ipv6? I agree...
Re: (Score:2)
Its 2023 and I have a symmetric fiber connection to a major isp. They still don't support ipv6.
Re: (Score:2)
Re: (Score:3)
Re: (Score:2)
> IPv4 is not your issue
IPv4 is part of the issue when instead of a p2p link between edge devices there has to be an intermediate proxy. This introduces another point of failure and possible latency.
For the rest, I too am in the network programming space, so I know what you mean.
Re: (Score:2)
An enterprise application performs well at home with unfettered access to the internet, why does placing that application inside a bog standard enterpise stack of Microsoft Anti Virus, everyone uses those firewalls, everyone uses those proxies and everyone uses that service provider does the teams app go to performance and memory dog?
Place it behind bog stan
Re: (Score:2)
How does it require a networking degree to fire up Zoom, Discord or Teams ?
How did you ever manage to find, much less post on, Slashdot while finding video conferencing hard ?
Heck, dumb gamer kids have home studios they stream on Twitch from. If anything, it might be a tad too accessible with a very high production value.
Re: Its 2023 folks (Score:2)
Re: (Score:2)
If only Google Drive or Microsoft One Drive existed. One can only dream.
Re: Its 2023 folks (Score:2)
Installation (Score:2)
Twice as fast and twice as small? (Score:4, Informative)
So you mean it will only burn through 500 MB or RAM and it will start in less than 10 seconds (assuming it doesn't get stuck in a login loop, like it does every other week for me)?
Gee I can't wait to see this marvel of tight coding in action...
In fairness to Microsoft, Teams is an Electron application. The only to make an Electron app fast and small is to rip out Electron and recode the application as a genuine native application, and not a fucking browser disguised as a native app running a web application - something lazy developers can't get enough of nowadays, and something that leaves the poor users who have to use those apps scratching their heads why their powerful computer runs so slow when they run more than 5 things at the same time.
Re: (Score:2)
I hate browser-based apps as much as everyone else, but I don't think it's the developers pushing for this. Companies need to make a web-based version of their platform anyway, so I can imagine management would have an incentive to repackage that as an app to save time and money rather than write a proper app.
Microsft devs must be proud (Score:2)
Well, except the part where it wasn't re-written in their latest and greatest .NET 7.
Oh! Look! DLLs! (Score:2)
Microsoft credits its Edge WebView2 backend with helping improve performance and reduce disk usage on Windows. That's possible partly because WebView2 can use many of the same system files and the same runtime as the Edge browser built into Windows 10 and Windows 11.
Really sad to read this from a software company with decades of expertise.
I mean, if a 14 years old kid tells me that he is using libraries as a novelty I will understand his excitement, but Microsoft? Really?
Re:Oh! Look! DLLs! (Score:5, Insightful)
The novelty isn't the libraries, it's reusing the metric shit-ton of them that Windows keeps loaded in memory.
Because as we all know, a browser framework must be loaded at all time even when the user doesn't use the browser, so that Microsoft's browser starts quickly when the user clicks on it and doesn't seem to require a lot of extra RAM, while everybody else's browsers appear slow and wasteful because they have to load their own libraries at runtime.
Incidentally, that's how Microsoft pretends not to bundle a browser with Windows and avoids getting in trouble with regulators who might want to break their monopoly: they only bundle and load 90% of it in the OS, and they call the remaining user-facing 10% the browser.
Re: (Score:2)
> The novelty isn't the libraries, it's reusing the metric shit-ton of them that Windows keeps loaded in memory.
Nah, it's OS libraries: Teams is apparently written by a bunch of js kids who can at best do an npm import, and ship an entire browser.
Don't ask them what an ioctl is, they might think its a dirty word.
Incidentally, this also means that Teams code itself might not have gotten much of an optimization, as the gains are touted to come from basically switching browsers...
> Because as we all know
Re: (Score:2)
Don't ask them what an ioctl is, they might think its a dirty word.
Not to be pedantic, bu ioctls are actually kind of terrible. They-ve always been a kludge to extend files to be configurable as devices - because the inflexible Unix way is that everything is a file, which is actually quite stupid - and that's one area where Windows is in fact better.
I highly recommend this talk [archive.org] on the subject by Benno Rice of FreeBSD fame.
Re: (Score:2)
Because as we all know, a browser framework must be loaded at all time even when the user doesn't use the browser
You are using the browser, even when you have no apps open. A significant part of the Windows UI is rendered using WebView.
they only bundle and load 90% of it in the OS, and they call the remaining user-facing 10%
Literally no one is complaining about the engine itself. If it's not user facing, and doesn't impact business practices the regulators aren't interested and have no business in being interested. Do you even understand what the antitrust case was about?
Re: (Score:2)
premature optimization and all that (Score:2)
If you can take the memory and CPU foot print of a something that is already pretty significant on both those scores like Teams and cut it by half without changing the features - the product was not ready.
This wasn't a 'one off thing either' it was a mass release software product that they expected to run on millions of machines.. At what point is going to market with something so poorly optimized just a giant middle finger to the customers of your ecosystem?
Oh and 'Microsoft we're going carbon neutral...gr
How about no. (Score:5, Interesting)
As someone who uses it on Windows and Mac both, and have been since they allowed us plebs to switch to beta and be harassed daily if we want to switch back ( great design that) the end result is; I've seen literally no meaningful performance increases anywhere. Yeah, it may use a little less memory and some features may be faster but switching chats, groups and literally everything is so sluggish I might as well be using Windows Vista on an AMD-K5.
It's amazing how a company the size of Microsoft cannot design native applications that actually perform decently. They have enough dosh and engineers to create native versions of the app on Win/Mac/Lin and laugh all the way to the bank.
Biggest issue (Score:2)
Re: (Score:2)
Missing The Main Issue (Score:2)
That's the main issue.
Instead of using what the underlying OS provides, they disregard everything MS Windows has built for at least 4 decades and jump into the "everything-is-a-webpage-wagon" powered by some browser-engine.
These are Microsoft's own software engineering. These develo
Re: (Score:2)
Re: (Score:2)
Wrong metrics (Score:2)
I couldn't care less about Teams memory footprint and CPU time consumption. What I want its the wallclock consumption halved.
Re: (Score:2)
And 4x the vulnerabilities? (Score:2)
This is MicroCrap, after all. Insecure, slow, hard to use and unreliable is what they excel at.
Edge browser built into Windows 10 and Windows 11 (Score:2)
Catching up to 1990s ICQ (Score:3)
Electron et al ... asinine approach to software (Score:3)
I really despair of the "load up on gargantuan frameworks" approach to developing software
Whilst no one wants to go back to the C days of writing mountains of code to achieve basic functions, these bloated frameworks are too far in the wrong direction. Devs should be taught that the answer isn''t always to reach for the most convenient-to-the-dev approach and think about resource usage a little bit.
for context, MS Teams based on electron on my machine regularly used 6gb of memory, which is just obscene.
UI design (Score:2)
There was never a problem for me with performance from a computational perspective. Itâ(TM)s the god awful UI design that slows me down. Microsoft are seriously lacking people with any kind of UX sense working on that product.
Going back to Slack nowâ¦
Writing actually-good software (Score:2)
I would contend that pretty-much any existing app or server software can easily be rewritten/modified/tuned to run twice as fast and use half as much RAM.
Developers and their overlords (mostly their overlords) have depended on the ever-increasing increases on processor power for at least a couple of decades now, making it unnecessary to pay much attention to performance.
In many cases, 5-10X performance is not an unreasonable outcome.