News for hackers. Stuff that matters.
Re:Ask HN: Why aren't there any real alternatives to Electron? by gmueckl on Saturday March 26, 2022 @08:06AM (#30811134)
This means that software development is a failing discipline. All we can do is to come up with ever more ridiculous layers of complexity on top of mindboggling complexity, recursively. All of this is totally self-inflicted. The problem domains that our software needs to deal with are complex enough. But we keep piling on shit of our own making.

If this is what software development has become, then there's no way it won't end in total and utter disaster when people start to recognize the already all too common piss poor products that barely manage to do the absolute minimum and rebel against them. It may not be marketing department of the Sirius Cybernetic Corporation who'll be lined up against the wall first, but software developers when the revolution comes.

Crap. I'm now old enough to remember when computers were fast. :(

Re:Ask HN: Why aren't there any real alternatives to Electron? by ctvo on Saturday March 26, 2022 @09:29PM (#30816929)
> This means that software development is a failing discipline.

Nah. It means many projects don't have strict performance requirements. Mediocre performance, high impact on battery life, slower startup times are OK for these folks. In return they gain cross platform support, quicker development cycles, etc.. There's nothing wrong with making these tradeoffs.

Re:Ask HN: Why aren't there any real alternatives to Electron? by wtetzner on Monday March 28, 2022 @06:17PM (#30836289)
> There's nothing wrong with making these tradeoffs.

I would argue there's something wrong with giving customers a shitty experience.

Re:Ask HN: Why aren't there any real alternatives to Electron? by porknubbins on Saturday March 26, 2022 @01:12PM (#30813522)
Using Visual Studio as a native app felt quick, as if could really believe the metaphor that I was interacting with a predictable mechanical device that worked the same every time. VS Code I am constantly aware that I am interacting with a bunch of layers of sofware, like it might take 1 second or 10 seconds to do something.
Re:Ask HN: Why aren't there any real alternatives to Electron? by Arainach on Saturday March 26, 2022 @01:20PM (#30813567)
Really? VS Code has been the best example of what Electron could be that I've seen. In practice it's just as responsive as Sublime Text 3 for files under 25MB.
Re:Ask HN: Why aren't there any real alternatives to Electron? by musicale on Saturday March 26, 2022 @01:51PM (#30813820)
VS Code is indeed one of the best Electron apps.

And it's also unpleasantly clunky and heavyweight, with unpredictable unresponsiveness as GP notes.

Re:Ask HN: Why aren't there any real alternatives to Electron? by emerged on Saturday March 26, 2022 @06:38PM (#30816005)
It’s been my daily IDE for a couple years and the only time it felt clunky or overweight is when I had installed a misbehaving extension. I remember feeling as you described, but after removing the bad extension it became snappy again.

I think they actually have a tool for discovering which extension is the bottleneck?

Re:Ask HN: Why aren't there any real alternatives to Electron? by hansvm on Saturday March 26, 2022 @08:22PM (#30816574)
Even something as basic as code search is nightmarishly slow. I frequently resort to CLI tools when VSCode doesn't respond quickly enough. Thankfully it usually handles cancellation requests well so that I don't have to continue waiting for whatever god-forsaken process is running after I've already found my answer via other means, but I'm not going to pretend it isn't slow.
Re:Ask HN: Why aren't there any real alternatives to Electron? by bluefirebrand on Saturday March 26, 2022 @08:56PM (#30816742)
I've never had a full code search in VSCode run any slower than instant.

Either you have a massive codebase that outstrips every one I've ever worked on, or something is really busted there.

Re:Ask HN: Why aren't there any real alternatives to Electron? by pleb_nz on Sunday March 27, 2022 @08:10AM (#30819638)
It must definitely is. I use it daily, and if you compare speeds with something native like sublime, every single task is slower in execution. Most might only be milliseconds slower but it is perceptible in over all feeling.

For me, I can live with it, but I definitely 'feel' it when I jump back into something native.

Re:Ask HN: Why aren't there any real alternatives to Electron? by d13 on Saturday March 26, 2022 @07:09PM (#30816173)
I opened Sublime yesterday and it absolutely screams in comparison to VS Code.
Re:Ask HN: Why aren't there any real alternatives to Electron? by eyelidlessness on Saturday March 26, 2022 @02:17PM (#30814005)
In my experience it depends how you use VSCode. For one project (and only a few well behaved extensions), even if it’s quite large, it can perform very well. Working in multiple projects the proscribed way (workspaces) comes with a variety of caveats. Multiple windows can increase CPU and RAM load pretty fast.
Re:Ask HN: Why aren't there any real alternatives to Electron? by bluefirebrand on Saturday March 26, 2022 @08:53PM (#30816729)
I have the complete opposite experience with VSCode versus Visual Studio.

