End users need human readable text when asked to approve a wallet popup
@JeffreyDoyle is already working on this.
Since Apr 11, 2023.
- Dominant language
- TypeScript
- Stars
- 333
- Forks
- 136
- PR merge metrics
- No merged PRs in 30d
Description
This is a huge UX issue has been brought up a number of times in the Flow Discord, and it was suggested I raise the issue here so everyone can put their heads together. Here is the one conversation for example:
https://discord.com/channels/613813861610684416/699275726704083064/858690789081350185
In short, when users are asked to sign a transaction, there needs to be some human readable text for what the user is approving.
Currently, the actual transaction code is provided to the user in the wallet modal. The actual code is great to have, and necessary. However, this is not enough, as very few mainstream users can read Cadence code (and this is all the info FCL currently offers to the wallet maker).
So without a solution, the mainstream user will face a cryptic dialog from wallet providers, which force the users to reject or approve something. This is a huge hurdle for mainstream users who really just want the TopShop user experience, and it could drive dapp makers to make custody wallet solutions instead.
The suggestion to allow dapp makers to pass a custom text field in FCL.send was quickly thrown out due to the concern a malicious app maker would say one thing and the transaction would do another ex. "Create Collection" could actually be draining your account of tokens.
The best solutions I've heard so far revolve around template transactions that have been verified by someone "trusted" (like the wallet provider). These transactions can go in an open source repo and/or in a smart contract as a hash or the full transaction code (the wallet providers can then verify code against the transaction hashes in the contract). This also has some cons, and custom transactions would still show up as unverified/untrusted to end users (which is bad for the dapp maker).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.