Zcash UX Feedback

Dear Zcash Community,

First of all I want to underline that I respect all involved in the mentions I make in this blog post. This post is meant purely as a honest feedback which might come across as frustrated, which I was when interacting with the zcash wallets.

So I decided to start this forum post after participating with the Zcash Halo NFT event. While I was excited to be able to participate and hopefully get my hands on some cool NFT’s it became clear immediately that UX is not optimal. Specifically, I am talking about relatively poor experience with Zcash Wallets ( Lite, Nighthawk and Edge).

Litewallet: We are all aware of the temporary disruption with the lite wallet which blocked users from executing a transaction. Others, including me, also experienced that the lite wallet in some instances does NOT show whether a specific transaction has been executed.

Nighthawk: When I was blocked from my transferable funds on the litewallet I quickly downloaded nighthawk. The first thing that struck me was how slow it is to get ready to transact and that it does not provide appropriate feedback, it just remains stuck on the yellow zebra loading page, when sending on all occations I tried(4 times for different reasons). Another curious thing was that nighthawk showed that I still have funds in my wallet however this would not be the case, tried this 2 times with similar effect. And what was the most frustrating was that the nighthawk wallet stopped working on a few occations when I was interacting with it.

Edge: The edgewallet seems to be more of a closed environment that already forces some decisions on the user like having an btc, eth and bch wallets without the possibility to remove these wallets. It did not come across to me as a privacy first and self sovereignty promoting wallet IMO.

Thank you for reading.

  • Layman
11 Likes

Thanks for the feedback, I believe this could be helpful for the wallet developers. I can confirm that I had some of the experience you mentioned first hand. There’s also another aspect for users new to Zcash, using shielded ZEC, you need to wait for the wallet to sync. This can take minutes if not hours in some cases (e.g. due to long interval from the last sync, slow internet connection, or maybe spikes in the number of Zcash shielded transfers). This is a different experience from those used to transparent chain like Bitcoin and Ethereum, which typically takes seconds for users to sync their wallets.

I’m not sure how to communicate this with people and none of the wallet explains this to new users.

7 Likes

Which is not OK if ZEC is meant to go mainstream IMO. Zcash has been long in the market it ought to have better UX, at least that is what new people like myself think, at least the wallets should do the simple perfect: show the right balance and transactions and work uninterupted.

I think its good that ECC will focus more explicitly on world class UX for ZEC as they have mentioned before.

7 Likes

If you leave NH open or at least open it once a day then the ‘scan’ doesnt take too long. NH development is current, last ZWL update was Nov of last year but I just sent a test tx from it yesterday and no problem for me.

3 Likes

Thanks for your posting your experience. As for Nighthawk, we are working towards re-designing the app & improving user messaging. I’m also advocating the reduction of block times for confirmation from 10 to 1 for faster UX on mobile.

NOTE: The last 2 days(and the launch of NFT) have coincided with the halt of the last Zcash node version(this weekend) and mandatory upgrade to NU5 compatible servers and this did cause a lot of new users to run into issues while using Zcash light wallets.

3 Likes

Perhaps you should check out Ywallet from @hanh. You will be surprised how fast and great the UX is. It has many interesting features. Its not officially recommended by ECC or ZF. No one knows why…

Zwallet development has stopped. Only Ywallet will continue to get updates

1 Like

I’m speaking for myself and I have not discussed this with anyone else at ECC. I might be missing a lot of things. This is just a humble dev feeling for its’ users’ concerns on a Sunday morning/noon.

Dear @LaymanFrankz, thank you for your detailed feedback.

I being part of the Wallet Team at ECC had the same (frustrating) experience these last few days. Even expert users can’t escape the friction and we are aware of it. I’m not saying this to excuse myself or any other developer, just to paint the situation and to make your sentiment mine for a bit, if you let me. :pray:

The Wallet and the Core team are working hard to bring a “world class” user experience to ZEC. Zcash is currently the most advanced Anonymity Enhancing Cryptocurrency there is. We just deployed 5.0.0 which will make trusted setups for ZK-proofs a thing of the past. That alone makes Zcash a Humankind knowledge advancing project which is something that only a few projects (like Bitcoin or Ethereum) can be proud of. But those title and honors that Zcash has don’t come without their drawbacks.

Blockchain technology is hard. Privacy is hard. Combining both is a path full of hurdles that public ledger coins or Surveillance Enhancing Coins, as I like to call them, can avoid by technically cutting corners by ditching privacy completely and also reaching the centralization shortcut when needed.