Visual Studio feels like I am using a clunky old slow piece of software, to me. Takes forever to build and run the solution, hell it takes forever to even open a workspace.

Code feels blazing fast in comparison

Re:Ask HN: Why aren't there any real alternatives to Electron? by AnIdiotOnTheNet on Sunday March 27, 2022 @11:48AM (#30821167)
Parent may have been referring told older Visual Studio versions, back before MS web-ified it into a slow pile of garbage.
Re:Ask HN: Why aren't there any real alternatives to Electron? by Smeevy on Saturday March 26, 2022 @08:08PM (#30816509)
Maybe I'm just pining for the old days, but Visual Studio 6 is still my favorite IDE of all time. Intellisense was fairly new and it only activated if you pressed Ctrl-Space. I didn't have little pop-ups and type-aheads trying to steal my attention and all I did was think about the C++ code I was writing.

This was around 1997, mind you. The build from the IDE still took almost 2 hours to complete.

As it stands now, I still use IDEs. I try to disable every "convenient distraction" feature they have, but I've had had to settle for the fact that I can't make them work the way I want.

Re:Ask HN: Why aren't there any real alternatives to Electron? by codalan on Wednesday March 30, 2022 @06:21PM (#30861541)
It's not just VS, either. Every app has to have some attention-stealing, display obstruction mouseover. And it just seems to get worse and worse every year. So much noise for almost zero value.

IIRC, in one of more recent versions of VS, hovering over a method param will show the type of the param. The same info that's already declared to the left of the param.

How is this helpful at all?

Even worse: There doesn't seem to be a way to even fine tune this. I don't need prompts in my face 100ms after I hover over something. They might be useful after 2000ms. But it seems to be all or nothing. I've been using Mads Kristensen's Disable Tooltips extension to preserve my sanity.

If you want to see ugly, open the Azure portal sometime. Hovering too long (e.g. 200ms) over an element may open up a bigger dialog, and if you hover even longer, you get an even bigger dialog that blocks out other things that I might want to look at. It also has a nasty habit of clickjacking my intended target because of this.

I think a lot of this garbage comes from this idea that you need to keep the user engaged for whatever metrics. The problem is that although this is fine for adverts and social media sites, this is exactly what you don't want for productivity. Unfortunately, it seems like these people change jobs/teams and end up bringing this mentality with them.

Re:Ask HN: Why aren't there any real alternatives to Electron? by Smeevy on Saturday April 02, 2022 @01:24PM (#30889934)
Thanks for the tip about the Disable Tooltips extension. I'm using Visual Studio for a couple of projects and you've just removed one minor annoyance from my life and I appreciate it very much.

We use MyEclipse for a lot of our Java development and I found something in their latest release that gave me chills: selecting multiple lines of text in an editor will bring up a control to start a "CodeTogether" session. That can be disabled, but I really have to wonder about why selecting some code in my editor means that I need to "phone a friend."

The Azure Portal is absolutely spiteful. I've been using that as an object example of poor UI design for my junior developers. All of that work they've put in to make it responsive and I still have to hit F5 to see if my VM really started...

Re:Ask HN: Why aren't there any real alternatives to Electron? by codalan on Monday April 04, 2022 @11:47PM (#30915102)
The Azure Portal is the next level of hell for users who need a responsive, out-of-the-way interface to do their work.

There is a trend to make UIs more and more noisy every release, to the point where you have to be engaged on everything.

Example #1: When I quit a Teams meeting, I randomly get asked to rate the meeting (unwanted behavior), instead of going back to the last application I have open (desired behavior)

Example #2: When I edit an Azure DevOps wiki page and paste a link into the text editor, I expect no other behavior than the typical paste behavior. Instead, I get a vestigial popup which steals focus and prevents me from typing or moving the cursor with the up/down keys until I hit Escape. Imagine if you have to link to multiple pages to this wiki. It completely kills my productivity by over 50%.

Example #3: When I use the mobile version of the Vivaldi browser, closing a tab should just bring me back to the last tab. It does that, but then has a pop-down dialog telling me I closed the tab, blocking the bottom of the browser. Dumb.

Example #4: Screenshots in Android. Instead of just flashing the screen once to indicate the screenshot was taken, it now adds more context-related garbage to the bottom left corner of the screen, sometimes blocking controls. Really dumb.

Example #5: Opening a Teams meeting. I click on the Outlook reminder to open the calendar invite, then click on Join Teams Meeting that brings Teams to the foreground, then opens the meeting window. It takes multiple clicks and open windows to just join a simple meeting, as well as multiple clicks to close all the open windows I don't need. I guess the idea of one click, one windows is too hard to figure out.

I wouldn't be so angry about this if there was a way to just disable some of these anti-features. And it's never just one thing. It when you use multiple applications during the day and you can never get into any kind of flow. It's just interruption after interruption, with zero regard to cohesiveness.

