Pitch: A one-liner elevator pitch version of your proposal
1 Year YWallet Maintenance and Minor Improvements
Total Request (USD):
$150000.00 USD
Have you previously received a grant from Zcash Community Grants (formerly called ZOMG) or ZF?
Yes
Please provide details:
1 Year Maintenance of YWallet covering:
Implementation of Protocol / Network Rules. Ex: ZIP 317.
Configurable Auto shielding (based on time / block distance)
Minor Improvements
User Support on Discord
Bug fixes
It does not cover major changes such as, for instance, support of a new pool, aggregation, ZSA, Shielded Swaps.
Are you seeking or have you received funding from other sources for this proposed project?
No
Applicant background:
I am the author of YWallet and the creator of Warp Sync. Previously I worked as a Senior Software Engineer at Microsoft and was the CTO of a Hedge Fund in Asia.
Description of Problem or Opportunity:
As a significant wallet provider for Zcash, YWallet needs to remain current with recent technological advancements. This proposal funds 1 year of maintenance, minor updates and user support/help.
These improvements were delivered without funding:
IMO any ZCG-funded software should be open source when possible, preferably with a license that makes as easy as possible for people to contribute and reuse. The license of Ywallet is not clear, the PKGBUILD file lists as MIT but it would be nice if it was made explicitly clear with a LICENSE file and setting the GitHub project license field.
Also, do you have a timeline for the proposed features? I think ZIP-317 support is critical and needs to be done ASAP.
(That being said, with Ywallet being a very reliable wallet, it seems a very obvious grant to approve)
The license isn’t clear because I don’t know if I can make it MIT or whether it must be BOSL.
In the PKGBUILD file, the license field is mandatory so I put the license that I would like to use.
Who knew that BOSL would make things confusing for developers?
Per BOSL exceptions added for Zcash projects and friendly forks - Electric Coin Company, since Ywallet is “a project that is designed to integrate with Zcash and provides additional functionality or utility to the Zcash network and holders of the ZEC coin” then it fits the BOSL exception and can be licensed with MIT or whatever. (I’m not a lawyer though)
I have a question regarding the developers proposed for the Grant.
I checked the Resumes for the three developers proposed. None of them show substantial experience in crypto, moreover they do not seem to have any experience shipping Mobile Apps at all, with the exception of one that has some experience in React native during Jan 2018 and 2019. One of the developers has worked from AUG 2017 - JAN 2018 at a “digital and blockchain company”
To those who don’t know React and Flutter are two different techonologies that use different programming languages. So even though that developer might know some things because has 1 year or so of experience working in a Mobile App as stated, it takes quite a while to learn another stack, and also a cryptocurrency as complicated as Zcash.
I don’t think the Resumes provide any information that helps me to conclude they will be capable of working on a Rust + Flutter Wallet that has a “PRO Zodler” kind of profile without significant full time supervision of an experience developer. I don’t doubt @hanh is, but the grant does not say anything of this and I quote
I have successfully located a team of developers who will provide ongoing support and maintenance assistance. I will help then when needed.
It is not easy to find a zcash blockchain specialist that has experience in rust and flutter. Therefore I looked for people who were eager to learn, have software dev work and who were vouched for. No doubt they need training and supervision but clearly I will not let them wreck my code. Because of this, you would get 3 devs for the price of 1 and they are paid monthly. If we are not satisfied, we can pull the plug.
I supposed it was like you just said, but the grant said something a bit different and I believe it was important to discuss it…
It’s totally fine that the developers are onboarded, get used to work with Zcash and with the Flutter + Rust Stack. As you said the important thing is that they are happy to learn the stack and that they count with solid foundations to do it which apparently they do.
It’s important that this situation is brought up, because it’s a non-trivial learning curve to learn Zcash, flutter and Rust. It will certainly affect any development process and the ability of the team to respond autonomously until they catch up with the codebase and the ecosystem.
Also, everyone being aware of this learning curve, will be fair to those fellow developers, the community will have the right expectations set, and neither them our their mentor / manager (you in this case) will be questioned if they ask for advice and someone banters about it.
PS: what’s a PRO zodler?
A PRO Zodler, to me, is a user that’s very knowledgeable of Zcash and seeks a tailor-made experience customizing every bit of its Zcash usage. I think Ywallet is the perfect wallet for the most tech-savvy and passionate Zodlers and that’s where its complexity resides.
@hanh, at the most recent meeting, the @ZcashGrants Committee voted to approve this proposal, and have requested that you provide monthly updates via the forum.
Easy yes. I hope you consider integrating with Free2Z API as an address book and supporting a nodeJS, non-flutter core lib so other non-flutter interfaces might be built with warp sync (eg react-native). But, even without these concessions it’s an obvious yes.
More developer documentation so that other wallet interfaces could use the core APIs more easily would be huge. Even just a nice “getting started” for developers to contribute or make their own forks qould be awesome. Maybe ask for an extra 50-75k for this purpose? Warp sync should be disseminated more widely IMO. I’d love to skin my own ywallet with my own UI libraries …
Thank you @ZcashGrants for the vote of confidence and thanks to everyone who supported this grant. We are looking forward to providing monthly updates.
Completely agree on seeing some samples. cc @geffen
Love that you are open to the idea of collaborating. Would be great to see if we can get @skyl to also implement some of the design patterns to create some cohesiveness amongst the ecosystem (web/mobile/desktop).
Got it. I’m not trying to lobby you on the proposal, I just am curious if you’d be open for some semblance of consistency within common design patterns (doesn’t even have to be from that grant), as I think you have a well-built wallet that has some influence behind it.
I hear you @hanh - let me know what info I can fill out? We are in a catch-22 or at least a horse with no cart situation with designs before funding - but that doesn’t mean we can’t drill down into requirements from your POV.