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

[Feature Request] Option for a fiat column on "Transactions" #1218

Open
metal450 opened this issue Jan 6, 2024 · 22 comments
Open

[Feature Request] Option for a fiat column on "Transactions" #1218

metal450 opened this issue Jan 6, 2024 · 22 comments
Labels
wontfix This will not be worked on

Comments

@metal450
Copy link

metal450 commented Jan 6, 2024

Feature request: please consider allowing the option to show a Fiat Value (USD) column on the Transactions page.

Use-case: for those of us who do still think in fiat, it's very helpful in locating transactions. Even though the exchange rate fluctuates (& transactions would be shown at today's equivalent rate), if I know I deposited $100 in a BTC ATM, sent $500 to an exchange, and spent $5 on a burger, it's still far easier & lower friction to be able to eyeball the transaction list and see "that $98.27 transaction was probably the ATM, the $531 transaction was probably the exchange, and the $6.21 was probably the burger." For those who don't find it helpful, they can simply hide or ignore it.

Now let me just preempt @RequestPrivacy jumping in & saying how I should learn to think in sats, as I've seen on some other fiat-related requests. I fully understand the goal of getting away from fiat. I agree, I dislike fiat, that's why I started my Bitcoin journey. However, reality is that the real world still operates in fiat, and setting ideological goals aside, I believe it should be possible to utilize bitcoin in a way that reduces friction as preferred by each individual user. I've seen statements that it takes "mental gymnastics" to think in two currencies - which is why anyone is free to simply ignore the fiat numbers if they're no longer useful to them. On the other hand, trying to force everyone to fully switch to a bitcoin standard just because some have managed to do so does not really help further the goal. By having the option of both, those who've not fully made the mental switch can think in the way that works for them, until they're ready.

If the goal is to move the world to a new technology, lowering friction as people gradually onboard should trump ideology.

@PrinceOfEgypt
Copy link
Contributor

Following this thread as I am one of the others who have also requested this. I still think that making it an option would be helpful

@RequestPrivacy
Copy link
Contributor

Since you tagged me I can't help myself and have to give my 2 cents to this. I make it short as you've done your research in older feature requests it seems.

I just want to say to @craigraw that this is what I feared: now, if you decline to implement this, you have to explain why you did the fiat feature request for the export but not this one. After all it's only optional and doesn't hurt, right?
Imho a hard stance on fiat values (i.e. none allowed whatsoever) would ease the explanation as it would be "because I won't" for everybody, treating everybody equal.

And guys, have you considered just a sec to label your transactions simply with "the $5 burger buy from xyz"? No fiat values needed...

@craigraw
Copy link
Collaborator

craigraw commented Jan 7, 2024

I will note first this is a duplicate of #1095.

@metal450 I think it would confusing to show users the value of a transaction at the current and not the historical rate, particularly when the CSV export shows the historical rate. It may actually increase the chance of misidentifying transactions, rather than reduce it.

@RequestPrivacy I think there is distinction between a static CSV export, with a disclaimer on rate accuracy, and a significant new interface element.

@PrinceOfEgypt
Copy link
Contributor

And guys, have you considered just a sec to label your transactions simply with "the $5 burger buy from xyz"? No fiat values needed...

Yes, that is actually what I have started doing, but in my opinion that interferes with the true intended use of labeling, which should be noting who knows about that UTXO and change.

@metal450
Copy link
Author

metal450 commented Jan 7, 2024

@craigraw a significant new interface element.

Just to clarify - I wasn't proposing a significant new element, just a column in the already existing table. It's 4 columns currently: Date, Label, Value, Balance. This would be a 5th. And just like how file explorers provide tons of optional columns that are rarely used, it could be collapsed away (i.e. Windows Explorer provides literally hundreds of columns, but most people just use name/date/size/type).

@craigraw I think it would confusing to show users the value of a transaction at the current and not the historical rate, particularly when the CSV export shows the historical rate. It may actually increase the chance of misidentifying transactions, rather than reduce it.

