New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define user stories for mainnet #9

Open
lehnberg opened this Issue Nov 1, 2018 · 23 comments

Comments

Projects
None yet
8 participants
@lehnberg
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

This comment has been minimized.

Collaborator

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

This comment has been minimized.

tromp commented Nov 3, 2018

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

@darsmith

This comment has been minimized.

darsmith commented Nov 4, 2018

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

@sesam

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

Contributor

sesam commented Nov 6, 2018

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

@sesam

This comment has been minimized.

Contributor

sesam commented Nov 6, 2018

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

@sesam

This comment has been minimized.

Contributor

sesam commented Nov 6, 2018

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

@sesam

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

darsmith commented Nov 6, 2018

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

@phenomeus

This comment has been minimized.

phenomeus commented Nov 6, 2018

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

@phenomeus

This comment has been minimized.

phenomeus commented Nov 6, 2018

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

@jaspervdm

This comment has been minimized.

jaspervdm commented Nov 6, 2018

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

This comment has been minimized.

luijoy commented Nov 6, 2018

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

@phenomeus

This comment has been minimized.

phenomeus commented Nov 6, 2018

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

This comment has been minimized.

phenomeus commented Nov 6, 2018

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

This comment has been minimized.

Member

yeastplume commented Nov 6, 2018

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

This comment has been minimized.

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

This comment has been minimized.

phenomeus commented Nov 7, 2018

sketch, invision, open to others

@darsmith

This comment has been minimized.

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

This comment has been minimized.

Collaborator

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

This comment has been minimized.

Member

yeastplume commented Nov 12, 2018

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment