Skip to content
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

User experience notes #48

Open
pinheadmz opened this issue Dec 31, 2018 · 9 comments
Open

User experience notes #48

pinheadmz opened this issue Dec 31, 2018 · 9 comments

Comments

@pinheadmz
Copy link
Member

Suggestions for UI layout

User Interface

  • Welcome message: After seeing Buck's comment on Simplify layout and UX flow #47 now I see that the message is intended to be more of a disclaimer, so maybe its best if it does just pop up once (modal?) on the first install

  • Create a new wallet: where is the mnemonic seed?

  • TX list: tx amount shows total bitcoins moved (input value) not the amount actually received by the user (i.e. spending from coinbase, tx amount is 50)

  • wallet / account balance only displays confirmed transactions, would be helpful to see unconfirmed for instant gratification even if its 0-conf.

Banging on bwallet, I encountered a lot of errors that don't get shown to the user:

Feature requests

  • When using hardware, user should be redirected to https://localhost:5001 and check ssl

  • Multisig wallet without hardware (arbitrary xpub, or locally hosted?)

nits

  • not super stoked about lower case "btc" but that comes from actual bcoin pkg

  • TX list: wallet and account aren't really needed in the table (because the tx list is already "inside" a selected wallet/account view) but that comes from bpanel-ui "tx list" component

errors I'm getting that my be my own fault (bad config?)...

  • Your wallet undefined of undefined test2 will be initialized after all participants have joined ... undefined?

  • new wallet not appearing in sidebar right away (must nav away and back to bwallet to see it)

  • switching clients doesn't show correct wallets (either shows wallets for previous client or none at all). I'm testing bpanel/bwallet with simnet full, simnet SPV, and bcash regtest and switching clients.

@bucko13
Copy link
Contributor

bucko13 commented Jan 4, 2019

Notes from 01/04/19 Call

  • Currently you have to go through a lot of steps to send between wallets. Might be good to have Send and Receive consolidated in one tab
  • Would it be nice to have an explicit way to send between wallets you control? An address book? A dedicated tab?
  • Tab menu - unclear what “current tab” is. Darker (non-transparent) tab looks like it is the selected one but it’s not
  • If moving Send/Receive to the wallet/account page, where does this go? Show/Hide with buttons? Will need to reorganize the information here
  • bWallet settings tab for advanced mode on/off. Rest of plugin can just check from redux store.
  • Should have a clear way to deal with (i.e. save) cosigner token (download a txt).
  • After multi-party creation it should also indicate very clearly that this is important.
  • Cosigner token would be nice to store in local storage (less of a priority than download of txt)
  • Rescan button/form (maybe part of widgetized overview page)

@pinheadmz
Copy link
Member Author

One more nit maybe?
Should we indicate if a wallet is segwit or legacy in this graphic as well?
screen shot 2019-01-08 at 4 36 18 pm

@bucko13
Copy link
Contributor

bucko13 commented Jan 11, 2019

Some Initial thoughts

Did a walk through of normal wallet operations. Ran into some issues with making multiparty so will have to wait for further comments on that. Some of the below is just making note of errors that are coming up, other parts are just kind of a scratchpad of thoughts that I had when using the wallet and comparing to other similar services.

Errors and Misc.

  • bWallet fails currently if unable to connect to a client or a node does not have any wallets (for some reason this can happen after a wallet node is first initialized)
    • Might be good to check the health status and show a message or popup if cannot connect
  • Duplicate names or ids error message in console when switching to a different node. Probably just not clearing the sidebar properly?
  • Switching between nodes is breaking:
    • Go from a node with multiple wallets to one with just one, the list refreshes with the multiple wallet list
  • There should a consistent header for when you’re in the bWallet app
  • Hardware wallet (and maybe all multisig and maybe even all wallet?) functionality should be disabled if not on https

Send/Receive

  • My initial thought was that we should definitely have “Receive” information when on the wallet view itself. But looking at other apps, this is not actually that common. The way we have it (with some tweaks maybe) is the more common approach.
  • I like having easy access to the Send/Receive and Create New from the sidebar
    • I might only care about “Create New” because I’m developing
    • Send/Receive- This doesn’t seem unreasonable to have easy access to as it’s pretty common. But it also feels like it would be better to have more direct access to these functions from within the wallet itself
    • Maybe we could do more to differentiate these two buttons rather than get rid of them altogether?

