As you might already know, we are working on having the Keycard app work on the Ledger. This will make the Ledger compatible with the Keycard API, allowing Keycard-compatible clients, like Status to also work with the Ledger hardware.
Awesome, good work! This totally makes sense as it’s explicit in Status Principals:
VIII. Inclusivity
We believe in fair and widespread access to our software, with an emphasis on ease-of-use. This also extends to social inclusivity, permissionless participation, interoperability, and investing in educational efforts.
This means that Keycard Client should also support other key storing and transaction signing devices, not limiting it to Keycard and Ledger.
How easy to extend is this? Would be easy to anyone make it support? There is plans for allowing the key manufacturer to build plugins to this client?
We have taken the opposite technological approach. This means the client supports the Keycard API, but the Keycard API can be implemented on any device so that it works with the Status client. The API is not only open but is also well documented. What I am working on now is implementing this API on the Ledger (the Ledger supports loading of 3rd-party apps written in C).
Additionally, I am extending the API to be more useful on devices which do not allow the client to alter the key storage (so it is handled internally) and those with a user interface (screen buttons). We think that a well-defined API can bring better interoperability in the ecosystem making it easier to develop both hardware wallets and clients supporting them.
And yes, I am aware of https://xkcd.com/927/, but at this stage we might have luck since we are the only project documenting their API and protocols formally and in details.