Is version 8 (on Windows) really an Electron App?

XIII
XIII
Community Member

Should have noticed this before, but is version 8 (on Windows) really an Electron App? :cry:

Are you planning to do the same on macOS, or will you keep 1Password native on that platform?


1Password Version: 8
Extension Version: Not Provided
OS Version: Windows
Sync Type: Not Provided

Comments

  • MikeT
    edited June 2021

    Hi @XIII,

    Majority of it is Rust (all backend, including crypto an data) and we use React to render the UI, while using Electron to pack it up. We still use a lot of native APIs to integrate with Windows such as Windows Hello, drag to type, and so on. It is not an Electron app, that would imply the entire app is a browser but it is not. You don't call Chrome an Electron app even though it uses the same chromium-based engine and it is still considered as a native app.

    1Password 7 for Windows is a Rust app that uses .NET to pack it up while using WPF UI to render its UI.

    It's all about picking the best available tooling to do its job, Electron on its own is not bad. I love using Visual Studio Code even though it uses Electron for some of its tooling.

    Is there something specifically in 1Password 8 for Windows that you have any concern about?

  • dteare
    edited June 2021

    I like how jackmusick said it on Reddit:

    😎

    As Mike says Electron is just a technology and like any technology it can be used to good effect or ill. For us it's a relatively small piece as our new Windows release is a hybrid application built using Rust on the backend and React for the UI, along with Neon bindings to wire it all together. It's the same approach we used for our Linux application and I wrote about the architecture and how we feel in love with Rust here:

    Behind the scenes of 1Password for Linux

    This resultant application is hosted within Electron to ensure we have the exact same platform as our users. The majority of the actual code is in Rust, a systems language known for its security and performance.

    I can definitely relate with your feelings towards Electron apps as there are plenty of bad ones out there as many companies just blindly wrap their web page into "an app" and throw it over the wall. We took a different approach and I think you'll be impressed with how snappy things are and how well we integrate with the system.

    Please give it a go and let us know how it goes.

  • XIII
    XIII
    Community Member

    Is there something specifically in 1Password 8 for Windows that you have any concern about?

    As childish as it may seem: “Google inside”…

    This bothers me in general (for any software package), but even more for my password manager, which also contains sensitive personal information (like the medical records you recently introduced).

  • MikeT
    edited June 2021

    This bothers me in general (for any software package), but even more for my password manager, which also contains sensitive personal information (like the medical records you recently introduced).

    I do understand your concern. We do audit our code and disable anything that we do not need, we do not make any assumption about any company. We have a very paranoid security team that is monitoring what we're doing, what dependencies we're using and to minimize any third party tooling. Our only sole concern is that your data is always safe and we not only do this by auditing our code, we also have them audited by third party companies to ensure there is nothing that's potentially risky.

    Note that 1Password service uses Go language as our backend and Go language is a Google invention, so you may not be able to escape by having a Google-free product and I don't think that's easy to do. Google engineers are excellent at what they're doing (their machine learning skills are just amazing, despite how creepy it may be to some) and their security teams are full of smart people, just like Microsoft who is contributing to Chromium that is powering Edge, and Mozilla who natured Rust that we're using now. I won't comment on the other stuff but I can assure you that Google is not involved in how we write our apps, it is us that is writing 1Password, no one else.

  • sguergachi
    sguergachi
    Community Member

    Honestly, its a fine electron app, but I wish i didn't instantly know it was an electron app because I had the same reaction. Unlike VS Code for example.

    The biggest tell this is an electron app is the default menu bar button and chrome UI used in the drop downs. If you guys adjusted this one thing to make it custom UI then it would feel completely free of "electron icky" feel so to speak.

  • sguergachi
    sguergachi
    Community Member

    The default drop down itself doesnt even feel considered, it pops right under the mouse pointer as opposed to under the button as you would expect

    Everything else feels so lovely, so I hope you guys consider adjusting this to make it feel like a really nice app!

  • sguergachi
    sguergachi
    Community Member

    Just to give examples for what I would consider "bad" electron apps:

    • Twitch Desktop app:
    • Slack:

    Examples of good electron apps menu bar:

    • Facebook Messenger(technically a react native desktop app):
    • VS Code:
  • Thanks for those examples, @sguergachi. We have an issue filed for this one and will be making some improvements like you suggested.

This discussion has been closed.