Oh absolutely - if you have the historical values, that's unequivocally much better (ie. that's what Ledger Live shows). I was just saying "at current rate" from the perspective of easiest implementation, to at least have something. But value on the date of the transaction, if doable, is way better :)

@RequestPrivacy After all it's only optional and doesn't hurt, right?

Correct, it's only optional and doesn't hurt. I still don't comprehend why you feel so strongly about forcing the "ideal" way of doing things on everyone just because it works for you. I don't personally need training wheels on my bicycle, but I also don't run around telling sporting goods stores that they shouldn't put training wheels on their shelves so I don't have to see them. I just walk past them.

@RequestPrivacy Imho a hard stance on fiat values (i.e. none allowed whatsoever) would ease the explanation as it would be "because I won't"

Except that "because I won't" is not actually an explanation, it's ideology. The desire to lower friction & alleviate the process of onboarding as many people as possible to bitcoin is an explanation. Sparrow is clearly an amazing wallet; it just doesn't make sense to push newbies away & to other wallets (which have i.e. greater privacy issues & are even farther away from the true ethos of bitcoin) simply out of idological insistence that things must be done one way and one way only from day 1.

@RequestPrivacy And guys, have you considered just a sec to label your transactions simply with "the $5 burger buy from xyz"? No fiat values needed...

Have you considered that people would prefer the freedom to choose their own preferred workflow? Clearly these are conveniences that are in demand. If you don't need them, that's great - just don't use them. Nobody will force you to.

@RequestPrivacy
Copy link
Contributor

The desire to lower friction & alleviate the process of onboarding as many people as possible to bitcoin is an explanation.
[...] it just doesn't make sense to push newbies away & to other wallets (which have i.e. greater privacy issues & are even farther away from the true ethos of bitcoin) simply out of idological insistence that things must be done one way and one way only from day 1.

Sorry @metal450 but I don't buy into all of this "lower friction" and "onboarding" stuff. You put in the work, you should get the benefits. If you don't, well...
If users threaten with the comfort in other shitty wallets that have fiat exchange rates but come with even greater issues...well, go ahead Mr. user and shoot yourself in the foot, idc really.

Correct, it's only optional and doesn't hurt.

It hurts more than you think as words - written or in though - shape the way you think:

which is why anyone is free to simply ignore the fiat numbers if they're no longer useful to them.

Do you believe your irritation with missing fiat values goes magically away when more fiat options are enabled to you in a wallet?

@PrinceOfEgypt
Copy link
Contributor

Sorry @metal450 but I don't buy into all of this "lower friction" and "onboarding" stuff. You put in the work, you should get the benefits. If you don't, well...

If users threaten with the comfort in other shitty wallets that have fiat exchange rates but come with even greater issues...well, go ahead Mr. user and shoot yourself in the foot, idc really.

Sorry, but I have to disagree - you should care. I don't know if you live in the US or not, but I'm sure you're aware some people in congress are trying their hardest to regulate crypto out of existence. I know that America isn't the world, but there's still 330 million people here, and very few understand crypto well enough. We have to lower barriers to entry to more secure wallets, otherwise there will be more hacks, more FTXs, more Voyagers, and more ammunition for those who would like to see crypto die to point to...

Do you believe your irritation with missing fiat values goes magically away when more fiat options are enabled to you in a wallet?

Yes, that's exactly what we're saying. I also don't really buy the "technically complex" excuse (and yes, I'm a professional software developer since 1998 and would be happy to share my credentials if you want). Electrum has no problem doing it - I see no technical reason why Sparrow can't. This is a philosophical argument, and I honestly think this is a compromise that's needed at this phase of crypto's development. The story may be different 5 or 10 years from now, but today people still think in fiat and we can't just pretend that isn't the case.

@metal450
Copy link
Author

metal450 commented Jan 7, 2024

Do you believe your irritation with missing fiat values goes magically away when more fiat options are enabled to you in a wallet?

Even though this is clearly a loaded question, no, I do not "magically" expect that. I expect it to go away when I choose, for myself, that I'm ready to move away. At which time I will opt to disable them.

If users threaten with the comfort in other shitty wallets

