thunderbiscuit / padawan-wallet

The bitcoin wallet trainer on Android.
https://padawanwallet.com/
Apache License 2.0
113 stars 50 forks source link

Making Transaction Speed/Fees Clearer #266

Closed Noyi-24-7 closed 1 year ago

Noyi-24-7 commented 1 year ago

Noticed some people using it don't know what the “fees” part on the sending bitcoin page is used for whether it affects the speed of sending (like how hard it would work to send bitcoin quickly). Essentially they find it difficult to understand that part

Screenshot

Solutions 1st - we could change the copy used there from "Fees (sats/vbytes)" to (Transaction Speed)

2nd - Maybe rather than giving the users too much power? something like that, maybe we can just give them a drop down with 3 options of: Slow --- Low fees. Normal --- Medium fees. Fast --- Large fees.

https://user-images.githubusercontent.com/124662255/224093137-87ddaff2-ad96-46e1-b505-0d3ebc52a6fe.mp4

Image2

I think this could make it easier for users to make proper decisions

Prototype Link - https://www.figma.com/proto/Ji3dgcP6rzEojrt520nwLc/Padawan-Wallet-Solution-Ideas?page-id=84%3A3153&node-id=84%3A3190&viewport=-432%2C341%2C0.59&scaling=scale-down&starting-point-node-id=98%3A5227

Prakhar-Agarwal-byte commented 1 year ago

I believe https://github.com/thunderbiscuit/padawan-wallet/issues/221 is related. The second option will make it beginner-friendly as users won't have to use the slider to select the fees rather they can just choose from the 3 options provided.

Noyi-24-7 commented 1 year ago

I believe #221 is related. The second option will make it beginner-friendly as users won't have to use the slider to select the fees rather they can just choose from the 3 options provided.

Ohh, I see...but yes I also think it would be easier for users if they know what it would be used for as well as having them understand what each option would mean when sending

Prakhar-Agarwal-byte commented 1 year ago

I will create a PR for this 👍

thunderbiscuit commented 1 year ago

This is one of the more "hard decisions" in Padawan at the moment. The idea of "slow", "medium", and "fast" transactions wait times is very much a feature of mainnet bitcoin wallets, but not so on testnet. I'm not yet sure how to best go about this.

For example we could simply lie to the user and give them a "slow" feerate at 1.0 sats/vbyte. But this tx will get mined immediately still, because the mempool on testnet is almost always empty. Also related: if we pretend that a bigger feerate gets the transaction mined quicker but we also link to a block explorer, users will find that the block explorer will not be recommending the same feerate as the app (rightly so again, because the mempool is empty).

Just trying to outline why this is a tricky issue. But thanks for getting the conversation started on this!

Noyi-24-7 commented 1 year ago

Ohh, I understand now, testnet has some limitations, if that's the case what if we make that slider into the list the users can select, because as a slider some users don't get enough context as to what is going on with the fees, or we might just include an info tag somewhere to clarify, depends on what's feasible right now tho.

darkvoid32 commented 1 year ago

I think having what @Noyi-24-7 suggested might be a good solution too, in that we still have the slider, but there is also a tag somewhere to show the user when the sats/vbyte is considered "slow", "medium", or "fast". We can temporarily have some hardcoded values, and the technicalities of how we decide what specific sats/vbyte is considered "slow", "medium" or "fast" can be considered later I think!