Any Chance of a Native Non-electron Desktop app?

I’m curious if there is any hope for a true native Bitwarden desktop app coming out. I know LastPass and Dashlane announced the same but every time I go and test 1Password, RoboForm or Enpass, their performance is killer compared to Electron based password manager apps.

4 Likes

you mean an desktop app that could actually manage your entire account , exactly like in web vault, albeit locally? that is one of my oldest requests here , currently Bitwarden desktop app is just an heavier version of the browser extension.

1 Like

That’s right, thanks for the link. I’m a bit pessimistic though since LastPass and Dashlane both are moving towards electron based apps.

Please don’t do it. Electron is an awesome way to bring webapps on desktop. Current BW desktop app is definitely fast enough for basically anything. Creating a native non-Electron app takes a lot of time and effort to do and maintain. And since BW has limited resources, I think it would be very unwise decision in many ways. BW has a lot more important features to implement

Electron is the correct approach here.

But I agree that it should have all the features the web vault has. So those should be implemented.

3 Likes

Well you might be right that this might take a lot of resources which the Bitwarden team may not have currently. So I might not disagree in a time management way or from a business perspective (but I do not know enough about Bitwarden to speak to either) but from a user perspective it is very clear that a native app rocks compared to electron apps. I have to use some electron apps everyday and they are terrible compared to well done native apps. Even the very best cannot come close.

3 Likes