You seem to be confused here - there's no "threat", as this isn't a commercial/paid product.

It hurts more than you think as words - written or in though - shape the way you think

Progression is:

  1. Think completely in fiat
  2. Adopt fiat/bitcoin simultaneously, while acknowledging that we still live in the real world - where taxes, rent, utilities, groceries, etc are all priced in fiat. Work on learning to think in bitcoin, but the training wheels are still on.
  3. Think completely in bitcoin

You've reached 3. Great for you. Not everyone has. Unfortunately, your utterly inflexible, all-or-nothing approach will not help bring more fiaters into the fold.

Anyway, I've said my piece. We'll see what the developer decides. All I can say is that if it were my project, and bitcoin adoption were important to me, I'd definitely not ignore the preferences of my users & force them to do things "my way" simply out of rigid ideology. People should be entitled to think in the way they prefer, not in the way @RequestPrivacy says they must. We just want more people to start using bitcoin.

@RequestPrivacy
Copy link
Contributor

People should be entitled to think in the way they prefer, not in the way @RequestPrivacy says they must.

I never told you what to think so don't pretend I did, I just stated my opinion. But fact is YOU want a change in the wallet so I guess by your standards it's rather you who tries to force a view on people? E.g. this one:

I'd definitely not ignore the preferences of my users

So I'm not a user? Or you think I'm the only user who thinks like this just because I have the time to be a pina in here? Or what gives you the impression you speak with authority for the majority/all (even though implicit in the quote) users?

We just want more people to start using bitcoin.

Yeah and I'm the old guy stopping Bitcoin from becoming a widespread success with his oldschool purism. But have you considered that maybe the end doesn't justify the means?

I tell you how the progression will go:

  1. Think completely in fiat
  2. Demand from wallets they implement fiat values if they haven't done so.
  3. Stop progression, because why change? After all, reality is everything remains denominated in fiat, my wallet shows fiat, bills are in fiat so can you please "pay me $5 in bitcoin"

Will there be people who will follow your described progression? Few I guess. But those could have also battled through a fiat-less wallet. The rest who couldn't will rather follow the path described above.

@PrinceOfEgypt

story may be different 5 or 10 years from now

Proposing more fiat values in wallets so that in 5 or 10 years we can have "less" or "no" fiat values in them sounds to me like fighting fire with oil.

@PrinceOfEgypt
Copy link
Contributor

Proposing more fiat values in wallets so that in 5 or 10 years we can have "less" or "no" fiat values in them sounds to me like fighting fire with oil.

I don't disagree with you on principle - but the reality is that right now Bitcoin and Crypto in general have a UX problem - there are infinitely more people who have no idea how "all of this stuff works" than people like you or me who run their own node, fulcrum server, lightning daemon, etc etc.

There needs to be a transitional period where people can get familiar with how to "do Bitcoin right", and I agree with @metal450 .. lack of fiat counter values right now is a significant barrier to entry.

@metal450
Copy link
Author

metal450 commented Jan 7, 2024

Or what gives you the impression you speak with authority for the majority/all (even though implicit in the quote) users?

I don't have that impression at all. That's why we have this wonderful invention called "settings." If you prefer no fiat, disable it, and it will disappear from your UI like magic. If I prefer fiat, I can enable it, and thus everyone can use the software as best suited to their needs.

The fundamental difference between our positions is that I'm saying it could be available for those who want it. Do I use every option and setting provided by my computer's operating system? Surely not. And that's fine. Nobody's forcing me to use those extra options. And nobody would force you to enable fiat on the UI. And if you don't, then the user experience for you would be exactly as it is now (except perhaps for being philosophically annoyed by "knowing" that such a setting even exists?). By contrast, with no option, your way is the only way.

I'm not sure if you genuinely can't comprehend the difference or if you just don't care, but this very clearly doesn't have to be a choice between "support people like me OR support people like you." I'm simply advocating for "support people like me AND support people like you." They aren't mutually exclusive.

@craigraw
Copy link
Collaborator

craigraw commented Jan 8, 2024

