https://github.com/blocknative/dapp-usability-checklist
A dapp usability checklist
https://github.com/blocknative/dapp-usability-checklist
Last synced: 3 months ago
JSON representation
A dapp usability checklist
- Host: GitHub
- URL: https://github.com/blocknative/dapp-usability-checklist
- Owner: blocknative
- Created: 2019-02-13T04:16:23.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-04-15T17:57:56.000Z (about 7 years ago)
- Last Synced: 2025-05-07T04:38:01.085Z (12 months ago)
- Homepage:
- Size: 5.86 KB
- Stars: 13
- Watchers: 8
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dapp-usability-checklist
A dapp usability checklist
This is a checklist of usability items that dapp product teams can use as a quick reference when designing and building their products. This is not meant to be a list of requirements. Your dapp may not require certain items. This is also not an exhaustive list. Please send pull requests with contributions!
## Onboarding Support
- [ ] If you decide to not support mobile browsers, ensure you are checking for this and warning users of mobile browsers
- [ ] Warn the user when they are in an unsupported browser
- [ ] Warn the user when they do not have a wallet -- e.g. MetaMask -- installed
- [ ] Tell the user they need to unlock their wallet
- [ ] Tell the user they need to authorize their wallet (EIP-1102)
- [ ] Make sure user is on the right network
- [ ] Make sure the user has Ether
## Transaction Support
- [ ] Notify the user if there is a transaction in MetaMask's queue waiting for confirmation or rejection
- [ ] Notify the user if they reject the transaction from the MetaMask window
- [ ] Warn the user when it appears they are about to execute a duplicate transaction
- [ ] Warn on insufficient funds
## Transaction Notifications
- [ ] Notify a user when a transaction is pending
- [ ] Notify a user when a transaction has succeeded
- [ ] Notify a user when a transaction has failed
- [ ] Notify a user when a transaction is taking longer than expected
## Gas Estimation
- [ ] Give users a choice in plain english for what their gas price should be in terms of how long the transaction will take
- [ ] Warn users if their gas is set much higher than needed (i.e. helping prevent against a developer bug that adds a few zeros to the gas price by accident, for example)
- [ ] Warn users if their gas is set super low during times of high network congestion (i.e. so that future, higher nonce, transactions are not blocked)
## Error Handling
- [ ] Catch & parse MetaMask errors, and alert users what is happening in easy to understand language
## Mobile Support
- [ ] If your dapp supports mobile, make sure you don't tell people to install MetaMask
## Network Status
- [ ] Tell users the overall state of the network (e.g. red/yellow/green notificaton)
# Resources
- Ryan Angilly's slides on Dapp Usability from ETHDenver 2019: https://docs.google.com/presentation/d/1vHNpSVCDwIbdpjA-zlBvSvsCjK7uikcLvaCcz3PglqQ/edit?usp=sharing
# Contributions
Have ideas? Please send us a pull request!