@MONKiPASS, could you elaborate, what do you expect to gain with a native port? Ie. which operations you feel are now slow to perform because of BW is an Electron app? At least on my quite modern MacBook Pro (2019 16" model) everything is fast and snappy:

  • App opens in about 1 second - (I see no benefit in improving this at all).
  • Finding credentials using search is practically instant (I have only about 200 credentials but still) - (Again, no need to improve)
  • Desktop app is used quite seldom so the benefit is small in that sense too. At least my usage is 99,9% in browser extension.

I just fail to see any kind of good return of investment and would consider this not a good idea.

From developer POV it is actually super nice to be able to use same React components and API services as are being used in the web apps. This really reduces also the skillsets required from new hires as same skills can be used both for webapp development and desktop app development.

Bottom line, I see no need at all for any kind of performance increases (on my hardware, YMMV) which would require a complete change in the tech stack.

2 Likes

Having a native app is really not worth it for now. As Paapaa said, most of the users depend on the browser extension and the mobile app the most. I don’t really use the desktop app but I do have it installed on my PC.
If I used Bitwarden Desktop daily, then having a native app would be worth it because electron apps are huge in size . Electron is basically a small degoogled version of Google Chrome. I am not a big fan of electron but since I don’t really use the desktop app, I am fine with it.

The big issue here in my opinion is that your account can only be managed entirely by web vault , not in the browser extension neither the desktop app, having a local app to read encrypted exports woulb be nice peace of mind in case Bitwarden is gone someday

I doubt the Bitwarden team has the free sources to make native desktop applications that don’t use Electron. I don’t hold that against them.

But the reason to do it, if they can, is to support users with weaker hardware. I have a modern desktop and a laptop from 2008. Electron apps are fine on the desktop, but noticeably slower than true native apps on the laptop.

Again, I’m not criticizing Bitwarden for using Electron. They don’t have Google’s engineering budget. But native apps are better for customer budgets and for the environment, because you can use older hardware much longer.

The download size of Bitwarden for Windows waws 694 kB. Less than one megabyte. It was allocated some 90MB of RAM when running. I don’t know how much it actually uses of that. But it is hard to see how that would be a resource hog in any sense. Again, the benefits of a native app are very minimal.

I think Electron has been a great success. It has allowed so many apps to get a standalone app with only quite little extra development effort. It helps to get consistent UI across web and the app. And as I said really minimizes development effort.

At least on new computers I have never felt that Electron apps are slow. Visual Studio Code is de facto web app editor because it works so well and because the development is so fast. It being electron has made it easy to offer the same editor on web pages too. In my opinion the slowness of Electron is a myth and at least greatly exaggerated. I never looked back after switching from Sublime Text to a Electron editor (VSC). And BW is way less sensitive to performance than VSC anyway.

1 Like

On my work computer, the Electron Apps Slack, Teams, and Visual Studio Code use 300, 400, and 280 MB of memory respectively when idle.

Notepad++, Emacs (full GUI version, not in a terminal) and similar native applications use less than 30MB of RAM. They also start faster.

If you’ve got money to burn, the difference isn’t that important. But a lot of my friends and family have computers 5 years old, or older, that were $800 or less when brand new. So for the third time, I don’t blame Bitwarden for using Electron because they don’t have tons of money to invest on desktop efficiency. But in general, the whole tech industry should be working on native apps instead of Electron when they can manage it.

1 Like

There are a few things that speak for a native app @Paapaa and I do understand they need to prioritize their resources so it may not happen for a while or ever. I’d still keep it on my wish list for the following reasons:

(1) As @TadCooper pointed out older machines fair much better with native apps. My primary machines are powerhouses but I still do have older machines in the house like a 2014 Mac mini and a 2014 MacBook Air. But when I look at my family and friends’ situation, of whom many use older machines, electron apps do not perform so well there. I’ve done a simple speed test and Bitwarden on my older machine a cold start takes 3s and another 3s loading after I hit enter on my vault password. On 1Password a cold start takes 1.5s & loading my vault 2.5s. Bare in mind I am close to 2k entries. For RAM the difference is: Bitwarden 173MB & 1Password 71MB. On a side note, the Bitwarden Helper (Renderer) not infrequently shows not responding.

(2) Fighting the tide of so many developers using Electron apps it bloating the system! Personally I hardly use any. I’ve compared it with my brother who heavily relies on electron apps and his system is totally out of wack!

(3) At least on Apple devices, it is easy to adopt their UI design kit and all I can tell you as a nonUI developer is that native apps usually have a better UI and feel.

I’ve done a simple speed test and Bitwarden on my older machine a cold start takes 3s and another 3s loading after I hit enter on my vault password. On 1Password a cold start takes 1.5s & loading my vault 2.5s. Bare in mind I am close to 2k entries. For RAM the difference is: Bitwarden 173MB & 1Password 71MB. On a side note, the Bitwarden Helper (Renderer) not infrequently shows not responding.

So even on an old machine it seems perfectly usable and the RAM usage is not an issue in practice at all expect in very rare cases. Let alone on a newer hardware. A gain of 1 or 2 seconds on startup is very little. That is so marginal that it would be a waste of development resources IMO. The same applies to mem footprint.

Developing and starting to maintain native apps would make absolutely no sense if the gains are what you listed above. The gains from using Electron far outweighs the gains from a native app in my opinion. (And I guess that is the very reason BW uses Electron in the first place.) Using Electron means that we get more important updates and less time is spent on developing and maintaining UI for different platforms.

Electron apps don’t make your computer any more or less bloated or “whacked”. You can’t make that conclusion based on one person having issues without actually verifying what is the source of the problem. There is nothing special in Electron which would bloat your computer as opposed to native apps. I have a few Electron apps installed (VSC, BW, Spotify, Slack, Postman, Skype, etc) and my macOS works perfectly fine.

As for Native look, I agree with you. Using a native framework might make it easier to make the app look native instead of Electron. But I think BW has done quite well to make it look natural on macOS at least. I have not tried Windows version. macOS version mostly looks good and similar to native macOS apps. I’d make some subheadings capitalized (“Types”) instead of all uppercase (“TYPES”). But that is easy to do. BW is anyway such a simple app to style. So gains are small in that department also.

What’s the situation around keyloggers and electron apps? 1Password mentions on their website that they have some preventative measures in their app (not sure what or how) and what if anything can be done with electron apps?

Earlier I was of the mindset that a non-native desktop app wasn’t needed and Bitwarden development efforts were better served elsewhere. But now after using the new biometric login with the web extensions that require the desktop app to be running all the time think a native non-electron app with a lower memory footprint would be a great idea.

2 Likes

The download size of Bitwarden installer is 694 kb. Thats just the installer, not the whole program. The installer after launched then downloads all the files.

1 Like

I’m here for the same reason as @uMAnicIo - started wanting to use biometric login and so would be great to have as lean/fast of an app as possible. I understand this is probably low on the priority list, but…

Is a shame the industry moves towards Electron apps, I personally have a disgruntle for them but as a programmer I know exactly all the reasons people use them.

People like Bitwarden’s creator are kinda hand-tied as there isn’t a big crew behind, is him and a couple others… but what about tech giants? Those shouldn’t be allowed to simply throw Electron to the mix and hog performance.

Anyway, seems like native application is not gonna happen any time soon, what is more likely is small apps popping here and there, as an example I wrote an auto-type application helper based on Bitwarden CLI and uses 5mb of RAM.

20210522125930

Is not a replacement for the desktop application, is just for adding KeePass-like capabilities to Botwarden. I also seen the server version of BW in Rust, so there shouldn’t be much before other options come into play.

Would be great if there was a cross platform programming and UX system to make app development easier. Oh wait, there’s electron. Still better than Java.

3 Likes

IMO for UI anything is better than Java, this kind of application doesn’t require anything above QT/GTK can provide. Electron is a cool idea with a poor implementation and that’s because the sandoxiing and the isolation, no way around that without falling into security holes.