While I appreciate the ideological debate, my concern with this proposal is practical. Considering the original motivation:

for those of us who do still think in fiat, it's very helpful in locating transactions.... "that $98.27 transaction was probably the ATM, the $531 transaction was probably the exchange, and the $6.21 was probably the burger." For those who don't find it helpful, they can simply hide or ignore it.

First off I do not believe this goal is served at all by using the current rate. It is inconsistent with the CSV download, and historically the rate has changed sufficiently over the course of just a few months to make the identification of historical transactions using this method difficult if not counterproductive.

The alternative to use a historical rate is better (even though it does raise technical issues I am going to ignore for now). However, there are still problems. A historical rate can only be obtained on a daily basis, and even intraday the rate can change significantly. This would result in the confusing situation of some values being fairly "accurate" and others seeming quite "inaccurate". Further, a user may broadcast a transaction that is only mined weeks later, when the rate is quite different.

Fundamentally Sparrow aims to help the user build understanding and trust in their setup by accurately and transparently displaying information about their funds and transactions. This proposal does not IMO meet that standard, and may actually serve to reduce trust.

I am prepared to consider an alternative like making the fiat value of a transaction easy to copy into the label field during transaction construction, but as it stands I am not keen to implement this.

@craigraw craigraw closed this as completed Jan 8, 2024
@metal450
Copy link
Author

metal450 commented Jan 8, 2024

@craigraw thanks for the thoughtful reply.

I do not believe this goal is served at all by using the current rate.

Full agreement here - showing historical transactions at today's rate could be confusing. Please forget I said it, showing them at the historical rate is much better :)

A historical rate can only be obtained on a daily basis, and even intraday the rate can change significantly. This would result in the confusing situation of some values being fairly "accurate" and others seeming quite "inaccurate". Further, a user may broadcast a transaction that is only mined weeks later, when the rate is quite different.

I see your point. But I'd say that as long as it's clear & transparent to the user what the value represents, the software is living up to its ideal of accuracy. There are multiple ways this could be achieved, i.e.:

  1. As part of the initial setup wizard, show the option to enable or disable fiat values. Then you can provide explanatory notes/disclaimers, just as you do when explaining the privacy tradeoffs of using a public server. "Note: The fiat values shown are only estimates. They are based on the day the transaction was included in a block, which may not be the same day as you broadcast it to the network. They are based on the average global exchange rate (provided by xx), which may not reflect the exact rate you paid at the time you paid it. They are to be taken as estimates only."
  2. Or if the fiat options need to be explicitly enabled in the options (rather than in the wizard), a similar explanation/disclaimer could be shown when enabled
  3. The column could be titled something to reaffirm that it's an estimate. "Estimated Value," perhaps with a brief tooltip noting the same.

Fundamentally Sparrow aims to help the user build understanding and trust in their setup by accurately and transparently displaying information about their funds and transactions.

IMO I think doing it like the above would actually be an even more positive step than I'd envisioned. Because in addition to providing the convenience desired, it also provides transparency/education. Like in my case, before Sparrow, I honestly didn't realize the privacy tradeoffs I'd been making by allowing other wallets to connect to public servers. Just as Sparrow educated me about the tradeoffs I'd been making in terms of privacy, this would educate users about the the fiat values they're used to seeing in other wallets like Ledger Live & Electrum, or blockchain explorers. You could even provide a little blurb encouraging users to strive to think in bitcoin and avoid the fiat options, thus nudging them in that right direction, if you think it's beneficial. Which would likely go over much better than forcing them to do so by omission, as some seem to prefer.

I am prepared to consider an alternative like making the fiat value of a transaction easy to copy into the label field during transaction construction

Hmm...if you prefer something like i.e. an option "Auto-populate transaction labels with estimated cost," that would work. It honestly feels a lot more clunky to me than just having a column though, and as @PrinceOfEgypt suggested, it does seem to conflate labels with their intended purpose. But is most definitely better much than nothing :)

Final note: respectfully, I don't think this issue should be closed. Even if it's rejected in its current form, clearly the user desire hasn't been satisfied, so leaving the issue open will allow others to chime in with their thoughts or ideas, if or until a solution is reached in some form.

