5 ms·
In the end Electron may be slow and bloated, but it is easy to distribute and you can make it look exactly how you want. People often say they want apps to loo
by melissalobos 5y ago
In the end Electron may be slow and bloated, but it is easy to distribute and you can make it look exactly how you want. People often say they want apps to look "native", but really most people I have met don't really care that Spotify doesn't use native Windows widgets.
Also, I liked the idea on this site of responding to twitter comments by posting them whole on the site and writing the response below. It feels more like it is an older style mailing list that way.
- dmitriid 5y agoI'll add another one of "user doesn't care". They do: https://news.ycombinator.com/item?id=29930397 https://news.ycombinator.com/item?id=29930397 It's a thousand little things.
- c0balt 5y agoI fully agree. Nobody cares if it doesn't look native as long as the relevant native integrations, like app/ tray icon, notifications and URL handlers, are there. Even without native speed it's fast enough for most users. Electron also has an (comparatively) awesome Dev experience in regard to the tooling available and the nodejs ecosystem.
- aaaaaaaaaaab 5y ago>most people I have met don't really care that Spotify doesn't use native Windows widgets Probably because Windows was always a UI/UX clusterfuck, so Windows users don’t notice the difference. Mac enthusiasts on the other hand…
- jolux 5y agoIt definitely pisses me off that billion-dollar companies can't be bothered to write native apps for desktop platforms anymore, but not enough to make it worth it to forgo the benefits of Electron apps and web apps as an end user.
- deergomoo 5y agoPeople may not care whether apps fit in visually (I do, but I acknowledge the vast majority of people don’t), but I think the subtle differences in behaviour caused by software having to or choosing to reinvent the wheel is a major problem. It’s always small things like keyboard shortcuts, focus behaviour, placement of controls, but it’s all one more roadblock to using the computer. The more we have to consciously think about what we’re doing because we can’t rely on consistent muscle memory, the less effective of a tool the computer becomes. It’s not even just the Electron/web based stuff either. Drag and drop in Office for Mac doesn’t work the same way as every other Mac app, and it throws me every single time.
- userbinator 5y agocaused by software having to or choosing to reinvent the wheel is a major problem. One of the biggest examples of this is "dark mode", something which arguably isn't that old in a Mac context, but Windows let you choose the appearance of individual UI elements --- colours, fonts, sizes, etc. --- and everything native in the system would automatically match. That is, until Windows ~8 or so, when they gutted most of the customisation, only to later reintroduce as a half-baked "dark mode".
- WA 5y ago> It’s always small things like keyboard shortcuts, focus behaviour, placement of controls, but it’s all one more roadblock to using the computer. Let me check something... I open "Terminal.app" and what is this? I can't move around my cursor with my keybindings that I use in Sublime and VSCode (Cmd + Arrow to jump to start or end of line). Why do I quit a session with Ctrl + D? What is even this Ctrl key, I'm used to Cmd + anything on the Mac? Isn't it odd that devs spend a lot of time in the Terminal, but apparently aren't as obsessed about the inconsistent keybindings vs the rest of macOS there?
- dmitriid 5y agoOne app with inconsistent behaviour is fine. Many/All apps is not. Moreover, the internet is full of people asking how to enable MacOS shortcuts in Terminal. And iTerm.app even comes with a "natural editing" preset precisely because of that.
- deergomoo 5y agoI dunno, I’ve been using iTerm for years, which fully supports Cmd+arrow to jump to the start and end of lines. You’re correct, it would very much annoy me if my terminal was inconsistent with the rest of the system, and I am disappointed that the system terminal is not setting a good example.
- jamil7 5y agoThere are plenty of good arguments for Electron or using web tech but this one never really sticks for me. Users indeed care if the software runs slowly or is missing functionality, shortcuts or accessibility features they're used to but they might not know that these issues are exacerbated by using cross-platform tech. You can overcome these of course but many developers won't bother.
- hn_throwaway_99 5y ago> In the end Electron may be slow and bloated I'm going to push back against this just because it feels like sort of the "cool" thing to say around HN. I certainly understand some users on some hardware may have had a negative experience with Electron, but I haven't. I have never felt an Electron app (primarily Slack and Spotify) was sluggish or negatively affected my overall experience on my laptop in any way. Granted, I've always had relatively decent MacBook Pros, but this "common HN refrain" has simply never been an issue for me.
- throw10920 5y ago> Granted, I've always had relatively decent MacBook Pros, but this "common HN refrain" has simply never been an issue for me. That's exactly why it's never been an issue, and will likely never be an issue for you. Most people (with the exception of gamers, who are still not "most people") do not have relatively recent MacBook Pros - they have machines that are significantly weaker. All of my non-gamer, non-techie friends have 4-to-7-year-old computers that are significantly weaker than my already-lackluster ultrabook that struggles to run Discord and watch a 1080p YouTube video at the same time. That is the average person's experience on desktop/laptop computers (not mobile devices). You may never had had to deal with this, but that's because you've only used machines that are far more powerful than the median.
- nmilo 5y agoComing from someone that has been using an old computer for a while, I could definitely tell the difference between Electron and non-Electron apps based on their speed. E.g. Spotify and Discord. They take forever to start (the worst part IMO), there's significant lag when changing pages, and they just feel bad to use. If you've never noticed it, then your computers are very good.
- rand49an 5y agoSpotify, at least on Windows uses something other than Electron as far as I can tell.
- viktorcode 5y ago
- robertoandred 5y agoMaybe for something like Spotify it doesn’t matter, but what about a real app? Why doesn’t VS Code have macOS’s native file name/location controls in the title bar? Why does it freak out if I move a file while it’s open?
- BalinKing 5y ago> a real app This is just moving the goalposts.
- linguae 5y agoIt's possible to make cross-platform apps look native, but it's much harder work to make cross-platform apps act native. For example, there are themes that make an XFCE desktop look like Mac OS 9 or Windows 2000, but it doesn't make applications behave like native Mac OS 9 or Windows 2000 applications. This is not just a criticism of Electron; this criticism extends to many other cross-platform toolkits. Using non-native controls, for example, has accessibility consequences if the cross-platform toolkit does not properly hook with the native platform's accessibility API. A cross-platform toolkit that implemented compliant looks and behaviors across all of its supported platforms would be an amazing thing.
- klabb3 5y ago> Using non-native controls, for example, has accessibility consequences Correct me if I'm wrong, but don't people with serious accessibility needs typically prefer web because there are way more tools optimized for web than for native?
- sciprojguy 5y agoNot necessarily. macOS and iOS have multiple accommodations for users with accessibility needs, from dynamic type to UI element voiceover plus pretty decent speech-to-text recognition and haptic feedback. Developers that want to take the time can build apps that can be effectively used by users with visual and/or auditory deficits.
- dmitriid 5y ago> People often say they want apps to look "native", but really most people I have met don't really care They do. It's just that they are not technical enough to say "I don't want a web based app". They say "this app is slow". "Why is my computer hot all the time?". "Why doesn't my screenreader work in the app?". "Why can't I use my keyboard the way I use it in other apps?" "Why can't it keep window size and location" And a thousand other questions.
- viktorcode 5y agoThat's maybe a good argument for a product manager, but very poor one for the end users. Users don't like slow and bloated. Given equal choice users prefer small and fast. Of course, they are okay with Spotify client, because there's no native Spotify client with the same functionality. People want to have the service, but don't think that everyone is okay with how this service is packaged.
- klabb3 5y agoElectron is bloated because it's vendoring two major pieces of software (chrome and node). The binary size and memory footprint can be solved with some minor help from platforms (already in progress - see webview). Web itself is more than fast enough for GUI, and is incredibly optimized, both layout and js engines (or wasm, if that's your thing).
- throw10920 5y agoGood points, but you're missing something: the web platform is incredibly and intrinsically complex, and any complete implementation is going to necessarily also be complex and consume a minimum amount of resources. I would need to see some empirical evidence that this minimum amount is low enough so as to not be noticeable on 10-year-old hardware. That is - just because Electron will get faster with some optimization doesn't mean that it's possible to become enough faster while still completely implementing the various web specifications.
- klabb3 5y ago> the web platform is incredibly and intrinsically complex Absolutely true. I don't like that the web is so complex there are only a few competing implementations. Still, it's the best we got in terms of platform support. > doesn't mean that it's possible to become enough faster Unless you bloat your app with tons of frameworks, I don't think the issue is speed, but size, which is true for web in general. Almost all of that size can be deduplicated (and some big parts even discarded).