Hacker News new | ask | show | jobs
by Klonoar 2685 days ago
It is not a mostly solved problem.

The people behind Slack, Spotify, and so on have actually commented on these threads explaining the exact line of reasoning. This stuff isn't limited to just CSS, and it makes total business sense to avoid it.

4 comments

I don't consider Slack and Spotify to be good at making applications (despite their popularity). These are the least efficient chat app and least efficient music app ever, in a multi-decade history of chat and music apps, which didn't have the overflowing abundance of convenience and productivity offered by Electron.

(This is like the obviously silly quote "we lose money on every sale, but we'll make it up in volume!" translated into "this rich environment and set of libraries enables such amazing developer productivity that we can create much better optimized user experiences!" while the laggyness and flakyness and huge memory use are just never optimized away with that productivity.)

> least efficient chat app ever

I dunno, Discord might be gunning for that prize.

Do you find it weird that you think these are the least efficient apps in their domain and yet they are both extremely popular with the majority of users out there?
Music and chat apps have an extremely high barrier to entry, which makes it quite difficult for others to compete.
> These are the least efficient chat app and least efficient music app ever

Which 99% of users never care about. The idea that large memory usage is a negative business driver is almost laughable at this point, yet for some reason it is a huge pet peeve among lots of technologists.

They care about it a lot more than you imply, they just don't know that it's something they care about.

I partly manage a team of end-user support people, and the number of tickets they get with "my computer is slow!" is astonishing.

The number of times it's found that they have Slack eating over half the RAM of their corporate-issued laptop (read: wimpy specs) is huge.

The number of people who understand that Slack being an insane resource hog is a large part of what is making their daily computing business painful is the inverse.

Have you never had a non-technical person ask you to help because their PC is slow? Non-technical people care, they just don't know how much better it could be for them. They understand that their PCs are slow, and they understand how to close apps they aren't using to stop the computer slowing down. This habit even transferred over to phones where developers had to teach people that it's not necessary to habitually swipe background apps closed any more, because they were so used to doing it.
Users absolutely care if their app runs slower. Even marginally slower in the order of 1/10 of a second. Even subconsciously users will choose the app that runs faster and smoother, this is why google.com first page is optimized and compressed saving individual bytes sometimes. This is why all big websites use servers all over the world to save 10ms in ping for users which are near them.

The only debatable question is whether the exact memory overhead (of electron for example) on the specific user machines existing out there today will make a noticeable loading time or lag difference. For many users it seems it does, not everyone has the lastest hardware.

This is a completely arrogant view of users.

People quite obviously care about speed and latency issues, but they might not be able to pinpoint slack or discord, etc as the root cause.

People care about latency and sluggish interfaces on their brand new PC.
Maybe I'm just spoiled having doing web dev back in the netscape 4 era when things were _really_ bad. These days it seems like a reset stylesheet and a couple polyfills and you're good to go. I don't doubt that certain problem spaces still run into major cross browser issues, but I guess I've been lucky enough to avoid those problems for the last couple of years.
There are definitely areas of the browser API that are quite problematic, especially when it comes to things needed in a UI like Spotify and Slack use. A brief look into the drag and drop implementations in browsers should be illuminating enough.

The desire to use new features as soon as possible is driver enough I feel. Imagine having to wait years for parity between 6 different operating systems before being able to use classes, a language feature introduced years ago and that still isn't fully supported today.

I'm just gonna link the actual Slack author who's already commented on this before and exit the thread.

https://news.ycombinator.com/item?id=18763449

The apps you mention are available on the web, so they have to do these exact things anyway.

What they really want to do is make that web app installable in the OS, no? I use WebPin to "install" websites (until this works natively in Firefox with PWAs) a lot of the time, even when they offer electron bundles (with the browser I already have, nodejs I already have ...).

I'd consider slack/spotify to be the outliers and I don't think this is targeting them. For the rest of the webdevs that just want to make a web app, Electron is appealing to them too and we shouldn't pretend the only reason they pick it up is browser compat issues.