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

UX / UI: Displaying non-btc assets #341

Open
swedishfrenchpress opened this issue Apr 13, 2024 · 8 comments
Open

UX / UI: Displaying non-btc assets #341

swedishfrenchpress opened this issue Apr 13, 2024 · 8 comments

Comments

@swedishfrenchpress
Copy link
Collaborator

swedishfrenchpress commented Apr 13, 2024

Met with @starback-dev last week and we reviewed some high level design ideas for how eNuts maybe handle USD Ecash issued over Cashu. I've explored some concept designs, any feedback or insight is appreciated.

Image
Image
Image

Video: https://github.com/cashubtc/eNuts/assets/78821053/dc740b45-7abe-47b3-9188-6e83e48991e0

Overview

  • Clicking on an asset launches its details view, providing an overview (in USD, for instance).
  • In the asset details view, users can see all the mints where they hold this asset, along with the quantity held at each mint, denominated in sats (more research needed to determine if this is the right unit denominator).
  • Cash out action allows users to transfer the sat value via LN (either as an LN invoice or LN URL), or to perform a multimint swap. This would enable sending the asset to another mint. However, I'm not sure if users can transfer non-satoshi denominated assets to another mint that also issues this asset. Are these non-satoshi denominated assets interoperable across mints? Is there a standard for this? The reason I suspect this isn't the case is because from what I've read each mint can have different mechanisms for issuing assets.
  • Clicking on a mint takes the user to the mint details. If the mint issues multiple assets, they will be listed along with their satoshi values.

Some open questions

  • If the mint has several options to choose from when it comes to stabilizing it's reserves how does that affect interoperability of these USD Ecash assets across different mints?
  • Does the a wallet when dealing with these assets have any awareness of the bitcoin price that backs the asset? Or the onus on the user to trust that the mint has the appropriate mechanism on the back end to hold the peg?
@GBKS
Copy link

GBKS commented Apr 15, 2024

Cool to see these explorations, thanks for sharing. It generally makes sense to me. Some thoughts and questions:

  • Does this need to scale to many assets or just bitcoin and one stablecoin (two total)?
  • Navigation to currency-specific screens makes sense, along with the grouping of mints, and then digging into a single mint.
  • "Cash out" is not intuitive. What is "cash"? Is it "Ecash" or "Cashu" or something else? Same for "mint new token". Am I creating my own crypto Web3 style? I'd really try to see how much of that can be replaced with non-technical terminology. "Send" and "Deposit" would work here just fine, I think.
  • That home screen is getting quite busy. Not directly related to this issue, are you OK with any bystander seeing all balances at a glance? I find it interesting to see everyone's balance when they pay when I'm in line at a food truck at a bitcoin conference, but really not great for privacy. Moving balances to a sub-screen can help with that, and also declutter the home screen.
  • I think the currency names and units are a bit confusing still. Some consistency issues there with "SATS" and "sats", "$5.00" and "$5.00 USD", "14,129" and "7 232" (thousands separator), along with the use of both lightning and bitcoin symbols. Just feels like I have to decipher things.
  • No clue on those technical questions 😀

Looking forward to seeing this evolve.

@swedishfrenchpress
Copy link
Collaborator Author

Some design iteration from @GBKS. I think the changes to the weights and visual hierarchy really improve upon my initial design concept.

Image

@starbackr-dev
Copy link
Collaborator

Thanks @swedishfrenchpress for taking this. I like the numbers right justified which is typical in accounting. Also, keep in mind that the unit can be anything like 'xyz'. App at runtime will try to figure out the unit and add all similar unit tokens to show the numbers. If the unit matches currency codes ISO 4217 then we can display the currency symbol on the left, if not that will be blank.

Need to add "Exchange" button. I see that you are showing Swap Bitcoin to USD in activity. But I do not see where the user will actually do that.

Also, I like that you got the Mint icon to the bottom rack..! I had the same thought and wanted to do it..!

@GBKS
Copy link

GBKS commented Apr 19, 2024

the numbers right justified which is typical in accounting

Right-alignment is great for rows where you want to read top to bottom and quickly compare the numbers, like an invoice or the list of transactions. For a larger balance display with just a small amount of numbers, in different non-comparable currencies, it's not really that useful.

By the way, will there be only bitcoin and USD, or might there be other currencies? If so, how many could there be, or will there be in a realistic/common scenario?

@swedishfrenchpress
Copy link
Collaborator Author

for rows where you want to read top to bottom and quickly compare the numbers, like an invoice or the list of transactions. For a larger balance display with just a small amount of numbers, in different non-comparable currencies, it's not really that useful.

I like the display of the amount you own of each assets from top to bottom. I think the right justified works well in the transaction list, that feels more like a bank statement or payment history. Where the user is skimming to find out spending patterns or history.

@GBKS as far as I know it is up to each mint to decide how many assets they can support. There isn't anything stopping them from issuing as many assets in whatever unit denomination they like. Is that correct @callebtc? It's hard to say what's realistic since this is such untested ground. My assumption / best guess is that most people won't hold more than 3 or 4 assets.

@GBKS
Copy link

GBKS commented Apr 24, 2024

Thanks. The screen might get pretty crowded, especially on smaller devices, if you have 5 assets at the top, the button bar, transaction list, and tabs. It could be designed in a scalable way, so the text and spacing get more compact the more assets you have (there's naturally a limit to that as well).

By the way, have you considered the privacy implications of exposing balances right on the home screen? For the guide home screens, we decided to make the payments UI front-and-center and put balances and activity one tap away.

@KKA11010
Copy link
Collaborator

Thanks. The screen might get pretty crowded, especially on smaller devices, if you have 5 assets at the top, the button bar, transaction list, and tabs. It could be designed in a scalable way, so the text and spacing get more compact the more assets you have (there's naturally a limit to that as well).

By the way, have you considered the privacy implications of exposing balances right on the home screen? For the guide home screens, we decided to make the payments UI front-and-center and put balances and activity one tap away.

Regarding the privacy implication, you can press the eNuts logo in the dashboard to hide amounts 🙈

@GBKS
Copy link

GBKS commented Apr 24, 2024

Thanks for the pointer. Here's my thinking. For a wallet that is mobile and meant to be used very quickly for payments while you're out and about, the balances should probably be hidden by default. So when you're in line at the store, the cashier and people behind you don't get to know how much money you have. I notice this at bitcoin conferences and meetups when you're at food trucks and cafes that accept bitcoin, and it's a bit awkward. This is certainly not my day-to-day reality and I mostly use these wallets in a private space. But if that's the use case we're building for, then we should have that guide our design decisions.

So if the balance is hidden by default and it takes one tap to display it, you might as well put it in the separate activity screen, which is also just one tap away, and focus the home screen on quick access to payments.

Just wanted to throw that out there. Don't want to hijack this PR for a conversation that doesn't belong here, so feel free to ignore my ramblings.

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

No branches or pull requests

4 participants