Other blockchain tech stacks don’t need to decrypt the blockchain locally and neither care about keeping themselves decentralized. So they achieve “better UX” by delegating the hard work to public or (even worse) corporate controlled servers that process users’ information for them and spoon feed the wallets with the transactions of interest at the expense of every bit of privacy that could remain left for users.

Your Foxy ERC-20 compliant or the Phantasmagoric non-fungible token driven browser wallets, don’t need to carry the burden of protecting your privacy, decrypting your own blocks and cypher text memos of interest, and therefore, they can focus on winning “the beauty contest” and they do it with great honors giving us many good lessons and we celebrate them existing. They are great products for transacting in the open. Or as Ian Miers would say, “being twitter for your bank account”.

Zcash Shielded Wallets are zealots of your privacy. They are stubborn and won’t budge. They will never hand over your viewing keys to trusted servers nor compromise your blockchain anonymity by relying on simpler concealing mechanism to make the technological challenge less difficult.

That being said, what are we doing to improve?

Please consider that I’m a “library mouse” kind of developer, I’m not 100% up to speed on every campaign and Zcash initiative. I’m going to talk about what we have in our engineering backlog. There are much greater minds in the Zcash ecosystem that will surely paint a better short-mid-long term horizon than your fellow iOS developer here.

1. What does HALO 2 mean for wallets?

If you struggled with your math courses like I did when in college, what you will appreciate is that no more trusted setup means than Orchard Only wallets won’t need to download sapling parameters. That’s ~50MB less of downloads per user. Also circuit changes become much less expensive and the great minds of this world, that fortunately happen to work on Zcash, won’t have to be constraint by having to make “ceremonies” anymore, only they know what great things will come out from their incredible brains, hearts and souls. I don’t doubt there’s a lot to come that was until yesterday inimaginable.

  1. Unified Addresses:

this is an All-new decentralized paradigm of handling wallet addresses. They were born as a “crazy utopia” question by combining “Google Design Sprint” methodology and John Lennon’s Imagine philosophy: “Imagine there’s no Addresses” ta-da-da-tan :notes: . It was one of those moments were everyone remembers where they were when it happened.

New shielded pools, and other unthinkable things will arise from our ecosystem being free from the trusted setup corset. Unified Addresses are meant to make those things invisible to the users. Because our technological heroic achievements are uninteresting to end-users. They have enough problems on their daily lives to care about us, software engineers and scientists. We build Zcash for them, not for ourselves.

3. Shielded by Default

ECC Reference Wallet, Nighthawk, ZecWallet and Zwallet all have their version of what we call “Autoshiedling” which is making transparent funds shielded in a consensual but automatic way. Notice that I didn’t mention Edge or Unstoppable. That’s because this is done at a wallet level. The wallet team is going to introduce “shielded by default” which will bring “autoshielding” to every wallet using the Zcash mobile SDKs. Wallet Developers will have that tool at their disposal the moment they drop in the SDK on their projects.

4. Improving sync times

Yesterday, I drained the battery of my iPhone in just two hours by syncing my long-lived development wallet to test the problems we’ve seen the last few days, and it was not even done!. We are aware of it and don’t deny it’s a great problem, but it’s not the only thing we have on our plate. Our leadership decided that a more advanced, more scalable, more private, more secure Zcash is better that a Zcash that it’s only faster. This boils down to us aiming to HALO2, Orchard and Unified Addresses.

I respect and accompanied that decision even at the expense of my own personal developer experience. If there’s someone that has bored to death by looking at progress bars, be sure that it is the wallet team.

I must admit that all of the Zcash wallet developers have failed to collaborate with each other and bringing better sync times to everyone. We have Blaze Sync, and Warp Sync. None of those were contributed back to the Zcash Rust Crates. I’m not blaming anyone. It just didn’t happen. we all failed our users. Blaze and Warp sync are both incredible breakthroughs. They prove that there’s a better world out there, that a faster Zcash is possible.

Again. this discussion on collaboration dynamics has been roaming for a while in the forums. My personal opinion is that We ALL need to bring back the positive feedback loop to the Zcash Ecosystem. We won’t be the project humanity needs if we don’t achieve this.

5. WHEN DECENT UX
I hope the answer is SOON. We are starting to work on “library support” for NU5. That is bringing the mobile SDKs to NU5 without any other change. This is part of being gradual and friendly with our partners by avoiding a Big Bang kind of software release.

The wallet and core teams are working together to enhance the engine of our applications which is. librustzcash and then connecting that to the native programming environments on Android and iOS which is not an easy thing and also a sort of unexplored territory. It’s not the most frequent thing to do for mobile devs.