It's unfortunate that some UI/UX designers really do believe that the stuff that the FAANGs are doing is good design, because they end up perpetuating it through other software with little regard to the user or context.

The MongoDBCompass client comes to mind. It's a gigantic beast of an Electron application that takes almost 30 seconds to load up on first start. Simple things like CTRL-A will not select all the text in a textbox, but the entire rendered webpage instead. Or double-clicking some value in a document will shift the interface around and put it into editing mode, when all you want to do is just copy a value.

Re:Ask HN: Why aren't there any real alternatives to Electron? by jd_mongodb on Wednesday April 06, 2022 @01:24PM (#30935025)
I have it on good authority from the MongoDB Compass product manager that latest versions of Compass load in around 5 seconds :-) Still an Electron app.
Re:Ask HN: Why aren't there any real alternatives to Electron? by codalan on Wednesday April 06, 2022 @02:12PM (#30935544)
God, I hope so.

I've been going back to Robo3T lately. Sure, it has it's own UI/UX issues, but it doesn't feel like I'm fighting the tool all the time on really basic UI/UX stuff. And it loads up in less than a second. Never thought I'd see the day where I'd actual prefer a Java desktop app over something else.

Re:Ask HN: Why aren't there any real alternatives to Electron? by cyanydeez on Saturday March 26, 2022 @12:55PM (#30813408)
Yawn.

What's important to the majority of computing tasks is boring, doesn't need super computer sppeds or IoT sized products This lament is really narrow sighted.

Resources are cheap for the majority

Re:Ask HN: Why aren't there any real alternatives to Electron? by paulryanrogers on Saturday March 26, 2022 @01:13PM (#30813530)
This doesn't scale though. My mouse needs an always running Electron app. And the app suspends itself somehow everytime my computer is locked or the screen sleeps. This leads to a 30 second wait while it awakens when I get back.

Now if every device and app is built on Electron with such minimal effort then I'm not sure even resurrecting Moore's Law could keep up.

Re:Ask HN: Why aren't there any real alternatives to Electron? by paxys on Saturday March 26, 2022 @01:37PM (#30813705)
So you bought and are using a mouse that takes 30 seconds to wake up from sleep, and are using that as the justification for why Electron is bad?
Re:Ask HN: Why aren't there any real alternatives to Electron? by paulryanrogers on Saturday March 26, 2022 @01:43PM (#30813758)
The point is not one anecdote alone. It's the trend my example highlights. IME it's hard to buy a feature rich device without needing to run more and more electron apps. Or have a tech job without such apps. This cannot scale to everything even if physics weren't standing in the way of significant die shrinks.

EDIT: Forgot to mention that if I configure the device to do 'hardware' assignment then it's not as bad a problem. (Yet at the cost of some flexibility.) So it suggests that the software level bindings are being loaded through this Electron abomination.

Re:Ask HN: Why aren't there any real alternatives to Electron? by paxys on Saturday March 26, 2022 @04:05PM (#30814904)
I don’t see how you can call it a “trend” when I can’t think of a single mainstream device with such a requirement.
Re:Ask HN: Why aren't there any real alternatives to Electron? by raydev on Saturday March 26, 2022 @04:54PM (#30815262)
What's a high quality programmable gaming mouse that doesn't require an app to manage it?
Re:Ask HN: Why aren't there any real alternatives to Electron? by paxys on Saturday March 26, 2022 @05:58PM (#30815737)
Core functionality for all these devices will work perfectly well without an app.

For functionality that does need additional configuration (like extra buttons, RGB colors), you will have to install a companion app and use it once.

There's no case where a peripheral will be non-functional unless a heavy electron app is permanently running alongside it, as the parent comment alleged. If there is, it is absolutely not the standard.

Re:Ask HN: Why aren't there any real alternatives to Electron? by chestnuttrees on Saturday March 26, 2022 @01:23PM (#30813596)
I mean yeah you buy bad products and they’ll be bad… They’d manage to fuck that up in native land as well. Seems orthogonal.
Re:Ask HN: Why aren't there any real alternatives to Electron? by paulryanrogers on Saturday March 26, 2022 @01:48PM (#30813808)
Getting harder to buy products that don't suffer from these kinds of problems as Electron enables producers to cheap out on software development at the cost of user time and energy.
Re:Ask HN: Why aren't there any real alternatives to Electron? by ClumsyPilot on Saturday March 26, 2022 @02:16PM (#30813999)
Ah so 2008. Was not caused by rampant fraud in banking, its just that many people bought bad products. In fact that explains away any injustice that ever happened!
Re:Ask HN: Why aren't there any real alternatives to Electron? by wtetzner on Monday March 28, 2022 @06:21PM (#30836323)
> Resources are cheap for the majority

