Skip to content
This repository has been archived by the owner on Feb 6, 2019. It is now read-only.

Define user stories for mainnet #9

Open
lehnberg opened this issue Nov 1, 2018 · 24 comments
Open

Define user stories for mainnet #9

lehnberg opened this issue Nov 1, 2018 · 24 comments

Comments

@lehnberg
Copy link
Collaborator

lehnberg commented Nov 1, 2018

Motivation

As we get ready for main net, there's a need to finalise a baseline flow and design for the wallet user interface. These will be dictated by the core use cases that the wallet is expected to handle. We define the user stories to guide a future brief to designers.

User stories

# A wants to so they can
1 User build file-based transactions transact with others
2 User use different wallets from the same client handle multiple sources of funds
...
@lehnberg
Copy link
Collaborator Author

lehnberg commented Nov 1, 2018

Ping @ignopeverell @yeastplume @hashmap @quentinlesceller @gavinmcdermott @jaspervdm @tromp @garyyu and any others - put in suggestions in the comments and I'll update.

@tromp
Copy link

tromp commented Nov 3, 2018

A User wants to review previous transactions, so they can check details of an earlier payment.

@darsmith
Copy link

darsmith commented Nov 4, 2018

A User wants to label transactions, so they can categorise and annotate payments.

@sesam
Copy link
Contributor

sesam commented Nov 6, 2018

a User wants to
create a proof of tx ownership,
so they can do their taxes/warranty claims

@sesam
Copy link
Contributor

sesam commented Nov 6, 2018

a User wants to
see the sum of currently spendable + still maturing grins
so they can know how much they can spend and when

@sesam
Copy link
Contributor

sesam commented Nov 6, 2018

a User wants to
backup their wallet
so they can protect their funds from loss

@sesam
Copy link
Contributor

sesam commented Nov 6, 2018

a User wants to
verify a wallet backup
so they can be sure the backup is correct

@sesam
Copy link
Contributor

sesam commented Nov 6, 2018

a User wants to
restore a wallet backup
so they can migrate their wallet to another device

@sesam
Copy link
Contributor

sesam commented Nov 6, 2018

a User wants to
only temporarily unlock a wallet with a passphrase
to be sure funds are not quick and easy to steal by someone borrowing their logged in computer/device

@sesam
Copy link
Contributor

sesam commented Nov 6, 2018

a User wants to
hide the existence of currently closed/locked wallets
to protect their privacy and safety

@darsmith
Copy link

darsmith commented Nov 6, 2018

A User wants to enable 2FA, so they can increase their wallet security.

@phenomeus
Copy link

A user wants to keep a history of recent contacts, that the user transfered money to.

@phenomeus
Copy link

A user wants to have a quick solution to convert other coins to grin, like depositing and convert something to work with.

@jaspervdm
Copy link

A user wants to have a quick solution to convert other coins to grin, like depositing and convert something to work with.

I think this is outside the scope of the wallet

@luijoy
Copy link

luijoy commented Nov 6, 2018

a User wants to
create a contact
so they can easily send Grin to specific contact

@phenomeus
Copy link

A user wants to have a quick solution to convert other coins to grin, like depositing and convert something to work with.

I think this is outside the scope of the wallet

Maybe, but wouldn’t it be cool to have something like that in the future? Deposit any kind of money/ crypto and auto convert it instantly to grin to use it immediately

@phenomeus
Copy link

A user wants to
track the confirmations for the last/ all active transfers
so they can be sure when the transfer arrived at the destination.

@yeastplume
Copy link
Member

Remember everyone that a wallet contains multiple accounts now, so you may want to mine into one account, receive transactions on another, transfer funds between accounts, view a summary of all accounts in the wallet, etc

@darsmith
Copy link

darsmith commented Nov 6, 2018

Also, for moving forward and collaborating, what tools is everybody using for user flows, wireframing, prototyping, version control and handoff?

@phenomeus
Copy link

sketch, invision, open to others

@darsmith
Copy link

darsmith commented Nov 7, 2018

sketch, invision, open to others

Same, along with Framer for higher fidelity prototypes. @lehnberg We'll need a GrinVision account setup for UX / UI guys to collaborate and upload prototypes / assets.

@lehnberg
Copy link
Collaborator Author

lehnberg commented Nov 7, 2018

FYI @phenomeus @darsmith I've created a separate issue to track and discuss UX and design tools (mimblewimble/grin-pm#13), and we can focus on the user stories here.

Will update the ticket description soon btw, just having a busy week. Meanwhile, please keep suggestions coming, with focus put on the existing functionality of CLI wallet as well as what we need for mainnet MVP.

@yeastplume
Copy link
Member

My notes now for the kinds of features I think we need in a web application:

Show prominently:

  • Wallet summary info
  • current block height
  • Option to Refresh all data from node

Wallet account management:

  • Show/Select from list of accounts
  • Show detail on particular account (is there a concept of ‘active account’?
  • Display accounts + paths
  • Create new accounts / Manage accounts

Wallet management:

  • Show summary info for all accounts
  • Show summary info detail for a particular account
  • Show recent transactions for account
  • Show outputs for account + output detail (advanced)
  • Outstanding transactions (that haven’t been finalised)

Sending, Receiving… (perhaps one transaction wizard)

  • ‘Send wizard’
    Defaults to file
    Creates file, saves to desktop (or emails somewhere?)
    Displays outputs that have been locked (link to tx that was created)
    Or tries the direct Https connection
  • ‘Receive wizard’
    Import file, finalise transaction, save back to desktop for giving to sender to finalise
    Link to created transaction
  • ‘Finalise Wizard’
    Finalise and store transaction
    then post to chain
  • ‘Cancel Transaction Wizard’
    For careful and thoughtful unlocking of outputs associated with transactions that the user believes aren’t going to ever hit the chain.

Error management:

  • Active node not in place
  • Can’t reach wallet
  • ‘Normal’ Wallet errors (not enough funds, etc) propagated into client.

@supersourgrape
Copy link

supersourgrape commented Nov 13, 2018

Adding a few ideas:

A user wants to
see time to confirmation
so they know the progress on a transaction

A user wants to
create a wallet with one click
so they can easily start transacting

As a general thought, I think it's important to make the wallet ux feel similar to other existing payment transfer systems (e.g. venmo) so that the user barrier is as low as possible and it's not intimidating for users new to crypto.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants