swarms/ideas/319-core-wallet.md

212 lines
6.8 KiB
Markdown
Raw Normal View History

2018-12-10 11:38:08 +00:00
---
2018-12-17 09:30:01 +00:00
id: #319-wallet
2018-12-10 11:38:08 +00:00
title: Wallet Swarm
2018-12-17 09:30:48 +00:00
status: research
2018-12-10 11:38:08 +00:00
lead-contributor: Goran - Clojure
contributors:
- Nastya - QA
- Tanya - QA
- Patrick - UXR
2018-12-10 11:38:08 +00:00
- Denis - UX
- Rachel - PM
2018-12-10 11:38:08 +00:00
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`: [#status-core-wallet](https://get.status.im/chat/public/status-core-wallet)
2018-12-10 11:38:08 +00:00
- `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)
2018-12-17 09:24:11 +00:00
## Projects
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
### Wallet redesign
2018-12-17 09:24:11 +00:00
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)
2018-12-17 09:24:11 +00:00
Status: Implementation
2018-12-17 09:24:11 +00:00
#### Research & Specification
UXR already done.
2018-12-17 09:24:11 +00:00
Designs based on research already done - https://www.figma.com/file/SIeZPHvrX7KUwEBW8VQct8C5/WIP_New-send-transaction?node-id=0%3A1
2018-12-17 09:24:11 +00:00
#### Implementation
2018-12-17 09:24:11 +00:00
`(timebox 2 weeks)`
2018-12-17 09:24:11 +00:00
### Custom ERC20 Tokens
2018-12-17 09:24:11 +00:00
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)
2018-12-17 09:24:11 +00:00
Status: Specification
2018-12-17 09:24:11 +00:00
#### Research & Specification
2018-12-17 09:24:11 +00:00
UXR already done.
Designs based on research already done - https://www.figma.com/file/XUehMnhyD1FGcWzvGz6SXqvh/Mobile-wallet?node-id=160%3A3954
2018-12-17 09:24:11 +00:00
#### Implementation
2018-12-17 09:24:11 +00:00
### Functional Transaction/Transfer History
2018-12-17 09:24:11 +00:00
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)
2018-12-17 09:24:11 +00:00
Status: Research
2018-12-17 09:24:11 +00:00
#### Research
2018-12-17 09:24:11 +00:00
`(timebox 5 days)`
2018-12-17 09:24:11 +00:00
#### Specification
`(timebox 1 day)`
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
#### Implementation
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
`?`
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
### Address Validity
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
Implement EIP-55
Epic: [#6941](https://github.com/status-im/status-react/issues/6941)
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
Status: Research
2018-12-13 12:05:55 +00:00
2018-12-17 09:24:11 +00:00
#### Research
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
`(timebox 1 day)`
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
Research [EIP-55](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-55.md)
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
#### Specification
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
`(timebox 1 day)`
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
#### Implementation
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
`(timebox 1 day)`
### Ethereum Links and QRs
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
Implement EIP-681 and EIP-831 to facilitate easy and standards-compliant transfers
2018-12-10 11:38:08 +00:00
Status: Research
2018-12-17 09:24:11 +00:00
#### Research
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
`(timebox 1 day)`
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
Research [EIP-681](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-681.md) and [EIP-831](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-831.md)
2018-12-10 11:38:08 +00:00
2018-12-17 09:24:11 +00:00
#### Specification
`(timebox 1 day)`
#### Implementation
`(timebox 1 day)`
2018-12-10 11:38:08 +00:00
## 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.
### Outscoped/Postponed
2018-12-10 11:38:08 +00:00
#### 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
## Copyright
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).