Microsoft Teams 2 will use half the memory, dropping Electron for Edge Webview2
tomtalks.blog
tomtalks.blog
It matters to sysadmins. Some people need to also work on the computer and when Teams uses all memory they will close it.
It's basically having a third-party forcing programmed obsolescence at your device.
would call it more than just an "improvement", only using 1/2 memory is pretty freakin great when you're already known for hogging mem
> Not a subscription—never expires
> Includes 1 year of free version upgrades
Are you telling me that a third-party slack client will keep working forever without updates? The "not a subscription" message here is effectively moot: this thing will stop working and you will need to pay for "another year of version upgrades".
It's not promising you to work forever without updates, but also it doesn't force you to pay if you're happy and everything still works.
Contrast this with something like sublime text: years from now you can still expect it to work normally.
What I expect is that if your app will not continue working for a long time then you should not make "lifetime license" one of your selling points unless you are prepared to offer lifetime upgrades too.
But why?
'Native' is a tool, not a goal, surely?
What's the underlying goal you want to achieve, and do you really need native to achieve that?
Performance, small bundle sizes and native UI widgets. And judging by all of the Electron apps failing in these departments, I guess you really do need native apps.
Space are not precious anymore. Nor is bandwidth.
I get 60 Mbps down and an upgrade would be $50k. Bandwidth is relatively precious to me.
I would suggest that people are likely not attempting to use enterprise-grade collaboration software on these machines, so that's not a problem.
https://www.theverge.com/2021/5/17/22439924/microsoft-teams-...
Also, an application that runs constantly in the background, is under a greater obligation to make efficient use of system resources.
> judging by all of the Electron apps failing in these departments, I guess you really do need native apps.
I'd put that differently: solutions heavily based on web technologies seem to consistently fail to be anywhere near as efficient as solutions that use conventional toolkits. (Sometimes someone will suggest this isn't true if the web-based solution is well implemented, but they are never able to give an example of such an application.) On most platforms, Qt doesn't count as being truly native, but it's still far more efficient than Electron.
I don't know what Slack or Teams would look like with native UI components, but I am pretty sure I would consider it inferior to what we have at the moment. The possibly improved performance and memory footprint would be nice but not enough for me to care about.
People don't expect Google to look 'like Windows' just because they're on a Windows OS, they expect Google to look like Material apps across all platforms. There's not 'windows spotify' or 'android spotify' but they expect the app to look the feel the same everywhere, and in that way companies actually benefit from using Electron.
"Native" is the implication that a certain level of comformity is present: the user generally gets an experience that is similar to other native applications.
As you develop with native APIs, and when you follow the best practices for the platform, you end up with a product where the UX is much easier to grasp for the user. Non-native solutions very often have different UI/UX patterns, which leads to users having to learn these patterns before the application becomes understood by them.
This sounds like the goal you want to achieve using native as a tool.
But anyone who struggles to grasp non-native UI and UX is going to struggle to interact with the modern IT environment as there is no standard for web-apps.
Theoretically, there might exist a cup of coffee that achieves this goal. But I've never seen one, and if you serve me coffee it's almost certainly not going to achieve my goal.
Responds to user input quickly enough to not be frustrating.
We already have cross-platfrom UI engines called browsers and they're very advanced and reasonably pleasant to work with these days. If you bundle the browser (electron) then you don't have to worry about differences between browsers. So electron makes plenty of sense to developers, even although it's an egregious resource hog.
For example... Gamestop's market cap did this recently - https://www.macrotrends.net/stocks/charts/GME/gamestop/marke... - the company doesn't suddenly have more money to spend on projects.
Microsoft generates more money than they know what to do with so they return large amounts in dividends and probably stock buybacks (I haven't checked for MSFT specifically, but it's all the rage these days.)
That's essentially the opposite of what GME did.
That aside, they also have lots of products and teams and some have more budget and resources than others.
Saving some memory usage in teams for more than double the development costs, is probably an unattractive position for that team. It also makes it hard to keep features consistent across platforms (as it is, teams struggles with that!)
- DOS 4.0
- Microsoft Bob
- Windows ME
- Windows Vista
- JScript
- MSJVM
- Zune
- Eliminating all/most easter eggs
https://www.infoworld.com/article/2612971/microsoft-s-13-wor...
You can make many, many mistakes as a giant company, so long as they're not fatal. ;-)
The platforms are fragmented and the user pays the costs of that in the end, one way or another.
If you hide it by increasing development costs, the price of the app ( or amount of ads or premium only features) must go up to compensate and the user pays the cost as well.
Edit: downvote all you like, there is still no magical solution.
That's typically the smart choice.
Why are we pretending in this thread that there aren't any cross-platform toolkits?
Using that is an entirely valid trade-off between "putting a webshit in its window" and "you have to develop 10 separate native apps".
Those are pretty sucky by comparison to both web and native and they don't feel native.
The problem is not that cross platform toolkits don't exist, it's that they're aren't any good enough.
Also why are we pretending in this thread that it's impossible to write electron or web apps with more reasonable memory usage? Look at vscode.
Electron, as much as I hate to say it, is one of the best options available.
It must be very hard to write Electron apps with more reasonable memory usage if VS Code is the sole example anyone ever has.
Sublime Text is my reference for reasonable memory usage and performance. VS Code doesn't measure up.
I'm not aware of any cross-platform toolkit that works on windows, mac, linux and the web aside from, well, a browser.
> Using that is an entirely valid trade-off between "putting a webshit in its window" and "you have to develop 10 separate native apps".
People don't want to pay the cost of native apps, they want to be able to use apps everywhere and have new features often.
Mac and iOS are relatively-straightforward, aren't terribly different, and share development resources.
Android (Kotlin) doesn't often lead to suicidal ideation.
Windows is meh.
Linux is so-so.
> So electron makes plenty of sense to developers
To mostly front-end developers who don't know much about the world outside of a browser.
> , even although it's an egregious resource hog.
Violating nonfunctional requirements to be usable, performant, and efficient.
Just for the record I'm a senior backend developer, who sometimes operates at CTO level in startups, and I suck at front-end development. But still electron makes sense to me. Or react native if it's mobile only.
The state of cross platform development is pretty bad.
Cross-platform development will never be improved by N-times duplicated effort of abstraction layers on-top. The best that could happen is for OS developers to agree on common interfaces like UNIX/The Open Group for low-level operations, but for high-level media, UI, and common native development APIs more integrated than a patchwork of libraries like Qt, LibUV, etc.
I've worked on nuclear reactor simulators in F95, embedded industrial GPS equipment, deadline-oriented ad server meta-mediation, Fortune 500 client-facing consulting, compilers, functional programming projects, and now earn a paycheck doing SRE/PE since it's easy money to fund side-hustles.
Someday we compile to WASM and have UI rendering on top of WebGPU?
I just opened a couple of Swing programs on macOS. Other than not having dark mode, I couldn't see any major difference. I can't check it on Windows right now.
So, no, I don't live under a rock.
I get the popularity of electron and other cross-platform tools for small startups, but for Microsoft..
Having done exactly this work it's really not as simple as throwing 5x as many people at it.
Though to be clear, I am an advocate of native apps on each platform and am not a fan of "wrap a webview around it" type fake-apps. That said, we need to be honest about level of complexity here.
The problem with maintaining 5x native apps is not just the cost of hiring 5x as many people - as you scale towards more platforms the inter-team coordination overhead increases exponentially.
The complexity of coordinating 4 teams to ship in lockstep on 4 separate platforms isn't double the complexity of 2 teams on 2 platforms.
There are a bunch of intersecting factors here:
- product management has extreme load - new features need to be designed for every supported platform at the same time, increasing complexity in feature definition. Some features aren't possible on some platforms, so that increases scope and complexity of the features as we include fallbacks or exceptions.
- engineering has to happen (roughly) in lockstep with one another. It's not acceptable to ship a new feature only on Windows and not Android - they don't have to launch on the same day, but neither can they launch a year apart. This means you have multiple engineering teams that basically have to move at roughly the same speed, even though they are developing on completely differently platforms.
- underlying platform changes affect your ability to move in lockstep - iOS and Android both have significant yearly updates that create additional testing needs. Both platforms also introduce more significant OS-level features that you want to add support for than the older/more mature platforms like macOS or Windows. This throws another wrench in having your teams progress in unison.
There are real advantages to cross-platform frameworks, even though I dislike them from a UX perspective. In particular I have beef with the use of web views, which while offering incredible consistency between platforms is probably the least CPU/RAM efficient way to do literally anything. A huge part of why computers feel slower than ever is the pervasive use of web views for everything.
I really, really wish we had a better cross-platform solution than a thing with an ill-defined render cycle, bases literally all rendering on an XML-like structure, and has all processing stuck to a single thread on an interpreted language. Yikes.
And it maddens me that their whole team, including ops and backend is like 50 people.
At the same time, they used some pretty unconventional ways to find brilliant people. For example, for iOS and Mac and android apps, they simply held a contest for the best open source app fitting succinct and reasonable requirements. The winner got sizable prize and place on the dev team.
Then they released that app as a Telegram X and then gradually sunset the older app.
Pretty neat on multiple fronts.
But that's how they get so much accomplished. Fred Brooks was correct in 1975 and is still right in 2021. Throwing headcount at a problem only delays it.
That's a huge understatement. When development tools improve and people get more productive, that observation gets more and more correct.
Thus, he is much more correct now than he was in 1975. And he was pretty much right by that time.
Don't get me wrong, I loathe Teams and its laggish bullshit nature as much as the rest of the pitchfork wielding people in this thread, it's just that it's not apples-to-apples comparison with a pure chat/call client and the headcount needed to develop it because of how much extra junk is hiding in Teams.
A few decades ago I paid about $1000 for a one MEGABYTE memory upgrade, and even that was needed only because a single graphics application at that time could clearly benefit from the extra RAM to do more things.
Now? I have 32 GIGABYTES of RAM, and we are celebrating that a chat client has now managed to find a way to use a slightly less absurd amount of memory, and has graciously returned some of our massive computing resources to us? This app barely does anything!! The apps that require all that power should at least be more useful...right?
As far as I can tell, every person on the planet is using more battery power and upgrading their machines more often just to make up for the laziness of software companies. In exchange for the ability of software teams to “easily” write one obnoxious cross-platform beast, we all get to burn through our CPUs and memory. These companies have more than enough money to invest in writing software for different platforms using the heavily-optimized system frameworks on those platforms.
> These companies have more than enough money to invest in writing software for different platforms using the heavily-optimized system frameworks on those platforms.
Companies don't work that way. Why put X million dollars in Teams if it won't really increase revenue?
So this will eventually also apply to macOS, yes.
https://github.com/MicrosoftEdge/WebView2Feedback/issues/131...
https://github.com/MicrosoftEdge/WebView2Feedback/issues/645
The article tries to explain why Edge Webview2 is better, but I don't find the explanation very compelling. Chromium doesn't seem to be the problem, because both technologies use chromium. So is it the Node bits? Configuration of chromium inside of electron?
From the outside looking in, I find it curious that they didn't just change Electron to do whatever magic they wanted it to do. Certainly they have the expertise and resources.
I only know a couple of people who like it and I definitely don't value their input since we disagree on pretty much everything
I know Discord is supposed to be for gamers but I've only used it for work and it's hands down the best thing out there
1. Even complex Electron apps can be performant and responsive
2. Microsoft as a company has people that know how to make this happen.
The reality is (speaking as a former MSFT employee) that the Teams and VSCode orgs are so far separated that they might as well be in different companies. The average quality of devs and their respective management chains varies WILDLY across organizations, and given how shitty Teams has been and continues to be, I think it's fair to say one or both of these factors is at play here.
Native programs can be made snappy easily. That's the whole point.
With Electron you get cross platform more or less for free and ostensibly you can make it faster later.
Don't get me wrong, I love doing native work, but as someone who has to deal with cross-platform issues in native applications (well games) on the daily, I can tell you that even with massive code reuse and good interfaces, that cost is incredibly high.
It isn't very unseasonable to just relies on something that already do most hard works for you.
If you must use some "native" alternative. It is probably something like GTK/QT. But I doubt do they actually have the ability to do such complex edit behavior and layouts.
They actually can - QtCreator for example. Also, I really don't think that the web would be the panacea of UIs, on the contrary.
But I otherwise agree with you - text editors are surprisingly hard. But I still don't really get the why for teams. It could even just add a webview for the actual meeting part, but let the rest be something actually workable.
You could for example use Qt. It is cross-platform and if you write your application well, the amount of platform-specific code will be quite small.
>With Electron you get cross platform more or less for free and ostensibly you can make it faster later.
It's not for-free. The effort/work for the developer is reduced, while the amount of work for the users' PC is increased. Sure, a lot will think, that this is a great deal, but at in my opinion, you should do it the other way round.
How often have you seen electron apps going faster? I never did. With a native toolkit, you have performance from the beginning for the same quality.
Don't pay the cross platform price. Stop developing inferior software for your core users so that other people on other platforms can also have inferior software. It's not a good tradeoff, it's a bean-counter's tradeoff.
It's like going to a steak restaurant and finding they only sell lettuce so vegans can eat there, or going to a bar and finding they no longer sell alcohol because they're trying to appeal to tetotallers who don't like bars. It's like Ferrari putting a Honda Civic engine in to try and appeal to both sets of customers and the Honda customers don't want the six figure price tag and the Ferrari customers don't want a low power reliable 4-cylinder engine. It's the "one size fits nobody very well" of software, it's the abandonment of your core competency to appeal to people who hate you.
Nope, Edge WebView2 is Windows-only. Unless the memory improvements are not actually tied to Electron, but rather Teams 1.0 having a shit codebase.
https://docs.microsoft.com/en-us/microsoft-edge/webview2/#su...
Linux looks like it won't happen until 2022 but Mac is first. I'd guess they are aiming to have it release around the same time as a bunch of other stuff this Fall but still can't commit to that date yet.
Regardless it'll be coming to Mac.
I can live with some of the missing features:
No noise cancellation
Audio devices are configured via windows sound settings
Can only share full screens and not individual windows
Standard Windows notification sounds and not the Teams sounds.
Maybe missing more otherwise its more or less the same app.
I've installed it as a Chrome App and it has its own window, task bar icon / shortcut and generates notifications.
I'd suggest others to try it out.
I was about to get a second device for teams. Performance has degraded so badly that it's now impossible to pretend to be in a meeting and run an IDE / office apps / factorio at the same time.
At least on Chrome, the Teams screen sharing option summons the Chrome screen sharing dialog, which allows you to select either the whole desktop, individual windows or specific tabs inside the browser. Maybe the limitation is from the browser you are using? (Although I would be very surprised)
It’s still not clear how the switch results in half the memory use then (though I’m happy to see it!)
FWIW, I'm currently finishing up an ActiveX wrapper for WebView2 so that it can be consumed in a way similar to the old IE WebBrowser control and so far I'm pretty impressed.
To give you a basic idea. I'm running the control embedded and the WebView2 control consumes about 60MB after navigating to my own -mostly text- website. Browsing within that control to the page of the hacker news topic makes the RAM usage go up to 130MB. Navigating back to this hacker news comment page and the memory usage drops down to about 75MB.
So yes, I'm impressed by how well it works.
edit: Another huge advantage. Last week I upgraded MS Edge and WebView2 is also upgraded. So the control is kept up to date and not depending on an external dependency that might end up being a security nightmare.
The control itself continues to work fine.
Or disadvantage if you look at it from the developer's point of view - they have zero control over the browser version, so if there's a bug, or lacking feature, or something deprecated, you're screwed.
re. "zero control".. you can set a minimum version that you require for your application. If Microsoft creates a bug then yes, you might have an issue. But that counts for the whole stack anyways.
To what extent are you maintaining compatibility? The old mshtml provides com bindings for pretty much everything. I'd be interested to see what you have if you end up releasing the code. I would love for the old Trident / mshtml / edgehtml engines to be made open.
With mshtml you could directly access the DOM and do pretty much anything in there via its interface.
With WebView2 there is no direct DOM access. You have access to what is running in the browser, but it is all via javascript. I'm building a bit on top now to get some basics to the developer without getting their hands dirty in javascript, but for Microsoft clearly the idea is to use javascript to manage the DOM.
re. releasing the code. Sorry, it will be a commercial undertaking. I will release the control, but it won't be free.
The demo application is currently only in DataFlex, but I will add other programming languages for the demo later on.
If that's at startup when the app doesn't consume a huge amount of memory that's not a particularly interesting claim.
If that's after hours of app usage when the previous Electron app used to consume let's say 1GB that's really impressive, but if the app is consuming 1GB of memory it's because the app itself is allocating a huge amount of stuff in the heap, you can't just swap browser engine under the hood and cut that in half with no downsides, otherwise every browser maker would do just that.
You have 32 GB RAM ? Teams will use only 16 GB.
> If that's at startup when the app doesn't consume a huge amount of memory that's not a particularly interesting claim.
Of course it's at startup. Then the app needs to draw its ugly black window and it needs more RAM. It uses HW acceleration, you know. And it's slow like hell.
> If that's after hours of app usage when the previous Electron app used to consume let's say 1GB that's really impressive, but if the app is consuming 1GB of memory it's because the app itself is allocating a huge amount of stuff in the heap, you can't just swap browser engine under the hood and cut that in half with no downsides, otherwise every browser maker would do just that.
Every respectable browser will use the whole available memory. From time to time they will have a patch to halve the memory usage but they will recover quickly.
Blazor is very new & was considered experimental until recently. It's still fairly bleeding edge.
Microsoft started Teams in 2016 & bought Xamarin in 2016.
JavaScript developers are also more plentiful than Xamarin I assume.
They should choose the best tools for the job, even if it's not there own.
- Edit - It looks like WebView2 is a Microsoft thing based on their Chromium browser version. Super common for Microsoft to make multiple competing products that do similar things.
I think Microsoft is trying to move towards a cross platform for everything from what I've seen. They have a ton of legacy stuff though.
This could also have interesting implications for VS Code. I wonder if Electron has a future at all, or if it's going to go the way of Atom, which was another thing MS picked up from GitHub and then walked away from in favor of a quackalike with a stronger Microsoft pedigree.
If you do just like Chrome, one host process + one gpu process and all the rest are renderer process as it was meant to, you will use less memory.
Im working on something that are meant to enable native applications with a Chrome-based platform, and it was one of the first thing i've tried to achieve.
Electron was just being sloppy and stick with its first MVP.. because being able to centrally control things through a process like the Chrome browser process does, give you a lot more functionality to explore, compared to what Electron is doing where each host/browser process is isolated and don't know about the other players.
Its akin to use a cannon to kill a fly..
I did a custom widget for editing petri-nets in Qt (no QML), you just need competent devs, whether you have Qt, GTK, or winforms experience doesn't matter.
https://forum.qt.io/topic/87898/microsoft-onedrive-sync-uses...
Just don't understand how MS can mess up simple copy+paste so badly.
They have years of experience in this field. I always keep a Notepad window open - to be able to copy paste properly.
The number of times I've been copying between a terminal and Teams and accidentally started a call is really frustrating.
I find myself literally confirming that yes I have already scrolled down in excel during a screenshare...lets just give it a couple secs to actually scroll. You'd think we're back in dial-up era
How does a Microsoft app, on a Microsoft OS on Microsoft hardware perform so incredibly badly?
No way Microsoft is dogfooding this. If they did they'd have nuked it from orbit years ago.
Teams 2...sure. I hope they carry over zero lines of code.
Client dropped Slack for Teams. I hate it, and information exchange has dropped precipitously since everyone switched. So slow, half the time text markup doesn't work, and the UI is inconsistent depending on if you're typing in a chat, meeting, or channel.
Oh and none of the Slack logs were kept, losing years of information. (But that's not the fault of the Teams software)
I loathe Teams.
Also teams has this arbitrary message character limit that makes it terrible for sharing large chunks of text (partial logs for example).
While the integrations with outlook (mail/scheduling) + teams works “well enough”, the experience of the app itself leaves something to be desired.
Definitely a helpful shortcut!
https://www.makeuseof.com/tag/copy-paste-text-without-format...
As an extra measure I configure the macro to automatically type the text and not use the direct clipboard paste. This takes care of the situations were the app prohibited pasting.
- Normal users often prefer to paste with formatting.
- Normal users will never figure out how to do that if it's not the default.
- Normal users will usually reluctantly accept paste-with-formatting even if it's not what they wanted—that is, it's only rarely entirely unacceptable for them.
- Power users will figure out how to paste without formatting.
More likely they were just worried Slack was attacking their enterprise segment and killing Skype so they rushed a shitty product to market ASAP. "Embrace, extend, extinguish" has turned into "panic, copycat, repeat".
But that behaviour everywhere would drive me nuts.
Your use case will not suffer since whitespace is text.
I've had countless other examples over the years where "paste without formatting" involved lots of manual editing of white space. Bullet and numbered lists sometimes vanish which rather matters if the text says "see point 3 above"
I'm not sure how intuitive that would be for users, though, having different defaults depending on where the data is coming from.
Even if it had, they might have made it the default, either to show of that styles copied over, or for consistency. If you paste a picture, you don’t lose formatting, either (of the picture, whatever that means, or any text in the image)
If you copied some text in MacWrite, for example, exited MacWrote, launched MacPaint, and ⌘V-ed into MacPaint, you likely wanted to keep the font, size and style.
Some programs also have several variants of “without formatting”. Excel is a good example (https://support.microsoft.com/en-us/office/paste-options-8ea...). Which one should be the default?
Most of those are very specific versions of formatting or specialty features.
The only ones that would qualify as "paste without formatting" are "formulas" and "values" modes, and of those two I'd probably say "formulas" is a better default.
e.g. copy a jpeg file and you can paste it into Slack, and it will automatically add the image to the post. Paste it into the terminal and you'll get the absolute path to the file. Those sound like sensible defaults that are essentially 'context sensitive paste'.
You could copy a link from a webpage and store both the HTML version and a raw-text version in the clipboard, probably a version that used an annotated string, too.
For the same reason, yeah... this isn't as intuitive when it comes to software like Excel.
(But I too wish plain text pasting was the default more often.)
That's just Microsoft.
I can probably count on one hand the amount of times I've wanted to actually retain source formatting. But, it's the default option on almost any microsoft product out there. And, apparently, on Teams it's not an option at all.
Agree with your sentiment except that it's not Teams fault that your client didn't care about message history when they decided to migrate to Teams.
So you mean the Lync codebase.
That's a pretty low bar to start with.
As one "for example", that's the product team that couldn't figure out how to stop repeating AD logins with invalid saved passwords for 5+ years. Which invariably led to a system you were signed into somewhere locking your account every password rotation.
For VC and file collaboration Teams seems good in absolute, for messaging it seems good only relative to that. Messaging feels like a third-priority feature in Teams. If you're coming from a good messaging experience and that's what you mostly use Teams for then it's no doubt a really poor experience.
This has been known since 2016 at least https://microsoftteams.uservoice.com/forums/555103-public/su... "Support for multiple work accounts is still being worked on and will come at a later date."
Also opening docs and excel sheets inside the main window by default and blocking chat while doing it is absolutely atrocious.
This is the root of all Teams fuckups.
It's an asinine primitive mapping, that could only come from a project manager who spent their entire career optimizing SharePoint access controls to meet HR product requests.
The entire point of modern chat solutions is persistence and searchability. So the only real differentiation should be public or private channels.
Someone built these features. Why are you building a feature on who can attach images?? The entire mindset is completely wrong and comes from an overcontrolling enterprise mindset completely incompatible with what we expect from a chat tool.
Oh and every time I log in Teams asks whether it can control my entire device. No.
Our company (we'll call it Monsarno) was bought by a certain German aspirin company, and our Bavarian overlords are slowly forcing us from Slack over to Teams. It's a nightmare, and very few groups have made the transition willingly.
Then they rolled out Teams for the whole company. We lost a ton of features that made Mattermost a delight to use. The way channels worked felt less intuitive, and it was just harder to care about group messages. And the worst part? A 30 day deletion policy.
The solution for us was to create multi-user chats in the "Chat" section and let the "Teams" section die the horrible death it deserves.
The notifications are more consistent in "Chat". But god forbid someone talks too much, because then you get those horrible non-native notifications that are completely broken in itself too.
It's probably the worst app I've used in years, and that's saying a lot because app quality is incredibly bad these days.
If not even Microsoft itself writes native code for their own bloody OS then we're just doomed. It's just all so sluggish.
https://support.microsoft.com/en-us/windows/silverlight-end-...:
“Microsoft Silverlight will reach the end of support on October 12, 2021. Silverlight development framework is currently only supported on Internet Explorer 10 and Internet Explorer 11, with support for Internet Explorer 10 ending on January 31, 2020. There is no longer support for Chrome, Firefox, or any browser using the Mac operating system.”
I agree a native client would be great, although I assume this choice is more because Microsoft wanted it to be multi-platform across iOS, Android, Web, Mac, Linux, Windows, Chromebook e.t.c. and that would either require building it multiple times, or building it in html/js as the lowest common denominator (web).
Welcome to another walled garden messaging service! At least lessons were learned..not.
There seems to be no way to open or see the meetings directly within team. I always have to open my mail, click the link, go to the website, click on open in teams and only then will it open the meeting.
Easily my least favorite chat app, save for those that break basic functionality as their core product (Snapchat). Teams doesn't seem to understand that organization admins might want to see user names in a different format than users. Everyone's name is Last, F., which makes sense from an administrative standpoint but needing to click into someone's profile to figure out who they are gets old _very_ fast.
The only selling point that Teams seems to have is "we're already paying for it."
Company decides the most important thing is to save $20 a month on not paying for slack
The worse thing about the desktop/Electron version is that they are really bad about keeping the electron version updated so the browser version will support screen sharing on Wayland while the desktop app doesn't.
Teams is more complex than Slack but also does more, but it's also not a complete superset of Slack, so unplanned/unguided transitions from Slack to Teams tend not to go well. Like any sort of knowledge management change, it can go well with empathy, planning, and care.
Perhaps that's the problem. I generally prefer the right tool for the right job, and once I have a tool that works, the effort to switch needs a compelling reason.
Adding a "hammer" function to a screwdriver makes the screwdriver worse, it doesn't provide that compelling reason.
Adding multi client access, stored chats, and even some formatting, were compelling reasons to switch to slack over irc.
[0] https://microsoftteams.uservoice.com/forums/555103-public/su...
[1] https://github.com/MicrosoftEdge/WebView2Feedback/issues/645...
It's user interface is unintuitive and messy. I find it difficult to find the context I want.
Search doesn't seem to work.
It takes a long time to load.
When it eventually loads, it pops itself up in front of whatever I've opened and started working on (whilst Teams is busy loading) to take all my keystrokes until I notice the keystrokes aren't showing up in the program I was already using - I've seen at least one person's password entered into a chat session because of Teams "grabbing the front".
And, finally, Teams has taken the initiative to redefine "full screen" such that even that unambiguous terminology is now meaningless. Full screen now means "zoom in, just a little bit". Fuck you Teams.
Screen sharing / video conferencing works fine, however. Except the full screen thing, so even the decent bit has a large caveat.
My apologies for the outburst, but I had to get it off my chest. Teams fucking sucks.
Yep. Was in a Teams meeting last week.
Audio mixing is poor compared with Zoom, any background noise on an active microphone will cut out another person speaking.
The controls menu keeps changing. Click on the "raise hand" icon and it disappears, you can't "lower your hand" until it reappears some random time later.
It's not like there are no good examples of what modern user expectations are for searching a body of text....
Search is hard when you don't have lots of training data, data is poorly organized, you have mostly tail queries, and people aren't used to you search engine's quirks. Search results are also bad when you're balancing quality with yield (as in revenue).
Google mostly doesn't have these problems. It has loads of people searching for head queries, so results are continuously being tested to death. Website owners put some effort into making their content accessible to Google with SEO, and people are used to searching with Google, so they've learned a few tricks for less popular queries.
Local search and corporate intranet search have none of that. You're basically whatever Lucene does out-of-the-box.
MS Teams Switches from AngularJS to React, Ditches Electron. - https://news.ycombinator.com/item?id=27633756 - June 2021 (63 comments)
What tool do you suggest for teams?
I have tens or hundreds of unread slack messages.
I also know people in the Blackberry era who'd call somelne because they hadn't yet replied to a mail they send a whole 5 minutes ago..!
Personally I think the problem is over-rated and wouldn't mind if there was a bit more off topic chat going on in our Slack/Teams.
The main problem that I have with these tools is the increased number of distractions. There is an expectation when using a chat tool that someone will respond promptly, but this rarely is useful for the person that’s receiving the question.
For most knowledge workers, frequent distractions come at a very high cost. Notions that we are good at multitasking are completely false. Encouraging the use of these tools is contrary to the goals of deep intelligent work And in fact can encourage poor planning and time management.
One is that everything gets sorted under the right project subheading. Discussions about Project FooBar end up in a different channel than discussions about Project Blork. The second is that I can just post on the Blork channel and know that everybody currently connected to project Blork will see it. Equally if I'm not actively working on FooBar I can easily ignore everything connected to FooBar, and just scan through what's happening every other day or so. I personally feel it's useful keep an eye on what is happening in projects tangentially related to what I'm working on without being CC:d on every project related email sent, and Slack makes that easy.
Of course all this can be replicated with mailing lists, email filtering, and decent threading support in your mail client, and perhaps that might even be better, but for whatever reason the tools for easily doing this aren't really being pushed. I'm sure you could build some sort of tools on top of email that gives you most of the benefits of Slack but with a slightly less synchronous feel.
For example, if Blork and FooBar Projects are related In a comment that is made in one of the project channels, it is not easy to navigate their relationships in these tools Without explicitly adding tags to refer to the other channels. All these tags then create a spiderweb of useless links for the most part, and the information flow is weird and difficult to follow in many cases. This model can be advantageous for example when referencing checkins or other tickets within comments of a bug/story reporting system. However, bug reporting systems typically have fewer parties involved in the comments, so things don’t get quite as out of hand.
Far be it for me to defend Teams, but one thing it does kind of right is to automatically create a wiki, a project tracking and a file share page in addition to the chat space for each project so that you can, if you want, use the right tool for the job.
That being said I worked at places a decade ago that tried to do the internal bulletin and wiki thing for their projects, and for whatever reason, it never worked anywhere near as well as I've seen Slack work. So while I agree in theory with many of the complaint levied against Slack as a productivity tool, in practice I've yet to see anything work better. But it is also clear that, for whatever reason, I haven't experience many of the time wasting antics that other people seem to be describing.
They operated like a startup. Used electron, reached to market fast, gained traction. Now they can thing for performance improvements.
Note: Most of the users using MS Teams are not startups but listed companies. That's a constant source of revenue. Tapping that segment with not so shitty electron app has worked wonders for MS
My 2015 MacBook, despite being old, is generally just fine for my web development work -- the one notable exception is Teams, it is almost unusably slow for me. I hadn't yet investigated whether it was a RAM/swap issue or other. But it's the only thing I have to regularly use (per employer) that gives me trouble.
Teams is basically unusable except making or answering a call.
This is about 8-10 times heavier than the Skype for Business client was.
WebView2 looks to be a great choice instead of Electron, now that they're shipping Edgeium everywhere. The old IE WebBrowser control has been a non-starter for a while.
Teams tries to do a lot of functions. Maybe too much?
Here is why this functionality is important:
* When a colleague leaves the organisation, you can’t search for a chat with them any more, so the chats are effectively lost.
* When people chat in a meeting, that meeting becomes the only place the chat exists, and do you really want to have to keep years worth of old meeting items in your calendar just to avoid losing that chat? And how are you supposed to organize calendar items as a store of conversations anyway?
* Its the most basic level of interoperability. How can you take a product seriously when it traps your data like this?
It's very frustrating that a company of that size and tech 'prestige' can't make native apps and instead rely on these crutches like Electron. The difference is very noticeable in the user experience.
[1]: https://github.com/fossteams/teams-cli [2]: https://github.com/fossteams/matrix-teams-as
[1] https://techcommunity.microsoft.com/t5/microsoft-teams/multi...
Although it wouldn't be easy, it doesn't seem that hard either! It almost feels like a summer project for interns could do a better job than the current batch of video conferencing services at the moment.
Requirements: - No install, from the web - No login - There is no 3rd requirement
Is that actually hard to build? What am I missing?
So whoever has a negative comment about usability has absolutely missed the target customer for Teams: it's not the end user and certainly not software people.
Maybe people will stop sending me zoom invites.
Welcome to Germany.
Sadly no one has run an analysis to see how much cost there is in reduced communication because of how bad Teams is.
If it were measurable I bet the cost of teams actually far out weighs the cost of Slack.
I’m leaving my current role in Wednesday and I’m so happy to be leaving Teams behind, I hate it.
I ask if companies are using Teams now when interviewing and it’s a mark in the “cons” column if they are.
Microsoft released Teams for effectively for free, paid for by existing (extortionate) subscriptions (that are never in the public domain). Now, despite the product being almost _universally_ hated by its users, it's number one.
Urgh.
[1] https://docs.microsoft.com/en-us/dotnet/api/microsoft.web.we...
That's what I mean by sending JSON messages, but I'm asking if there is a way of directly calling native code from the JavaScript interpreter, synchronously passing pointers to JavaScript data structures back and forth, not just copying strings back and forth between separate processes through an asynchronous message queue.
Like Microsoft's deprecated COM/OLE/ActiveX, or Apple's Objective C / JavaScript bridge, or what SWIG does for JavaScriptCore, for example:
https://steamclock.com/blog/2013/05/apple-objective-c-javasc...
http://www.swig.org/Doc3.0/Javascript.html
For example, how can I get direct read/write access to the pixels of an html canvas or the memory of a JavaScript byte or float array, instead of serializing images as png files or base 64 encoded strings, or buffers of numbers as decimal text json arrays?
So far I have not yet investigated what can be done with that. It looks a bit promising (and complicated).
Microsoft's deprecated control had the mshtml document interface and that was indeed very powerful.
The Async script capabilities give you a lot of power, but I agree that the asynchronous part of it is a huge pain and is causing me extra headaches as it is basically preventing me from creating the API I want to create.
[1] https://docs.microsoft.com/en-us/dotnet/api/microsoft.web.we...
[2] https://docs.microsoft.com/en-us/microsoft-edge/webview2/ref...
They also seem to have learned little from Slack, Discord, etc..
Can we stop using document formatting as applications? We're also not using Word with OLE/COM/ActiveX objects to do video conferencing.
Teams is not very good.
The reason is that these "cross-platform" applications on top of web browsers are basically complete operating systems emulated on top of the underlying OS. It's worse than turtles all the way down; they're sea urchins: fragile, prickly, and lethargic. And these memory-hogging leviathans multiply faster than rabbits so developers don't have to get their "hands dirty with details" like fast, efficient, proper software.
Just because someone can write a ray-tracer in BrainFuck doesn't mean NVIDIA/AMD/Intel should steer the whole industry to using something impractical because developers get excited about all of the "possibilities."
When will Firefox do the same? Asking this since many years now.