It’s not a coincidence that Hanh from Zwallet and Aditya from ZecWallet are brilliant software professionals and have achieved their own great Syncing algorithms for their own wallets. We at ECC are aiming to bring that for EVERY wallet that adopts shielded Zcash. So it’s going to take a bit. Fortunately we are standing on the shoulders of giants like these two engineers, so we have been proven that our vanilla sync can be improved by several orders of magnitude in a tailor-made software stack like ZecWallet and Zwallet. Now we have the challenge to make that possible on EVERY software stack.

Also we are developing new Wallets. That “not even in alpha yet” code can be found at the secant-android-wallet and secant-ios-wallet repos on Zcash’s github. Our UX Research team is condensing now years of experimenting with different user dynamics into brand new wallets that make the complicated parts of Zcash simpler. We are building these in the open from day one. You can see the whole process in the commit history.

Well. this ended up being longer than I thought. I guess that’s why I try to keep myself off forums. :joy:

Sorry for the wall of text.

I hope we can all see, meet and celebrate each other at Zcon3. I’ll be the guy with the Mate.

Loud and huge Latin-American-style hugs to everyone,

Pacu.

20 Likes

(ZWL was supposed to mean Zecwallet lite and not Zwallet, sry for confusion)

2 Likes

It gets easier, there is no more Zwallet.

It’s now just YWallet (which also does ZEC).

I don’t know what the status is with NU5 support, will update when I find out.

5 Likes

Thank you for the behind-the-scenes update, it’s nice to know that at ECC you are also aware of the issues with the wallets and that you are working hard to improve UX. I went through some issues during the NFT whitelisting (syncing, memo not being sent at all or not read correctly, etc.). As an end user I can only imagine the complexity behind this, but it looks like you have the right mindset and collaboration spirit to do a great job.
If you might ever need some dumb end user testing feel free to DM me :upside_down_face: , I have both Android and iOS phones and both of them have Zecwallet Lite and Nighthawk installed.

6 Likes

Thank you for all this info!

I didn’t realize the ECC had a wallet team. Are you working on a desktop GUI wallet as well? With the end of zecwallet and zecwalle lite, there is no desktop GUI wallet anymore, only the full node command line option zcashd. And it is a shame that we have such a major release coming on the 31st, and there will be such a barrier to adoption for most people since there is no GUI wallet for desktop.

@zancas has mentioned he and others are working on a desktop GUI wallet based off zecwallet, but I am curious what the ECC wallet team is planning?

2 Likes

Ywallet is a great Zcash (and Ycash) light wallet, it works on mobile and desktop.

https://ywallet.app/installation/

2 Likes

For new users: Ycash is a fork of Zcash. If you want to use Ywallet for Zcash, make sure you choose “Zcash” during account creation since Ywallet set Ycash as default.

3 Likes

Also, to further clarify as I found this confusing! The Zwallet app has now been sunset and will not receive further updates, Ywallet is the app to use going forward.

I believe one of the reasons for this is that the Zwallet name was taken in the Apple store, so the Zcash version of the app there was called WarpWallet or something, then there was Zwallet on Android, plus Ywallet supporting Ycash on both platforms.

I may be mixing up the specifics, but in summary, it’s much easier to support one app on multiple platforms, and that app (Ywallet) supports both Zcash and Ycash.

There’s a desktop version at Ywallet.app

There are so many changes with NU5 that it’ll prob stop working like all the other wallets, we find out on Friday.

2 Likes

The V4 tx format (Sprout) will still be valid along with V5 but yeah we’ll see, not long now…

@covfefe Exactly. Moreover, ZWallet and Warpwallet have been removed from their respective stores and current users will not receive updates. They should switch to Ywallet which has several improvements (message center, etc).

@ChileBob Indeed, there are desktop versions of Ywallet for Windows/Linux and MacOS. We added the MacOS native build for Apple Silicon a few days ago. That is probably the fastest version, thanks to their M1 chips.

YWallet is compatible with NU-5 but does not support Orchard or UA. It parses and emits tx v5, but it also depends on the upstream servers.

@Autotunafish v4 txs are fine but I think you can receive t and z v5 txs too.

7 Likes

Hi folks a few of us (github nyms are obvious) are hacking away on the zecwallet-lite desktop app that we forked from @adityapk00 .

If anyone runs the dev version, and has opinions about their experience…

We’re interested, these issues are a reasonable place for specific technical feedback:

Details:
We are focused on this repository now because we’ve significantly changed this codebase:

(Derived from @adityapk00 .) and zecwallet-lite provides us with the simplest, most distributable, end-user app for testing our changes.

7 Likes

The readme mentions compatibility with the sapling pool, are there plans for adding the orchard pool as well? Thanks!

2 Likes

Yes, we intend to add support for Orchard.

5 Likes