I don't get the hate on Electron. Is it often bloated? Yes, sure. Has it allowed some of these excellent third party apps to make the move to Linux? Absolutely. I've been utterly surprised and excited by how much better 1Password has gotten over the last two years on Linux. We're seeing real parity with the OSX side of the house. Would I love native apps? Again, sure. But I really don't care. It runs pretty fast on my machine and has never really gotten in the way.
Also, they have a nice CLI. I'm sure getting some of these features there is only a matter of time.
I think a lot of the hate (myself included) is coming from the fact that we already had a really good native macOS app. Feels like something is being taken away. I do understand where you are coming from with Linux. It's better than what you had, no doubt. But that doesn't feel like the case to us macOS users.
EDIT: I just tried the latest beta, and I'm happy to say that scrolling the list is now much faster! On the other hand, the blurry fonts, the lack of overscroll, the non-native dropdown menus, the inability to view your vault with the Preferences window open, and the lag when resizing the window are all still there. This does not fill me with hope that the final released version is going to be any better.
I stopped my subscription to LastPass and bought a 1Password subscription because LastPass discontinued their native macOS app and went with an electron wrapper. But the new LastPass client was slow, glitchy, and broke OS integration (It lost a lot of features. I tried to report some of that, and their support team ignored me). The 1Password experience already seems to have more robust features than my experience with LastPass, so I am happy with the switch. I really hope they can preserve all that through the transition, or that they maintain the native client!
From my own experience with Electron apps and 1Password beta a few months ago, putting resource usage aside (even if we should not): OS-native spell checking is missing. Lack of OS standard shortcuts. Everything is a single window. UX performance: lots of things has just a little bit longer.
We added spellcheck and text transformations options recently. Our team contributed a few patches to Electron to enable better macOS integration. For example: https://github.com/electron/electron/pull/32024
I have filed a couple of issues on the community board, but there are two things which are dealbreakers to me (most of the rest of the issues — including the attachment data leak — have been resolved).
1. I despise the binding of ⌘- and ⌘+ to zoom, and even more ⌘0 to zoom reset. I know that those are standard Electron things, but there’s absolutely no reason to make them priority bindings for 1Password.
Beyond the zoom binding, I find the default size too big, so I am running at two zooms down by default. Every time I go for the ⌘0 (all "displayed vaults" in 1Password 7), my zoom resets because of this nonsense. What would make more sense is to: (a) remove those bindings; (b) let one of the collections or accounts be marked as a _default_ collection or vault and bind the display of the default to ⌘0; (c) offer zoom sizes either in the view menu or preferences; and maybe (d) offer the zoom-in zoom-out functionality only in the menu.
2. I absolutely cannot deal with the fact that preferences, collection editing, and a few other things are pseudo-modals that block the use of every other part of the 1Password 8 UI. It’s the #1 thing that calls 1Password 8 out as an Electron app, and it makes me so not ever want to touch these things, which makes them far less useful on a day-to-day basis. If you are unwilling to fix the fact that these things are garbage, at least enable multi-tab capabilities (I would love to see a tabbed 1Password interface). That allows VS Code to be less immediately annoying.
These are in order of annoyance, not priority. I consider the pseudo-modal issue to be more important because it makes the new features that you and Dave speak of unpleasant to configure. Fix these, and I’m back to recommending 1Password 8 wholeheartedly. I’m even missing 1Password mini less and appreciating the replacement a bit more (it’s still not _quite_ as good, IMO, but it’s getting there).
2. It might look silly but we actually had an internal debate about making the preference for floating preference window. I personally do not mind the single window approach because it makes things easier for the non-experienced users. I watched my mother-in-law losing the preferences window when she tried to configure 1Password 7. I know there are certain articles claiming that all Mac apps must have a floating Preferences window but there are quite a few counter-examples as well. Anyway, that preference might still happen.
1. I certainly relate to the pain about muscle memory when it comes to the keyboard shortcuts. At the same time, having an option to easily adjust the zoom settings for an app is such a great feature. I used 1Password on a 13" laptop and on Pro Display HDR and I love the ability to change the zoom factor. I now wish I could do this in every app. Perhaps a solution could be to make all keyboard shortcuts customizable?
The preferences is small enough that I don’t care about that as much. It’s symptom as much as anything else.
The pseudo-modal for collection management is painful.
I never want to open that pseudo-modal _again_ because it’s so awful. It’s narrow, it doesn’t let me look at the vaults while I’m working through what should be in a collection, etc.
This is a problem because it’s a major feature and someone who has used 1Password from the days when it was 1Passwd and you ran the Switcher’s blog…that’s bad news for the success of the feature. Never mind that this is the only way to get to the previous behaviour of "all vaults" meaning "all vaults that have been selected to show in all vaults" and that so that you’re not constantly getting shown things that you don’t want to see by default because the collection you have the old "all useful vaults" is on ⌘5 instead of ⌘1 or (better yet ⌘0).
On the zoom:
Keep the zoom, if you must. But for the love of Jobs, don’t bind it to ⌘-, ⌘0, and ⌘=. ⌘0 should be _either_ "show preferred collection or account" or "show main window" (leaving ⌘1 for "show preferred collection or account"). Seriously, that binding is the absolute #1 thing that I hate about the Slack app, and there are _legions_ of things to hate about that. Leave the zoom options in the View menu, because your mother-in-law, if she wants to zoom in isn’t going to remember ⌘= to zoom in. She’ll look in the menus.
1Password 8 is _much_ better than it was when I started using it in July. But these two things actively make me _angry_ about using it because: (1) the pseudo-modal, especially for collection management, makes me not want to use something that looks much better than previous mechanisms, and (2) the zoom gets in the way. I’m using 1Password on a single monitor (14" MBP, previously 13" MBP) and I want to set my zoom _once_ and never think about it again, especially if I hit ⌘0 (thinking "show main window" or "show preferred collection or account") but it resets my zoom. Having the zoom bound is a papercut that happens to me multiple times a week because it makes no sense in anything except a web browser.
Not looking for a fight here, but it seems like there is a disconnect between 1Password/AgileBits praising version 8 while also trying to bury the fact that it is an Electron app. It seems like you are proud of what you are building (and that's awesome), but the Releases page for beta [1] doesn't contain the word Electron.
Electron is effectively a UI and code framework, much like SwiftUI or just Swift with AppKit; I don't see why either would need to be a marketing point or referenced in the changelog. 1Password 7[0] doesn't say what it's made in either.
This is a specious argument imo. The beta does mention that some part of it is written in Rust, why exclude Swift/Objective-C to JavaScript if you're in the business of talking up implementation changes?
Why jump to "trying to bury" if you're not looking for a fight?
There are many reasons for not specifying what framework an app is built in, the most obvious of which is that the general public both has no clue what Electron is nor a desire to find out.
Just because something isn't listed doesn't mean it's "buried". Like the other commenter said, you don't routinely see users of other frameworks and languages put it front and center, why should that expectation change with Electron?
That's some good news (though it looks like you linked to another github issue), but my real-world experience unfortunately stands in stark contrast to your claims. I don't know who to trust, my senses or your words. Previous version is noticeably snappier still.
Will you add support for increased contrast again? (it was removed in v8, and was one of the many regressions that made me effectively give up on 1Password)
I was fully prepared to say 'memory usage' as a kneejerk to Electron. But I decided to open System Monitor real quick and it turns out my 1Password 7 instance is using 201MB itself. Another ~30MB if the helpers are included. My machine has been on for about a week and I invoke 1Password a lot throughout the day + have about 500 entries.
How much memory is yours consuming (assuming you're using 8)?
I tried 8 on Windows. I went back to 7 after a week.
* Search is just plain broken. This was the number one reason i scrapped it.
* Managing multiple vaults (i have over a dozen) is unusable.
* The UI is terrible, it takes way more space to show less information than 7.
* The browser integration (FF) seemed to work poorly.
Basically, once 1Password stops supporting 7, they will have lost me and anyone I can influence as a customer.
While I fully agree with your issues, and have experienced them too, (although comparing v8 on Linux to v7 on Mac – I don't use 1Password on Windows), those are just UI/integration issues. I don't think they're because of electron, but rather because the remake of the UI is poor.
FWIW, my main gripe is having to unlock each vault separately, as opposed to a single unlock as used to be the case on Mac / iPhone.
That one part yes, but if you can build most of your application cross-platform and only do certain things with "native" solutions you might get better bang for the buck. Discord and VS Code comes to mind.
Rust is hardly a "desktop-native" language. I expect it will have to jump through all sorts of hoops to interface with the Obj-C underpinnings of MacOS desktop libraries.
Regardless, even if the backend were pure Obj-C, the point is still that now you have a UI stack and a backend stack, instead of a single desktop-native stack, and you have to manage their communications. But I guess the money they save by not managing desktop-specific codebases eventually adds up...
Besides that it's bloated. I really don't want to have my passwords and keys managed by something that's built on a software supply chain, which is so prone to malicious attempts (npm packages). There are way too many deep dependencies and mini packages out there.
Memory is a precious resource. Every additional Electron app that’s running increases the likelihood that your system will have to swap, and then it will feel like a a turtle in a tarpit. Also, there’s some concern that continuous swapping prematurely ages SSDs, reducing the overall lifetime of laptops. The modern trend is to solder storage chips directly to the main board, making them difficult to replace.
> Also, there’s some concern that continuous swapping prematurely ages SSDs, reducing the overall lifetime of laptops. The modern trend is to solder storage chips directly to the main board, making them difficult to replace.
You have to thrash a full drive QUITE hard to cause any significant wear, all modern drives take care of themselves and the filesystems report which blocks are unused to let the SSD take care of itself.
Surely it's a concern in a server environment and some other "spacebar heating" workflow but in reality it doesn't happen.
Just because you haven't personally experienced this problem doesn't mean that many others have not. The experience of others is just as valuable as your personal experience, and to denigrate the experiences of others demonstrates a lack of empathy and understanding. Not everyone has an SSD, and not everyone has more than 8GB memory in their laptops. Many laptop manufacturers (including Apple) continue to sell lower-memory systems in droves; and there is a widely-installed base of older computers dating 5 years and even longer.
My point is that, in 2022, the overwhelming majority of people do have the necessary resources required to run Electron apps on their laptops and desktops.
My view is backed up by the fact that people do exactly this, with great success. The complaint about memory is not reflective of the typical user experience.
The fact that multiple people here are telling you that they have experienced RAM shortages and swapping due to excessive consumption speaks for itself.
The fact that you need me to "show data" that Moore's Law exists is, in and of itself, hostile, but on top of that this comment pretty solidly demonstrates that my intuition is correct.
You are the one who came in here and disputed my claim (and those of others as well) without a single shred of evidence. You still refuse to substantiate your disagreement.
Nobody is disputing Moore's Law (and this is the first time you've brought it up!). The dispute is around whether people still experience slowdowns and other bad experiences as a result of excessive memory consumption relative to resources, despite Moore's Law. I and several other people have told you right here that they have, and you refuse to acknowledge our collective experience largely because you personally haven't shared this experience.
My ego isn't bruised. But I and others reasonably expect significantly more than a "drive-by" non-substantive negation of a claim that comes directly from personal and professional experience (i.e., gaslighting) -- especially on Hacker News, where the audience is supposed to be largely composed of mathematicians, scientists, and others who possess better-than-average ability to think deeply, logically, and in a nuanced fashion.
You are wrong when you say, "Memory is a precious resource." No "precious resource" doubles every two years. You can either accept that objective fact, or you can continue to try and weasel your way around it, but the fact will remain.
First, average primary system memory in a typical laptop does not double every two years. Growth of average installed memory has been linear, not exponential (see, e.g., https://techtalk.pcmatic.com/research-charts-memory/). Second, even if it did grow, software can consume memory faster than it can be provisioned; there's no law that prevents software developers from writing software that utilizes an arbitrary amount of memory. Put differently, adding more memory does not necessarily ensure the software will not consume it, in the same way that adding more freeway lanes is not a guarantee that gridlock will not ensue, or that moving from an apartment into a mansion is not a guarantee that it won't get filled with stuff.
Aaand now you've gone on to dispute Moore's Law, as if the specificity of the "two years" part was at all critical or even important to our conversation.
Also, that link you provided seriously undercuts your own argument, you do realize that right? It very clearly shows how over 90%+ of computers have 4 GB or more of memory installed, which is plenty to run multiple Electron apps.
I encourage you to read my argument from the top again. I speak in terms of probabilities, not absolutes. I don't disagree that many people might not notice performance degradation when running multiple Electron apps. However, it is an incontrovertible fact that (all other things being equal) an Electron app will consume more memory than a native app will; and some people will experience swapping and reduced performance when running Electron apps where they might not experience that if they were solely running native apps instead. Also, it's important to keep in mind that people often run a healthy mix of apps at once--both native and Electron--and they'd have the ability to run more of them without risking swapping if they ran fewer Electron apps (again, all other things being equal). The closer you get to exhaustion, the more economy of consumption really matters.
I just can't see how this is that controversial a claim.
What you have here is not a controversial claim. It's also not what you've been arguing until this moment, but for whatever reason you've softened your position substantially, now to the point of (IMO) banality.
What's controversial (because it's false) is the claim that, "Memory is a precious resource." That is not a true statement.
We call memory a "precious resource" because it is often a fixed quantity in a given computer, and often the most expensive component after the display unit. Many laptops these days do not offer upgradeable memory, and even when they do, they often have very few slots in which to add it. So for many people, an upgrade involves an entire unit replacement at significant cost. I think most people understand this, so again, I don't see how it's particularly controversial.
Humans are not limited to one computer in their lifetime, so the resources of one computer at one moment in time are not relevant to this discussion.
Additionally, your own citation shows that at this moment in time a vanishingly small number of computers have an amount of memory that would result in any kind of performance degradation due to the use of one or a few Electron apps.
Therefore, Moore's Law applies, and we can safely say that resources which double every two years are not scarce.
Your continued insistence on a false fact will continue to be "controversial".
This discussion has never been about whether the aggregate amount of computer memory in the world is a fixed quantity. (At least, that's not what I meant to discuss, or how I think most people would interpret my claim.) It's about the impact on real people who have laptops with fixed amounts of memory in their hands today.
Anyone with a system that is running full of Electron apps knows how awful it adds up and how slow they are. Sure just 1 app makes hardly a difference. But I have 16GB of RAM and it gets awfully slow very fast with all that electron mess.
As someone who has to occasionally unstick stuck systems by way of `echo 3 > /proc/sys/vm/drop_caches` because memory management in the real world doesn't work the way the people who write condescending sites like linuxatemyram.com say it does:
What’s funny about this comment is how detached from reality it is.
If you round, approximately zero users of Electron apps know how to do what you’re talking about, and yet they continue to successfully use Electron apps across a variety of platforms.
The fact that you have to finely manage your system’s memory is a you thing, not an Electron thing. The two are entirely orthogonal.
Memory is not a precious resource, no matter how much you want to live in a world where your obsessive compulsion to manage it is reasonable.
Was it really necessary to have the rude and condescending attitude? While it served the point of illustrating the toxic behavior I took issue with of those who claim memory management is Fine(tm), I don't think it was warranted here.
I only care about managing my memory because the consequences of running out of free memory are severe. Linux as shipped by mainstream distros is quite happy to start filling swap (with attendant kswapd CPU usage) when there's multiple gigabytes of pointless inode/dentry cache to evict.
Both of these are problems that simply don't exist on Windows and MacOS. Windows because it doesn't pretend half of my system RAM is useful cache, MacOS because it does compression out of the box and doesn't appear to be so aggressive.
On each and every point your view is only true in very isolated and niche situations, while simultaneously begging the question that you’ve run out of memory in the first place.
Linux is not good for desktop environments for exactly the reasons you outline here (and many more). It’s not Electron’s fault you’ve used the wrong tool for your desktop OS.
It's very antisocial to tell people they're using the wrong tools. In today's world, it's becoming no longer sustainable to respond to wasted resources by asking the world to purchase more resources (resulting in even more waste in the long term) to accommodate it. Conservation is becoming increasingly important.
Is it antisocial to tell someone they're being antisocial?
And you're using the words "wasted" wrong, assuming you're referring to the memory footprint of Electron. Electron uses memory to solve a compatibility problem, that's not wasted at all.
One person's benefit is another person's waste. If you think there's not room for vehement disagreement around how best to use space, go watch an episode of Hoarders.
Please elaborate to those of us who have actually experienced the “swap swamp” within the last year, in the 2020s, and who have enough systems knowledge to properly instrument this stuff. Are you gaslighting us?
Because the idea of shipping a goddamn browser for each and every little GUI app is revolting and disturbing. What other crazy decisions have these people made?!
I seriously don't understand making blanket statements like this
All this fearmongering made me properly look at and note the memory usage of the native windows app and then the electron app after I upgraded. The new app uses a whopping 50MB more when the desktop app is open and uses 10MB less when it's not
People keep ranting and raving about this with no context and zero research. I'm sick of this especially on HN
It's not about the memory use. It's about the insane complexity.
An old grandma is looking for a little city car to take her to the neighborhood store. Solution: Use an Airbus A380. The fact that the engineers have made the plane weigh only 50 times as much as the city car is great, but it doesn't really change the fact that it's a crazy approach.
I don't have strong feelings about Electron, but 50MB more memory for the same functionality does seem like a lot. If every app I have open on my machine suddenly used 50MB more memory, it would be a noticeable hit.
But it is not the same functionality at all. In terms of privacy and security, the older versions do not come close. And we reworked many pain points in 1Password 7 — better lock screen, improved sidebar, new watchtower, item editing, (in)security questions, fully encrypted item icons, item location bar, tag autocompletion, special handling of the scenario where 1Password becomes locked in the middle of the editing session — and I am not even listing 10% of all the improvements here.
Note that that's 50MB more when the 1Password window is open. When it's running in the background it actively uses less memory than it did before. And that effectively means 99% of the time it's running faster than it did
Qt and GTK apps don't usually spawn 5 processes, 300-400 MB of RAM, and take 100+ MB of disk space (because they always ship an entire copy of Electron) just to show a small window.
They solve the task at hand (cross-platform GUIs), plus some auxiliary tasks like cross-platform FS access etc etc. That's much cleaner and more principled than "screw it, let's ship a browser".
It doesn't integrate with OS. Like events happen differently, stuff like this. Especially for macOS.
But again, if one uses some crap from IntelliJ and Slack, this fits right in.
Also, they have a nice CLI. I'm sure getting some of these features there is only a matter of time.