@craigraw craigraw added the wontfix This will not be worked on label Jan 9, 2024
@craigraw
Copy link
Collaborator

craigraw commented Jan 9, 2024

The problem with explanatory text in dialogs is that many users do not read them. I certainly don't think this is worth adding another step to the setup wizard (which, even at its current length, many users clearly don't read either). You could say that's too bad for them, but it just moves the problem to another place like the support chat. Further, the explanation requires quite a bit of technical knowledge many users are unlikely to have.

Hmm...if you prefer something like i.e. an option "Auto-populate transaction labels with estimated cost," that would work. It honestly feels a lot more clunky to me than just having a column though, and as @PrinceOfEgypt suggested, it does seem to conflate labels with their intended purpose. But is most definitely better much than nothing :)

It would at least have the advantage of being more accurate to the user's intent, capturing the fiat value at the time of creating the transaction in way that immediately presented and does not later change in an apparently random manner. I think it is reasonable to suggest labels can be have multiple purposes, and this use would appear to answer the original motivation. The downside is that it only covers outgoing transactions. Probably requires more thought.

I've reopened the issue and marked it as wontfix.

@craigraw craigraw reopened this Jan 9, 2024
@metal450
Copy link
Author

metal450 commented Jan 9, 2024

I certainly don't think this is worth adding another step to the setup wizard

Sure - it was just one possible suggestion. Another being to have fiat disabled by default, so the user has to manually seek it out in the options to enable (and then the explanation could be provided there, if they deliberately go in and enable it). One advantage to that approach is that all fiat could then be hidden behind this option, which would evidently make some users happy as they would never have to see it.

The explanation requires quite a bit of technical knowledge many users are unlikely to have.

Isn't that true for most of the functionality offered by Sparrow though? Like understanding UTXOs requires technical knowledge, making the choice of a server requires understanding/explanation, etc. Sparrow offers far more control & detail than most wallets (which is why it's so awesome) - definitely more than wallets which do include fiat equivalents. IMO I don't think it's a hard concept to grasp, as compared to all the other concepts presented.

I think it is reasonable to suggest labels can be have multiple purposes

Sure, I have no issues personally if you prefer it to be in the labels - was just offering my 2c that it seemed like a column was a bit better from a usability standpoint. Just my opinion tho :)

The downside is that it only covers outgoing transactions.

That's easy - it could just pre-populate the label of incoming transactions with the fiat equivalent at the time of receipt (subject to an option being enabled). Just like it would pre-populate outgoing labels when you create them.

@craigraw
Copy link
Collaborator

Isn't that true for most of the functionality offered by Sparrow though?

The difference is that this data would be presented on literally the first screen. You don't need to understand UTXOs initially to transact with Sparrow, but you may well be confused by inaccurate values on the Transactions tab, and lose trust in the wallet.

That's easy - it could just pre-populate the label of incoming transactions with the fiat equivalent at the time of receipt (subject to an option being enabled). Just like it would pre-populate outgoing labels when you create them.

It's not the same thing. See my comment above about explicitly capturing the value intended by the user at the time of constructing the transaction, versus implicitly capturing an inaccurate value at some later date and time.

@metal450
Copy link
Author

metal450 commented Jan 10, 2024

The difference is that this data would be presented on literally the first screen.

Not if fiat is disabled by default tho, so that you have to dig in the options to enable it, and then when enabling it, it transparently discloses that the values may not be perfectly inaccurate (and also the values on the UI could be marked as "estimate")

Anyway, it seems like the conversation has run its course. I'll just leave it at saying that although I do still like Sparrow better than any other wallet, this has been a repeated pain point in terms of usability and has often made identifying past transactions significantly more cumbersome than it had been in other wallets. So at present, I find myself using Sparrow primarily, but still opening other less privacy-friendly wallets when I just need to identify some transaction quickly. Would love to be able to ditch the other wallet entirely.

@RequestPrivacy
Copy link
Contributor

