7 ms·
The Teams client is built on Electron? Why? Developers need to stop building slow applications. This is ridiculous. It's 2019 and software is slower than it wa
by Solar19 7y ago
The Teams client is built on Electron? Why?
Developers need to stop building slow applications. This is ridiculous. It's 2019 and software is slower than it was in the 90s.
It must take an enormous number of CPU cycles to execute simple tasks in an Election-based app. It's just incredibly inefficient. I heard similar things about Slack – that it was built on Node, maybe Electron, and was dog slow, especially to open. It's frustrating that developers are bringing the slowness of the web to the desktop. Just build proper desktop applications using native desktop APIs.
- toxican 7y agoIt's built on Electron and still no native Linux client. There's a web version, but you can't join meetings or screenshare. There are 3rd party wrappers for the web version that enable meetings, but you still can't screenshare. At the very least their web version needs to have parity with the desktop application. It's 2019, browsers can handle voice chat and screensharing!
- pacoverdi 7y agoWell, there is an unofficial 'snap' package for Linux that enables all features including screen sharing. I don't remember the name but it must be easy to find. Edit: probably https://snapcraft.io/teams-for-linux https://snapcraft.io/teams-for-linux
- briffle 7y agoyou can view in a screen share, but not send your screen.
- utopian3 7y agoWow, I’m pretty sure Hipchat is built on Electron and has had all these features for years! Microsoft must really be struggling
- rekoros 7y agoWhat’s Hipchat?
- grzm 7y agohttps://en.wikipedia.org/wiki/HipChat https://en.wikipedia.org/wiki/HipChat
- thethirdone 7y agoWhat information are you expecting that wouldn't be easier to find by googling Hipchat? I can't understand why anyone would ask this.
- youdontknowtho 7y ago"Microsoft must really be struggling" Not really. They are making more money than ever. They don't have customers asking for a Linux client in large enough numbers. That's all it is.
- swebs 7y ago>It's built on Electron and still no native Linux client Remember this next time their PR team tries to pull another round of "Microsoft has totally changed you guys, we swear! The new Microsoft loves Linux"
- bgdnyxbjx 7y agohttps://www.neowin.net/amp/microsoft-teams-might-be-coming-to-linux/ https://www.neowin.net/amp/microsoft-teams-might-be-coming-t...
- dzhiurgis 7y agoCan Slack do screenshare via Chrome? I know you can see others screen, but can't share mine.
- untog 7y agoYou can make an efficient Electron app, just look at VS Code.
- andrewnc 7y agoMy VS code was using 10 GB of RAM today... It's better than other electron apps, but I would argue still not efficient
- aembleton 7y agoDid you open a 10GB file in it? Mine is using 200MB right now with a PHP project open in it.
- executesorder66 7y agoIs that project 200MB of PHP? Because 200MB of RAM seems obese at best for a text editor.
- dijit 7y agoI agree with you. However I don’t think it’s fair to call VSCode just a text editor. It’s not quite an IDE, but it’s a weird middle ground. The nearest IDE I can think of is kdevelop or jetbrains. kdevelop is disturbingly light, but jetbrains consumes considerably more resources than VSCode. (And for good reason. They tend to do more)
- paggle 7y agoClearly whatever people at MS made Teams do not talk to the people who made VS Code
- blub 7y agoBased on empirical evidence, it seems that humanity can make just one sort of efficient Electron app, and that slot's already filled by VS Code.
- bla3 7y agoI'm not a fan of electron, but it's possible to build fast apps with it. Teams who build slow apps with electron will likely build slow native apps as well. Slow software is usually not the tech stack, it's the team.
- gitgud 7y agoThis has been discussed many times here... of course running a Chrome instance is inefficient but in some cases that's acceptable. Especially for the gains in cross-platform compatibility and reliable user interfaces. Almost no other platform can guarantee that a UI elements will look pretty much exactly the same on all different operating systems. Most people don't mind the extra RAM consumption for some applications... as long as the app works!
- naikrovek 7y agoWho cares if an application's UI elements look the same across platforms? I want it to work on the platform I am using. I simply do not care what it looks like on someone else's platform, and I especially do not want to pay a performance penalty so some designer can have a virtual feather in their cap over it.
- dleslie 7y agoI prefer native widgets to whatever application-enforced fad of the year is current. Apps are lauded for providing "dark mode" now; when ten years ago I simply switched GTK themes. To say nothing of accessibility. We've gone way backwards in UX.
- bdamm 7y agoAbsolutely. Developers can pick from many native-widget frameworks in pretty much any language, heck I bet there are even Qt bindings for node. But there are just so many people doing web development, it's probably a hiring/design issue in that hiring web developers and designers is just so much easier than hiring whatever people know the GUI framework that's driving much of the code.
- rtpg 7y agoThere's also the fact that the UI tools for web development are mostly way easier to use than Gtk or Qt. Even "simple" stuff like Tcl/Tk is not trivial to get working easily or well. HTML + CSS + something like React is miles simpler than writing something for Gtk. Qt has QML now but the C++ Qt bindings are _pretty hard_! And after all that work you don't (by default) get an app that resizes as nicely as the HTML/CSS box model does! I think that WxWidgets has one of the better usability stories for cross-platform native, though. If someone wrote a good feeling UI library that generated native UIs and had good JS and Python bindings, so many people would be happy to use it, I think. But right now, despite all the shortcomings, web tech is pretty easy to prototype in.
- villain 7y agoIt's a shared code base with the web application.
- StreamBright 7y agoHave you seen that picture with UI latency for code editors? I can't find the article but it is ridiculous that we have laggy software that uses insane amount of memory and CPU time. If we are serious about easing on the climate change we should start with bloatware that is the majority of the software industry nowadays.
- pjc50 7y agoIt's a Slack clone. Slack is built on Electron so Teams must be.
- underwater 7y agoIt makes sense for Teams. The app is a chat client, sure, but it also contains the entirety of Office 365 and a third-party app platform. Chats can have tabs with Excel documents, wikis, polls, etc. By leveraging browser technology they have a platform that is incredibly extensible. Building that from scratch across iOS, Android, Windows and macOS is not feasible. And the benefit of having people reach to the tools at hand and strengthen Office's position outweighs the performance penalty.
- icebraining 7y agoMicrosoft had something called OLE just for that kind of embedding, and it was already cross-platform, as part of Office.
- baud147258 7y agoOffice 365 could just as easily be opened in the browser, instead of slowing down the app for all users. I mean it's a chat app, how many users are going to need to edit a document inside the app?
- Aaargh20318 7y ago> Building that from scratch across iOS, Android, Windows and macOS is not feasible. Building a few chat apps is not feasible for one of the largest software companies in the world ?
- dan-robertson 7y agoThis misses the point. The parent isn’t talking about just building a few chat apps. They are talking about building a chat app which can have basically any ms office thing embedded inside it.
- Aaargh20318 7y agoNot real office, web-based office. Why not make a native chat app that opens Office files in the real full-featured Office ?
- hnbroseph 7y agoFor one, nobody wants to use C++
- ShinTakuya 7y agoI don't think it's impossible to make efficient electron apps. Vscode and discord, for example, tend to be reasonable in my experience. I think it's just that the time saved by not having to maintain cross platform software isn't being reinvested into performance/memory optimisation. Moreover the ease of developing electron apps has opened the desktop ecosystem to web developers who more often tend to have bad habits because of how forgiving most web dev is.
- youdontknowtho 7y agoThis is the one criticism that I actually agree with. Electron apps are pretty painful. If they are going to keep doing this they need a way to compile the things to native binaries. I don't know...something. I personally get really kind of weirded out when I see simple software load Node. Adobe, I'm looking at you. I'm really hoping that the cross platform dotnet stuff becomes a viable option now that the XAML stack has been open sourced.
- hateful 7y agoI know this doesn't speak to your comment, and is also a bit of a rant, but I would clarify that "tabs" in this respect are not like "tabs" in your browser, where you can have multiple "things" open at the same time. As soon as you leave the teams tab, that application/file is closed. So if you have an excel file open in teams (which can take up at least 10 seconds - which does speak to your comment!), and want to go back to a channel or chat, you're actually closing that file. Granted you can open the Excel file not in teams, but this is just an example of how being locked in one window where the tabs aren't your open items, but rather possibly open items, is counter-productive. That brings me to something else that I find strange, that with every new piece of Windows software over the last 10 years, it seems like Microsoft forgot that it's called "Windows" for a reason. The big deal about Windows was having multiple WINDOWS. And every time you take that away, you stray further from productivity. Don't even get me started on multi-monitor support over the years! /rant
- Ondoher 7y agoI have a Karaoke project that runs in electron on a raspberry pi. Electron is not inherently slow. It runs on the Chrome V8 engine, which is blazingly fast.