4 ms·
No matter the available resources, maintaining three separate desktop apps as well as a web app would mean fewer features and more bugs across the board. And Li
by _bxg1 7y ago
No matter the available resources, maintaining three separate desktop apps as well as a web app would mean fewer features and more bugs across the board. And Linux would probably be left on Electron (with less support attention), if not abandoned altogether.
- sagichmal 7y agoPast a certain point, the downsides of Electron outweigh the downsides of native apps. We've crossed that Rubicon years ago.
- bengale 7y agoIf this was the case we wouldn't see so many Electron apps. You just don't perceive enough of the upsides to see why the decisions are being made.
- wlesieutre 7y agoThe upsides are for the companies shipping it, the downsides are for the users. So it's not a surprising outcome.
- _bxg1 7y agoTell that to people who want to use modern services on a Linux workstation
- wlesieutre 7y agoThat's nice for them, but no matter what OS you're on the desktop client is probably crappier than loading up the webpage, with the one upside of giving you a separate icon in the dock and app switcher. Even with the performance improved, the "stuff the whole app in one web view" implementation is still showing. Clearly this isn't an Electron limitation; VS Code handles multiple windows just as well as any other text editor. Slack's desktop client is basically "It's a web browser except worse and with the URL bar hidden." Since chat requires an internet connection and it's not like Slack's desktop version launches particularly fast, I'm not sure that it does anything better than using a browser. We'll see if they support multiple instances on iOS 13. If they do, maybe we can get a Mac version based on that for something closer to native desktop behavior.
- _bxg1 7y ago> no matter what OS you're on the desktop client is probably crappier than loading up the webpage I don't see how it could ever be worse than the webpage. And it gives you nice perks like notification badge integration, which for me personally is essential.
- wlesieutre 7y agoMy web browser has windows and tabs and lets me open Slack in multiple places if I want to see more than one view of Slack at the same time. I usually don't need to do that, but when I do it's annoying that the desktop client prevents it. It's fine that my phone doesn't let me open two text conversations at once since that's all the space it has, but on a computer with a 24+ inch screen and multiple virtual desktop spaces with different sets of tasks, it's a pointless limitation.
- wlesieutre 7y agoFor reference - the saddest little File menu https://i.imgur.com/YPoCmbR.png https://i.imgur.com/YPoCmbR.png
- _bxg1 7y agoWhat I've noticed is that much of the distaste with Electron apps has more to do with the idea of waste than with the actual practical implications. Programmers like things to be efficient and optimized. Electron sacrifices those traits in a couple of ways, in favor of actual productivity. So "the downsides of Electron outweigh the downsides of native apps" when you're someone who patrols the task manager looking for things to be upset about. Your chat client - one of half a dozen applications you realistically have open - using 400MB of RAM on your 32GB workstation does not have a meaningful impact on your workflow. It's just offensive.
- dictum 7y ago32GB workstations are the exception, not the norm. I'd wager most people are using Slack from computers with 8GB RAM (e.g. every 13 inch Macbook Pro that isn't built to order) and at least one browser open at all times. (I'm not against web APIs as a platform for desktop apps, but I'm happier using Webkit wrappers and I think this would be improved, cross-platform, if Chrome could effectively host the apps that currently ship with their own instance of Electron or CEF)
- ckuhl 7y agoI think it definitely depends on your use-case. Like you wrote, if everything else you have open also churns through battery life, it's unlikely having Slack open will make a difference. However, if your other applications are a terminal, other efficient text editor (e.g. Sublime), and other generally respectful apps, I've found having Slack open is the difference between having enough battery life to work all day, and not.
- oselhn 7y agoBut that is just one one electron app. Imagine that every desktop app you use is written in electron. I am pretty sure that even 32GB workstation would be stretched to the limits.
- sagichmal 7y agoYou're right, I, a user, don't perceive any of the upsides. The upside that keeps getting paraded around is that it's a huge boon for product velocity. But that's just objectively false because Slack-the-product hasn't meaningfully changed in years.
- snowwrestler 7y agoPretty sure we crossed the Rubicon in the other direction, as it was basically the popularity of Electron apps that forced Microsoft to abandon their own browser rendering engine in favor of Chromium. If you had come to me 10 years ago and said "Microsoft will drop their browser and use Google's code," I absolutely would not have believed you.
- saagarjha 7y ago> it was basically the popularity of Electron apps that forced Microsoft to abandon their own browser rendering engine in favor of Chromium I don't see how this has anything to do with the point here (browser engines are not normal applications…) or if it's even true.
- Eric_WVGG 7y agoWhat about React Native on the desktop?
- _bxg1 7y agoReact Native isn't a zero-effort way to port a web app to a native app. It lets you share code where it makes sense, but you're still maintaining separate applications targeting different platforms that each have their own quirks and needs. It's similar to how you can't just port a regular native desktop app by using a different compiler; your business logic may be compatible, but you'll still have to do legwork on top of it.
- Eric_WVGG 7y agoI know, I'm a React Native developer. I'm just saying that "native client" doesn't necessarily mean separate Mac, Windows and Linux ports; furthermore, for a billion dollar company, a native client of _some_ kind isn't an unrealistic demand.
- _bxg1 7y agoThat's fair; although I'm pretty sure they wouldn't be able to have such a consistent and unique look-and-feel with React Native (you can correct me if I'm wrong). It's debatable whether that's a good tradeoff, but it's totally one that some people would make.
- Eric_WVGG 7y agowell, consistent with what? If you mean the native Mac/Windows/Linux desktop experience, yes, it's definitely impractical to do that with any size budget. But the current Electron app isn't either. But if you want consistency with the web app, I don't see anything difficult about that. I do wonder if the plugin/extensibility architecture — "Slack Apps" like Github and IMGUR and OpenTable — is the real answer. (Unless I'm mistake and these run on the native mobile apps.)
- Flow 7y agoI think fewer features can be a very good thing actually.
- buboard 7y agoYou 'd think that a software company that just went public for tens of billions would be able to produce 3 programs.