sparrowwallet / sparrow

Desktop Bitcoin Wallet focused on security and privacy. Free and open source.
https://sparrowwallet.com/
Apache License 2.0
1.28k stars 185 forks source link

[UX - General] Display whirlpool remixes in transactions view with pool denomination #1015

Open RequestPrivacy opened 1 year ago

RequestPrivacy commented 1 year ago

Description

On both clients - Sparrow and Samourai, a remix is displayed as a transaction with a value of 0. That makes kind of sense since no value was transferred INTO the wallet and the wallet balance doesn't increase.

Nonetheless, from a UX/UI perspective this is kind of odd (at least to me). In the transaction there was a value transfer from one address to another and as a user I want to know what amount was transferred.

Right know I have to check via the detail screen or UTXO tab (match transaction and utxo e.g. via the confirmation time) to get to that information.

Improvement

Imho it would improve the overview if a remix would show up with its denomination in the Value column of the Transactions tab table. A recycling icon as a prefix could indicate that this is a remix and therefore explain the constant Balance column.

TinF0ilHat1 commented 1 year ago

i think i got the idea, would be helpful if you can add screenshots imho

RequestPrivacy commented 1 year ago

First one is an example for the current situation, second one for potential improvement.

Note - the value amounts in the pictures should of course be all pool denominations as only those can enter the postmix account. That happens if you fake entries to preserve privacy ;) Final

RequestPrivacy commented 1 year ago

Or at least replace the 0, which contains not really any information (think first time users: "wtf is going on with these zero value transactions in my wallet? Ooooooh that must be the whirlpool remixes") to the potentially more recognized whirlpool brand icon:

Final_addition

TinF0ilHat1 commented 1 year ago

First one is an example for the current situation, second one for potential improvement.

Final

first option [icon + amount] , yes looks useful to me. I assume though, but i'm not too techy, that the icon might interfer with the export [.csv /.json] function.

craigraw commented 1 year ago

I understand value of the proposal, but I can't say I'm comfortable with the UI yet. I suspect it will cause some confusion since it is a deviation from the expected behaviour of this column. That said, there may be a way to display this information that is both helpful and logically consistent.

RequestPrivacy commented 1 year ago

I suspect it will cause some confusion since it is a deviation from the expected behaviour of this column.

Unexpected for users accustomed to seeing the 0 surely, but my guess is that for every new user it would make much more sense. And all others would see the value after a short amount of time. After all, what information is provided by a column with a bunch of 0`s (other than that they're remixes - and even that isn't really clear for users since a 0 doesn't contain that information in itself, the user has to figure this out by himself).

That said, there may be a way to display this information that is both helpful and logically consistent.

Can you elaborate where you see the logically inconsistency in a UI like above? In the premix account there are the following transaction types if I haven't forgotten one:

Transaction type Possible Values Transaction Amount Displayed in Value Column
Initial mix Pool denomination Yes
Remix Pool denomination -----> No!
Mix-out Pool denomination Yes
Mix-in Pool denomination Yes
Pay-out Arbitrary amount Yes

For me it looks inconsistent if a Remix has "no value" transferred?


If we compare to Samourai Wallet there is at least the "Remix" hint, which - as a information - is is definitely missing in Sparrow. But the Activity in general is also missing out on a lot of value imho...because again, what's the point in seeing a list full of 0.00000000 BTC`s?

Samourai

craigraw commented 1 year ago

After all, what information is provided by a column with a bunch of 0`s

The correct information :) Both Sparrow and Samourai are simply displaying the value of the transaction as it affects the wallet. In other words, the sum of the UTXOs entering the wallet less the sum of the UTXOs being spent from the wallet. In this case, the value in equals the value out, so the difference is zero and that is what is displayed. To display the value of the pool indicates the value of pool size is accumulating to the wallet, which is incorrect and represents a logical inconsistency for what value this column displays.

It often seems very attractive to "use wasted space" to display other useful information, as you recommending here. But consider that many may have a different mental model in which they expect what column displays remains the same, regardless of the type of transaction. To say them "well it's a remix, so we change the column to display the pool size" will seem somewhat arbitrary and is difficult to defend.

This is not to say there isn't a good idea in here, but "first do no evil" does seem to apply.

RequestPrivacy commented 1 year ago

But consider that many may have a different mental model

Granted. I don't want to sound pushy nor do I want to claim my understanding is right or even represents a fraction of users. I just shoot ideas and see what others think of it.

In other words, the sum of the UTXOs entering the wallet less the sum of the UTXOs being spent from the wallet.

Does this make sense in a Postmix account though? Either a pool denomination utxo comes in (either from first time mixing / a mix-out coming in) or a pool denomination goes out (mix-out) or an arbitrary value leaves (payment). So in the equation Value = in - out there's more often than not just one variable of the right side present?

Maybe someone has another idea how to incorporate the pool denomination without touching the Value field?

craigraw commented 1 year ago

I don’t think you can change the Value column in any wallet without potential confusion. At least though, it should be possible to add a Whirlpool icon with a tooltip showing the pool denomination.