Sure, if you're OK with running only one or two applications at a time.

Also, if applications were written with care toward performance/resources, imagine how much more those applications could do?

Re:Ask HN: Why aren't there any real alternatives to Electron? by Fire-Dragon-DoL on Sunday March 27, 2022 @02:23AM (#30818180)
One thing I learnt when programming long time ago was that having an abstraction for things fundamentally different wasn't a good idea. I was looking for an abstraction that would make tcp and udp look the same, but I wanted the benefit of udp on udp and tcp on tcp.

If you think about ui in OSes, they are different, quite a bit. Still similar in some way, but different.

Given that, one solution when you have similar things that are actually different (e. g. PS3 and PS5 are both consoles that run videogames, from the same company, but are incompatible),is to ship a vm. Make things run there and use it.

Chromium is that VM.

Re:Ask HN: Why aren't there any real alternatives to Electron? by elcomet on Saturday March 26, 2022 @02:25PM (#30814073)
Computers are still fast when they need to be fast (data processing or other stuff). But you don't need any note taking or food ordering app to be lightning fast so why care ?
Re:Ask HN: Why aren't there any real alternatives to Electron? by wtetzner on Monday March 28, 2022 @06:22PM (#30836332)
Why should my note taking app or food ordering app be consuming resources that more important apps could be using?
Re:Ask HN: Why aren't there any real alternatives to Electron? by rektide on Saturday March 26, 2022 @02:28PM (#30814092)
> This means that software development is a failing discipline. All we can do is to come up with ever more ridiculous layers of complexity on top of mindboggling complexity, recursively. All of this is totally self-inflicted. The problem domains that our software needs to deal with are complex enough. But we keep piling on shit of our own making.

Awwhhh why so glum? This sounds so alarmed, so fraught & bleak!

I don't see anyone as having a bead yet on what the final destination is, on what is right or perfect. I see change & innovation & exploration as necessary, ongoing, and this layering of platforms atop each other is part of that larger bigger quest for us all to learn what serves ourselves well, to figure out how we align.

Overall these Adapter layers are quite performant, quite fast, and they isolate rather than leak complexity quite effectively. Electron's doesn't have to invent a ton of stuff to create this pleasant, familiar environment for developers or users- the operating system is simply not that relevant, is easily adapted, by a pretty boring regular programming language (Node.JS) and the world's most popular multimedia page/resource system (the browser).

Right now, yes, we have the web platform as a layer above native in many cases, but I'm not sure that that is so alarming. Maybe it's transitional? The early smartphones were both enormously web first, decided to use something great rather than reinvent: the Palm Pre and original iPhone (which was webapps only). In modern times, there's ChromeOS, and Palm's webOS continues under new stewartship, mainly on TVs. If the complaint is layers of complexity, maybe we just need to get rid of proprietary & legacy platforms, & embrace the common, shared medium that all computing has. Or find new unifying better platforms!

In general, I see these new platforms as being extremely liberating, as helping reduce the complexity developers have to mess with, by offering a set of well-defined standards & well known constraints & behaviors. Rather than a complicated, particular OS tied to some specific devices, with it's own quirks, with ever evolving platform capabilities & changing toolchain

> If this is what software development has become, then there's no way it won't end in total and utter disaster when people start to recognize the already all too common piss poor products that barely manage to do the absolute minimum and rebel against them. It may not be marketing department of the Sirius Cybernetic Corporation who'll be lined up against the wall first, but software developers when the revolution comes.

Again I think moderation is good council here, but I also agree in principle that there is some awareness software can be a bit of a disaster, and it's visible that sometimes updates & "improvements" serve external interests not the users.

Where I differ is I see Electron as a fairly hopeful, possible open future for computing, that does embrace users, more so than most software. Most software is not malleable, not adaptable. Electron, on the other hand, offers the very slick, open ended DevTools Protocol for most every app, which allows users control & automation & expansion of software. We can write some userscript & change the behavior of webplatform & electron systems, which is hugely powerful, is a far fairer shake & far more liberty than most computing platforms, where apps are usually compiled down, fixed in form & nature.

This second paragraph really brings me back to where we started: I don't think we have a bead yet, as a larger world. It feels like there's so much discovery, so much understanding to develop. What makes me hopeful is groups like https://wicg.io , which try to understand & consider how we might do better, which work to build open standards for the internet, for our shared multimedia platform, as a community, securely. There's so much further for all computing to go, so much we need to do to better serve users. I don't see anyone has having a strong lock on that, it feels like there's more to learn & become than there is that we've locked down, by far, so I am hopeful & excited & happy to see us staying malleable, working to unblock innovation at all levels, in all computing. Electron is a great & positive force here, albiet I look forward to other projects listed in the comments such as Tau providing similar-ideas with slightly-different execution.