From b63467ab79db3d5c3097b160ef77a77965db95d8 Mon Sep 17 00:00:00 2001 From: Chad Date: Mon, 10 Dec 2018 12:38:08 +0100 Subject: [PATCH] wallet swarm proposal --- ideas/311-wallet.md | 157 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 ideas/311-wallet.md diff --git a/ideas/311-wallet.md b/ideas/311-wallet.md new file mode 100644 index 0000000..7ea7cfa --- /dev/null +++ b/ideas/311-wallet.md @@ -0,0 +1,157 @@ +--- +id: #311-wallet +title: Wallet Swarm +status: implementation +lead-contributor: Goran - Clojure +contributors: +- Bruce - Clojure +- Nastya - QA +- Tanya - QA +- Patrick - UXR +- Philip - UXR +- Denis - UX +- Chad - PM +budget: +- actual: xxx +- estimate: yyy +- currency: ETH/USD/SNT +--- + +# Wallet Swarm + +## Summary and Goal(s) + +The Wallet swarm focuses on the Wallet tab within Status, and related transaction actions throughout the app, such as in Chat with `/send ETH 0.5`. + +### Problem + +> What problem are you solving? Who are you solving this for? + +Status Wallet facilitates ethereum usage and transactions, but does not offer a compelling reason for users to download and open the app. Our research ([July ‘18](https://docs.google.com/presentation/d/1eJP-Hh4tN6XZREIy73GNuJP1LqGg41EvP5QpVlFZQ78/edit#slide=id.g3e1b33ca7e_2_36), [June '14](https://docs.google.com/presentation/d/11vEgAbZgXvCwiS2QdMmW3vjOBApx5y8ARXNbFLyJBuk/edit#slide=id.g3beee3ddf4_0_0)) has shown there are two main problems that prevent wallet usage: + +- Usability issues that prevent simple transaction and erode trust + - Usability issues of our wallet specifically (e.g. how much am I sending, what is the value in fiat when sending via wallet and via chat) + - Usability issues of Ethereum itself (e.g. what does it mean 5 confirmations, was it sent or now? what is gas?) + +- Lack of killer features that drive adoption + - Lack of a goal-driven interaction flow. E.g. buy SNT/Cryptokitty + - For non crypto users; a lack of introduction or guidance. “I'll look into that later because I don't know what I'm doing.” E.g. what would a gentle transition from a DApp to wallet look like. + +### Why + +> Will solving this problem advance the goals of Status and adhere to its principles? + +Status aims to be a gateway to ethereum, and wallet and transactions are at the core of this ambition. Many aspects of the Status vision including the whitepaper depend on a functioning wallet that is secure, private, and easy to use, therefore it is important that Wallet creates a core foundation of usability and delight through best-in-class UI and compelling features. + +Furthermore, the central Wallet feature - transaction signing - is essential for dapp usage within Status , and vice versa. + +Solving usability bottlenecks and introducing killer features that give users a reason to open Status will ensure that Status drives adoption and will unblock more advanced use cases outlined in the whitepaper and beyond. + +### Success Criteria + +> How will we know when this problem has been addressed? What are qual and quant metrics that will help evaluate? + +Success for wallet is having the best mobile user experience for transactions, is super easy to use, offers compelling features, and is the best way to easily get tokens. A fun onboarding experience is essential to give new users something to do and people to connect with. + +- 80%+ of UXR subjects report a positive experience when transacting +- 5+ organic reports of users using Status for transactions (eg tweets, sightings, etc) +- 3+ way for users to acquire tokens + + +## Communication + +- `status channel`: [#311-wallet](https://get.status.im/chat/public/311-wallet) +- `sync frequency`: Weekly Sync +- Github: + - Project boards + - [Wallet epic project board](https://github.com/orgs/status-im/projects/48) + - [Maintenance project board](https://github.com/orgs/status-im/projects/24) + - Label: [wallet](https://github.com/status-im/status-react/labels/wallet) + + +## Implementation + +Projects that have a clear exit criteria, with a few iterations, after which the task is considered completed (e.g. wallet redesign, implementation of eip-5, ec.) + +### Usability + +#### Wallet redesign + +Fix usability issues and create meaningful improvements with regard to interaction patterns, feedback, labeling and copy of the current flows. +Epic: [#6921](https://github.com/status-im/status-react/issues/6921) + +Status: Implementation + +#### Custom ERC20 Tokens + +Let users control their own wallet and add any erc20 token they possess. Currently Status only supports a limited fixed list which is manually maintained by core contributors. +Epic: [#6939](https://github.com/status-im/status-react/issues/6939) + +Status: Research + +#### Functional Transaction/Transfer History + +Status depends on Etherscan API to display ethereum transactions and it depends on Infura to display ERC-20 token transfers. +Epic: [#6940](https://github.com/status-im/status-react/issues/6940) + +Status: Research + +#### Address Validity + +Implement EIP-55 +Epic: [#6941](https://github.com/status-im/status-react/issues/6941) + +Status: Research + +#### Ethereum Links and QRs + +Implement EIP-681 and EIP-831 to facilitate easy and standards-compliant transfers +Status: Research + +### Adoption + +#### Desktop + +Bring wallet to more platforms which can lead to more adoption. Wallet will have feature parity on mobile and desktop. + +Epic: [#6297](https://github.com/status-im/status-react/issues/6297) + +Status: Design + +#### Get Tokens + +Help users get tokens by means of credit, teller network, and exchange. + +Status: Research + +#### Point of Sale + +Create a proof of concept that would help merchants use Status to transact. + +Status: Research + +#### Native Token Swaps +Make it easy for users to swap tokens natively in chat + +Status: Research + +## Maintenance + +This effort is continuous and doesn't have any end date or exit criteria (internal security reviews, bugfixing, refactoring, bounties, community engagement). + +### Security + +Security champions, reviews. + +### Bugfixing and refactoring + +Standing rule to prioritize critical bugs above any other work until resolved. After the critical fix, there should be a follow up to determine how can the same type of bug be prevented from reoccurring in the future. The action taken could be a refactor, a new kind of automated/manual test case or both. + +### Community engagement + +Communication activities in primarily in relation to implementation of relevant standard proposals and to community involvement in general. + + +## Copyright + +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). \ No newline at end of file