Create New

  • I like the steps that the “Create Wallet” flow takes you through. Easy to navigate, gives me a good idea of “where” I am, pretty descriptive of what the available options are.
  • “Multisig” should be disabled if not enabled on the server

Thoughts from Ledger Live

  • Just an observation, what Ledger Live does is kind of clever. They’ve done away with the hierarchy altogether. Everything is just an account (and accounts between different currencies are mixed together). They have a “Portfolio” page which is like our “Overview” page, including an Add New button (this is also possible from their sidebar).
    • Noted that this does not totally apply for us since at enterprise levels we still need the distinction between wallet and account and to support a large number of accounts
    • They also have something similar to what we have now - Send/Receive accessible from the sidebar and within the wallet itself.

“Create Standard Wallet”

  • “Node Managed” sounds confusing.
  • Should have a title for the page
  • There should be some acknowledgement of when the wallet was created and should be loaded into the sidebar (the whole plugin had to be reloaded for this to be populated

Wallet Info page

  • Empty wallets should have a “No transactions” message instead of the table
  • We should introduce some more clear styling around the Wallet’s info page to highlight the distinction between the top level wallet and the lower level account(s)
    • feels like the drop down should maybe be under where the wallet information is. Changing the dropdown should update a header that includes the accounts name.
  • Any reason why the extended public key is hidden?
    • I wonder if it’s confusing to show that when we’re not even showing a receive address.
  • Stats should be more stylized if possible. most important information that people will want to see is the Balance, that should be highlighted somehow.
  • There was no error presented when I tried to add an account with the wallet passphrase missing (did appear in the console, should be an alert or a notification).
  • Same thing when wrong pw was entered

@pinheadmz
Copy link
Member Author

Mark and I jammed on the whiteboard on Friday, here's the sketch we came up with. This view would be where multisig participants choose the keys they use to JOIN and APPROVE (sign) within the wallet.

On the left side you select a SEED SOURCE from a dropdown (hardware, xpub, mnemonic, bcoin node) which expands appropriate details below (dropdown with hardware types, text field for manual xpub paste, wallet/acct dropdowns for existing bcoin wallet or "create new" pops up a modal)

The right side is where you pick the derivation path. The default is there already but allows advanced users to adjust everything about it, not just the account number. Below that text field is a table that attempts to decode the path. and check certain parameters for sanity.

screen shot 2019-01-14 at 1 01 52 pm

@tynes
Copy link
Collaborator

tynes commented Jan 15, 2019

  • Proposal ID should just be an auto-generated uuid internally instead of user defined
  • Add an optional 'memo' fields to describe what it is for, up to 120 chars or perhaps smaller
  • Rate (Statoshis) for proposal/send views should be a drop-down with "Priority" or "Speed" with some default selection, or "Custom" to hard set
  • Custom rate should specify Satoshi/KB or Sat/B
  • bmultisig 'cosigner token' could be saved client side? This way after a user joins a wallet, their client is already configured.
    They don't need an additional token to spend, etc..
    They can 'backup' this through the UI and re-join later?
    See: Copay/Bitcore Wallet Service Multisig Backup JSON
  • Instead of 'cosignerPath' could store 'derivationType' w/ inputs being "44" or "48", etc.
    (This is how copay handles it)

@bucko13
Copy link
Contributor

bucko13 commented Jan 15, 2019

@tynes that derivationType request is UI right? not for bmultisig? I added the first two to a bmultisig issue since we would need back end support first.

@pinheadmz
Copy link
Member Author

oh piling on one more thing: bwallet should require price and display the total wallet value (and maybe also send tx view) in fiat :-)

@bucko13
Copy link
Contributor

bucko13 commented Jan 18, 2019

but... but... native crypto denominations are the FUTURE!

@pinheadmz
Copy link
Member Author

and NOT the present :-)

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

No branches or pull requests

3 participants