Today we’re releasing the first public beta version of Yubico Authenticator 6 for Desktop. This new version has some big changes under the hood, so let me explain what they are and why we’re doing them. Or, if you’re just eager to try it out, skip to the bottom of this post and click on the link for the downloads!
Last year we released Yubico Authenticator 5.1 for Desktop, in which we added functionality for managing the FIDO/WebAuthn features of your YubiKey such as changing your PIN, or registering your fingerprint to a YubiKey Bio. During development of this release we started to feel limited by the existing technical architecture of the app as adding new features often meant worrying about inadvertently breaking something else.
After the release, we decided this needed to change. We’d outgrown the codebase, adding in more and more new functionality which wasn’t even dreamt of when we initially created the first version of the app almost 10 years ago.
A fresh start
It was time for a reboot: We needed a new architecture that would serve not only the original use cases, but all the new ones added since – and the ones we have planned for the future. To solve this, we designed a whole new model for state management, with clear separation of responsibilities throughout the app, and we rebuilt things according to this new model. This lets us worry less about how changing something in one part of the app might affect another, and we’re already seeing benefits from this work in the improved stability of the app during development.
With these big architectural changes, we knew we had to rebuild the user interface as well, so we took this opportunity to investigate the available toolkits for creating the UI we wanted. We decided to use the Flutter framework, which has been great to work with. Developing this new UI has been a blast, and Flutter has brought us a big boost in productivity with its declarative style and modern tooling. It gives us enough out of the box that it’s quick to get started, but offers the power to really customize things when needed.
Putting together this new architecture and re-building the UI has been a lot of work, and we still have a lot more to do – but we wanted to share our excitement now as we release a preview of what is to come. This beta version of the app will give you a way to try things out before they are finalized, and a way to provide us with feedback to make this app even better before release!
What’s new?
Our main focus was to retain all important functionality from version 5. However, we couldn’t resist adding a few new things, so here are some highlights that we wanted to point out.
MacOS native ARM support
This new version will run on an ARM-based Mac without the use of Rosetta.This has been requested for some time now, and with the new version we can finally provide it. Of course it also still runs fine on an Intel-based Mac as well!
No more “Run as administrator” on Windows
The Windows app no longer needs to be launched as Administrator to manage your WebAuthn/FIDO credentials. Due to the permissions required to manage things like your PIN and to register fingerprints on a YubiKey Bio on Windows, the old version required you to launch it as Administrator for this to work. The new version still needs these permissions, but you can elevate when needed from within the app, instead of having to restart it.
Revamped UI
Lots of little things have been redesigned to make them easier to use and more intuitive. From the YubiKey device selector, to more helpful error messages and hints for what to do next, this new interface is a joy to use!
Easier troubleshooting options
Sometimes things don’t work, especially for beta software. We’ve added a diagnostics command and more accessible logs which can greatly help with troubleshooting any issues you run into.
What’s coming?
As mentioned, we still have a lot of work to do before we’re done. Here are some of the things we’re working on bringing you in the near future:
Open sourcing
We were initially hoping to have the source code for the new app available for this announcement, but we realized we just wouldn’t make it in time. Rest assured, that it is coming! Before the General Availability release of the new app, we will have the source code published on Github, using the Apache V2 open source license. We just need to tidy up a bit before we’re ready!
Improved accessibility
We want our products to be usable by everyone, and will be focusing specifically on improving this aspect of the new app. We’re looking at things like font sizes, color contrast, screen reader support and more, to ensure the best possible experience for all our users.
Android support
We’re working on bringing this new app to Android as well. With Flutter, we can share a large portion of the codebase between the Desktop and Android platforms. This will help us more quickly bring new features to both platforms at once, reduce the overall effort required to maintain the projects, and ensure more consistency between these platforms. We’re also leveraging our YubiKey SDK for Android to provide the platform specific parts needed to interact with a YubiKey on Android. Stay tuned for more info about this release, coming soon!
Try it out for yourself
To get the new beta version, visit this download page. Please let us know what you think by providing us with your feedback, or by signing up for our usability study.