Another problem would be what to display for past transactions e.g. from importet wallets? What does the user expect to see there? And btw, why no fiat column in the utxo's tab? Not easy to cramp a fiat value system on top of digital information eh?

If this use case should be considered I'd argue it needs to go in the label column. I'm not sure where the notion comes that labels should only include the who, not the what (or how much fiat if you really need it).

What about a label system analouge to the address bar in emails where there isn't "one" label but the label column is only a container in which multiple label chips can reside (that might also have different meanings e.g. recipient, amount, description etc.):
Screenshot_20240110-084214_Bromite

The chips could be given customaziable colors to identify their meaning.

A bonus of this could be that a wallet managed by sparrow could then add all the older (recipient) labels of previous utxos onto the new one, so that for each utxo one can see who has knowledge of said utxo

@8alr0g
Copy link

8alr0g commented Apr 3, 2024

Feature request: please consider allowing the option to show a Fiat Value (USD) column on the Transactions page.

Use-case: for those of us who do still think in fiat, it's very helpful in locating transactions. Even though the exchange rate fluctuates (& transactions would be shown at today's equivalent rate), if I know I deposited $100 in a BTC ATM, sent $500 to an exchange, and spent $5 on a burger, it's still far easier & lower friction to be able to eyeball the transaction list and see "that $98.27 transaction was probably the ATM, the $531 transaction was probably the exchange, and the $6.21 was probably the burger." For those who don't find it helpful, they can simply hide or ignore it.

Now let me just preempt @RequestPrivacy jumping in & saying how I should learn to think in sats, as I've seen on some other fiat-related requests. I fully understand the goal of getting away from fiat. I agree, I dislike fiat, that's why I started my Bitcoin journey. However, reality is that the real world still operates in fiat, and setting ideological goals aside, I believe it should be possible to utilize bitcoin in a way that reduces friction as preferred by each individual user. I've seen statements that it takes "mental gymnastics" to think in two currencies - which is why anyone is free to simply ignore the fiat numbers if they're no longer useful to them. On the other hand, trying to force everyone to fully switch to a bitcoin standard just because some have managed to do so does not really help further the goal. By having the option of both, those who've not fully made the mental switch can think in the way that works for them, until they're ready.

If the goal is to move the world to a new technology, lowering friction as people gradually onboard should trump ideology.

If we want more people using Sparrow and not Ledger live is crucial have btc-> fiat everywhere, IMHO.
In ledger live I can see what is from my PAC and what not, in one second. In sparrow is just numbers, idk what is what, I've to check the dates, try to figure it out.

@RequestPrivacy
Copy link
Contributor

If we want more people using Sparrow and not Ledger live is crucial have btc-> fiat everywhere, IMHO.

  1. Who is this fully enclosing "we" everyone keeps referencing when stating his/her own opinion?
  2. And why do "we" want that more people use Sparrow instead of Ledger Live? Sparrow is clearly the superior client, so imho if someone wants to use stuff that's inferior why stop them?

@8alr0g
Copy link

8alr0g commented Apr 3, 2024

If we want more people using Sparrow and not Ledger live is crucial have btc-> fiat everywhere, IMHO.

  1. Who is this fully enclosing "we" everyone keeps referencing when stating his/her own opinion?
  2. And why do "we" want that more people use Sparrow instead of Ledger Live? Sparrow is clearly the superior client, so imho if someone wants to use stuff that's inferior why stop them?

Sorry but it is for people with attitudes like yours that normies use and will always use closed source products. Empathy and kindness, and trying to be inclusive even with the less technical, are things to preserve.
I hope you're just a black sheep.

@RequestPrivacy
Copy link
Contributor

I'm certainly NOT the reason why people use closed source products. As I said, Sparrow is already the better product. If they don't use it now it's ENTIRELY their fault. I'm just the guy telling them so.

Btw, have you heard the phrase "The road to hell is paved with good intentions"?

I'm sorry that you and many in this issue seem to misunderstand me. But this space has already made enough compromises in the name of "adoption, empathy, kindness and inclusion", at least in my selfish opinion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

5 participants