Trinity wallet update – 3rd August
Apologies for the recent radio silence. It would be worth giving a follow-up to the Summer update post to keep everyone informed on where we stand with regards to Trinity Desktop beta, and each of the remaining tasks for Trinity Mobile full release (see https://blog.iota.org/trinity-wallet-summer-update-6e9514293268).
Desktop beta preparations are in their final stages. As you know, around 500 alpha testers have been rigorously testing the wallet to ensure it is ready for public use. Recent efforts have been spent on ironing out any remaining bugs, preparing the deployment environment (e.g. code signing, continuous integration etc) and final UI refinement. We have also been working on improving PoW speed with native implementations, and have chosen to migrate password hashing from SHA256 to Argon2 across both mobile and desktop.
The project’s design process has been very organic, with incremental design improvements throughout both desktop and mobile. To help streamline this process we have devised a live theme synchronisation tool (using Figma) that will allow our designer to generate and submit Pull Requests without writing any code. We planning to extend the tool beyond theming in the future. With this tool, we intend to allow community members to submit new theme ideas for Trinity (perhaps run a small competition). With the release of desktop beta, we also plan to open source the Trinity repo on Github. Accordingly, a fair amount of time has been spent on preparing the repo for public use. Preparations have involved the less glamorous tasks of code documentation, major refactoring of old code, removing dead code, outlining PR guidelines and planning release schedules.
As mentioned in the Summer update, there were four key features we deemed necessary for full mobile release: node quorum, two seed back-up options (SeedVault and Encrypted QR) and password strength requirements. Password strength requirements were added with the release of v0.4.0. We have refined node quorum and are in the final testing stage before releasing it to the alpha group. We often deploy significant updates first to this closed group, prior to the making them publicly available in beta. Covering all of Android and iOS devices means we cannot know the stability of major changes across all devices, so the alpha group provides an invaluable testing bed for that purpose. SeedVault export and import are currently in progress. React Native provides a great ecosystem of community libraries, but also allows you to use native code/libs where needed. There’s often a need to use C/Obj C/Swift/Java libraries, which usually requires writing native bindings, bridging code and native functions.