Applicant background
Nighthawk Wallet maintains the native apps for Android & iOS platforms along with bug-fixes, user support and security patches.
Since last year’s ZF funding, Nighthawk has:
- Maintained the Z-address native app for expanding the use of Shielded Transactions (based off ECC Wallet codebase)
- Provide ongoing support for end-users with bug-fixes via regular releases
- Added a proxy protected price API to fetch ZEC price without exposing the user’s balance on Android
- Setup a responsible disclosure policy and handle one incident of fixing reported issue
- Launched and maintained iOS version on App Store
With this grant, Nighthawk Wallet plans to:
- Expand the team & strengthen the underlying ECC codebase
- Ship regular updates including NU5 to end users via Nighthawk app on Android & iOS
- Improve usability via UX design & app tutorial/FAQs
Motivation and overview
Releasing native wallets on the top 2 mobile platforms makes Zcash available to the majority of smartphone owners around the world and paves the way for easier integration of ZEC usage via the Android & iOS platform APIs.
In addition to maintaining open source mobile wallets, Nighthawk Wallet team plans to contribute to upstream ECC apps & SDKs to help new developers using ECC code to benefit from the work that is funded via ZOMG. There are 50+ open issues on GitHub for iOS/Android wallets & SDKs which we plan to contribute to by working in collaboration with respective ECC developers.
Nighthawk roadmap for 2021 includes:
- Redesign the native Zcash wallet with new designs from ECC
- Add Payment URI support and Deep Links integration to improve ZEC usage on mobile
- Support NU5 release on mobile clients
- Publish Nighthawk Wallet on the F-Droid Store
- Secure cloud backup of seed words
- Document FAQs on the website & app
- Add New User tutorial
- Support language translations
Lightwalletd improvements:
9. Add in-app message to notify users of any known issues with the app or the network
10. Maintain ZEC/USD price endpoint, add several more currencies
Third-Party integrations:
11. Integrate Flexa SDK when the Flexa SDK is made available
12. Review and implement easy purchase of ZEC via cards & bank accounts
Good to have (with bandwidth)
13. Add Tor support for Android & iOS (preferably via Arti Rust based APIs)
14. Support Unified Addresses & UDAs working with ECC engineers
15. Finish the We accept Zcash project and launch it on the App Store to support businesses to accept Zcash as payment via iPads/iPhones.
Technical approach
- Collaborate with ECC developers & design
- Contribute to zcash upstream repos, review & implement new ECC designs & customize them as necessary for Nighthawk
- Pull down merged changes to Nighthawk Wallet for release on App Store, Play Store & Fdroid
- Follow up with releases with bug fixes, if required
- Follow the strict no logging/tracking policy
Design approach
- Focus on creating an easily understandable and intuitive app experience
- Conduct competitor analysis and research studies to validate UX concepts and product direction
- Implement ECC base level designs for NU5 features and updated workflows
- Perform user studies to validate design decisions
- Create new UI wireframes and update Nighthawk app
Deliverables
- Ship Nighthawk Wallet on App Store, Play Store & Fdroid Store with regular updates.
- All code & designs will be open-sourced with MIT license on GitHub.
- Updates on nighthawkwallet.com following every Milestone on Zcash Forums.
Execution risks
- Balancing priorities between upstream work & feature development.
- Delays due to unforeseen challenges during development.
- iOS feature release will follow Android features as we use Android releases for validation.
Downsides
- Regulations around cryptocurrency wallets in App Store/Play Store at a country level (China bans self-custody apps).
- HR risks and complexity in ramping up of new developers to the Zcash eco-system.
What are the milestones?
- Milestone 1: Hire experienced team, setup workflows, work on low-hanging fruits, issues & features, review updated designs.
- Milestone 2: Ramp up contributions to upstream towards NU5 release, push forward on Nighthawk feature list.
- Milestone 3: User Study & Design work begins & coding up majority of the work defined for the roadmap.
How will the work we fund support the Zcash mission—i.e. to bring financial privacy to everyone in the world?
- By shipping high quality apps with a modern design to help build confidence in financial privacy and make it more accessible to a wider audience.
What are the most important things to execute on, to get to the baseline? What about to get to the best-case?
- Help fix upstream SDK issues in ZcashLightClientKit + zcash-android-wallet-sdk and zcash-ios-wallet + zcash-android-wallet and support backward compatibility for Android with updates for Android 12.
Budget and justification
The 9 month budget funds 1 Designer & 2 Full Time Developers and several part time contributors.
- $2,000 User Research & UX Study
- $33,000 200hrs Design Consultation ($165/hr)
- $12,430 200hrs Lightwalletd Backend API Development ($62.15/hr)
- $293,800 2,000hrs Development, QA, HR ($146.9/hr includes part time & full time developers)
- $10,000 in Consulting Fees for Zcash KT/support from ECC staff
Total: $351,230 (includes all software licenses, hardware, currency conversion & taxes)