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

Default to ETH as primary currency on Confirm screen and allow toggle #4510

Closed
bdresser opened this issue Jun 5, 2018 · 27 comments
Closed
Assignees
Labels
area-UI Relating to the user interface.

Comments

@bdresser
Copy link
Contributor

bdresser commented Jun 5, 2018

Bounty: We want to update the Confirm screen to display ETH as the primary (large) value and the user's selected converted currency as the secondary (smaller) value. This feature also requires adding a toggle to the settings menu to allow users to swap the two.

--

Some users prefer to focus on their ETH balance rather than the equivalent fiat value. Right now our UI prioritizes fiat value and includes exact ETH amounts; we should consider an option that allows the user to at least swap the two.

See comments below for more detail and a complete spec.

@kingjacob
Copy link

kingjacob commented Aug 14, 2018

TY for the redirect @bdresser, To add some color to what I said in #25, the problem with the "Fiat first" UI is twofold.

  1. It treats sending ETH or spending Gas differently than it treats other tokens, which creates some UX friction. Doing it as in some of the upcoming designs like Account CRUD #11 would also cause added confusion if someone picked ETH or DAI (or god forbid a government USD token) as the conversion currency, and way in the future, if you're ever able to pay gas with tokens like with ERC 865

  2. As someone who thinks crypto first, it's not that we want to see everything in ETH, it's that when you send 1ETH it's not deducting $230 from your balance, it's deducting 1ETH, same if I'm using USD to pay someone in CAD, what it costs in the conversion currency is secondary when doing the math of how it will affect your balance.

The expected behavior is Primary: Actual token being spent / Secondary: Preferred conversion currency

@bdresser bdresser changed the title Allow user to choose ETH as primary currency Allow user to choose ETH as primary currency on Confirm screen Aug 14, 2018
@bdresser
Copy link
Contributor Author

@kingjacob as with many product choices, this comes down to the question of who we're optimizing for.

Much of the feedback we get comes from technical folks who understand how to get in touch. Predictably, many of these users are much more comfortable thinking in ETH values. But MetaMask is also an on-ramp for hundreds of thousands of non-technical users, for whom seeing a converted fiat value may be a key component that makes the software usable and familiar.

For now, I think it makes sense to include this as a toggle in the "Settings" menu. Worth noting that ETH is the primary value for most of the application (the "Home" screen, the "Send" screen, etc) and the only place where fiat/converted currency dominates is on the "Confirm" screen.

I'd like to bounty the small feature to add a toggle that swaps ETH / USD (or whatever the user's selected currency conversion is) on the Confirm screen. Everything else in the extension stays the same.

make sense @danfinlay @cjeria ?

@bdresser
Copy link
Contributor Author

bdresser commented Aug 14, 2018

In settings, below "Current Conversion" we can add a small dropdown in the same style

label: "Primary Currency for Confirmation Screen"
options: [ETH, Converted] ("ETH" is default)

Default (ETH-first)
screen shot 2018-08-14 at 3 39 58 pm
(We should remove the Diamond logo and use ETH in all instances on this screen - in the main value, the gas value, and the total)

Converted
screen shot 2018-08-14 at 3 38 04 pm

@MicahZoltu
Copy link

Worth noting that ETH is the primary value for most of the application (the "Home" screen, the "Send" screen, etc) and the only place where fiat/converted currency dominates is on the "Confirm" screen.

I feel like above all else, the UI should be consistent. Having the confirmation screen default to converted as primary while the rest of the UI has ETH as the primary definitely feels wrong to me. I support an option in settings that lets the user decide Native vs Converted as the primary currency, but this should consistently effect the entire UI, not just one or two screens of the UI.

@cjeria
Copy link
Contributor

cjeria commented Aug 15, 2018

This makes a lot of sense. I agree we need to be consistent with displaying ETH as the primary value and also provide the option to switch the primary currency globally in settings.

@bdresser
Copy link
Contributor Author

Consistency is good 😄

As discussed, this should be the subject of some intentional user research as soon as we have the bandwidth.

For now @cjeria are you comfortable switching to an ETH-primary view on the Confirm screen by default, and adding a toggle in settings to swap the "primary" currency across all screens?

(cc @danfinlay @alextsg @danjm)

@cjeria
Copy link
Contributor

cjeria commented Aug 21, 2018

Yes, let's default to ETH and provide a way to swap the main currency in settings.

@bdresser bdresser changed the title Allow user to choose ETH as primary currency on Confirm screen Default to ETH as primary currency on Confirm screen and allow toggle Aug 21, 2018
@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 0.25 ETH (69.39 USD @ $277.56/ETH) attached to it.

@gitcoinbot
Copy link

gitcoinbot commented Aug 22, 2018

Issue Status: 1. Open 2. Cancelled


Work has been started.

These users each claimed they can complete the work by 11 months, 3 weeks from now.
Please review their action plans below:

  1. Rohithzr has been approved to start work.

    @bdresser i am willing to start the work on this today, should not take very long.

Learn more on the Gitcoin Issue Details page.

@gitcoinbot
Copy link

@Rohithzr Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@Rohithzr
Copy link

@bdresser yes I am working on this issue, just a bit of festive weekend in my country, Ill be back tomorrow and hopefully a PR in a couple of days. I am figuring out a few things, currently the the settings that I am selecting from the dropdown are not getting persisted, if someone has any ideas about it, that would be helpful

Rohithzr added a commit to Rohithzr/metamask-extension that referenced this issue Aug 28, 2018
- dropdown css will now adjust to shorter heights (max-height: 220px)
- added option to select primary currency in settings (issue MetaMask#4510)
@Rohithzr
Copy link

@bdresser
ETH transfer screen - primary currency is eth
Token transfer screen - untouched at the moment

This is still WIP but I wanted the UI to be looked at and confirmed as much as possible.
The diamond sign stays or goes?

@gitcoinbot
Copy link

@Rohithzr Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@SvenMeyer
Copy link

SvenMeyer commented Sep 1, 2018

I can't even think of why anyone working in blockchain/crypto space comes up with the idea to display a (random) FIAT currency in BIG LETTERS within a software which is meant to be used to transfer Ethereum. It's all about ETH. There is ETH in the account, users want to send ETH, Gas is derived from ETH, ... it has nothing to do with any FIAT currency. This is the worst UI decision I have seen in this space so far, and I would just ignore it if it hadn't been done in one of the most prominent user facing software in blockchain space.
As people may move from FIAT space to Crypto, or may want to pay FIAT values with Crypto, I would not rule out the option to display a FIAT currency in a small (!) font below.
How do you want to support adoption of blockchain/crypto if the UI just looks like any other app to send USD?

@gitcoinbot
Copy link

@Rohithzr Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!

  • warning (3 days)
  • escalation to mods (6 days)

Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days

@bdresser
Copy link
Contributor Author

bdresser commented Sep 4, 2018

hey @Rohithzr looks like there's still a ways to go and we're hoping to get this functionality out quite soon, so we're going to handle it internally. Thanks for your work!

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Cancelled


The funding of 0.25 ETH (72.27 USD @ $289.07/ETH) attached to this issue has been cancelled by the bounty submitter

@danfinlay
Copy link
Contributor

How do you want to support adoption of blockchain/crypto if the UI just looks like any other app to send USD?

We ultimately agree with you, will be changing it back, and this is one reason this is a beta UI, and not our default UI yet.

The thought was of course about minimizing onboarding friction. There is a ton to learn for new users in this space, so we are constantly exploring which protocol-specific information can be postponed for new users, but we mostly agree that ultimately postponing teaching the primary unit of the protocol creates more friction than it alleviates.

I wouldn't be surprised if other wallets come along, make fiat their primary conversion, and create a smoother on-boarding experience, but if that works it will probably be in part because prices have stabilized and gas prices are kept low because of scaling strategies.

@SvenMeyer
Copy link

If you want to on-board new "non-technical" user (= making them familiar with Ethereum) , the first thing they have to get familiar with and to learn is, that the currency here, within the Ethereum network, is called ETH and that is the currency of value we are working with here. That is not more "difficult" than to understand that if you leave the US behind and travel to Europe that within that space "EUR" is the currency.
This is not difficult to understand, even for the most non-technical person you can image, but VERY important ! Thousands of developers are working on a (crypto) alternative to FIAT currencies - THIS IS WHAT IT IS ALL ABOUT ! ... do not undermine their efforts. Thank you :-)

@SvenMeyer
Copy link

From what I have read, Joe is putting 100+ million USD in per year to make the Ethereum ecosystem successful as an alternative to the current (FIAT based) financial system, and one of the first apps a new user will likely use shows "USD" in big letters ????
I would make this issue prio 1.

@bdresser
Copy link
Contributor Author

bdresser commented Sep 5, 2018

thanks for the feedback @SvenMeyer!

We prioritize having a stable, usable extension first and foremost. Your viewpoint as someone familiar with Ethereum is just one of many perspectives – it's impossible and unrealistic (not to mention exclusionary) to think that personal intuition is the best answer to the many design & usability questions that come up!

If your comments are based in quantitative or qualitative research, we would love to hear more about your findings - email support@metamask.io and mention this issue number. If not, we'll incorporate your design feedback along with other individual pieces of feedback we receive, and thanks for speaking up!

@bdresser bdresser removed the needs-design Needs design support. label Sep 17, 2018
@ghost ghost added the in progress label Oct 4, 2018
@SvenMeyer
Copy link

SvenMeyer commented Oct 7, 2018

A good read on this topic on the underlying motivation ...
https://www.ccn.com/paradigm-shift-samourai-wallet-removes-fiat-values-in-favor-of-satoshis/

although I still see some value to display FIAT as a reference in small letters (!), just as a x-check and to avoid that inexperienced users are unintentionally transferring random amounts ... but eventually (when people have a better "feeling" about ETH value) it should totally go away.

@bdresser bdresser mentioned this issue Oct 15, 2018
11 tasks
@ghost ghost removed the in progress label Oct 16, 2018
@grahamPegNetwork
Copy link

thanks for the feedback @SvenMeyer!

We prioritize having a stable, usable extension first and foremost. Your viewpoint as someone familiar with Ethereum is just one of many perspectives – it's impossible and unrealistic (not to mention exclusionary) to think that personal intuition is the best answer to the many design & usability questions that come up!

If your comments are based in quantitative or qualitative research, we would love to hear more about your findings - email support@metamask.io and mention this issue number. If not, we'll incorporate your design feedback along with other individual pieces of feedback we receive, and thanks for speaking up!

There has been some very good feedback from community members and it's basically being ignored because we are...biased?

How about this. I have used MetaMask for ages now, today I sent this transaction:
https://etherscan.io/tx/0x150992476c882350acfad94e5927edb04080dc4b2741c2faf76ccf37ea8c7f11
Who freaking moved my cheese? I didn't manually update MetaMask, I did not choose for fiat to be my default display currency. Somehow, my extension was automatically updated, without notifying me, and rather than sending 0.1 ETH, it decided to send 0.10 USD.

This is absurd

I understand having options for fiat, I completely disagree in this case.

I can't even think of why anyone working in blockchain/crypto space comes up with the idea to display a (random) FIAT currency in BIG LETTERS within a software which is meant to be used to transfer Ethereum. It's all about ETH. There is ETH in the account, users want to send ETH, Gas is derived from ETH, ... it has nothing to do with any FIAT currency. This is the worst UI decision I have seen in this space so far, and I would just ignore it if it hadn't been done in one of the most prominent user facing software in blockchain space.
As people may move from FIAT space to Crypto, or may want to pay FIAT values with Crypto, I would not rule out the option to display a FIAT currency in a small (!) font below.
How do you want to support adoption of blockchain/crypto if the UI just looks like any other app to send USD?

I completely agree with this statement.

How is it acceptable to roll out an update that changes my settings? Sure, install Metamask and have new defaults, but I have always used ETH as my default currency, and some random deployment that I couldn't control changed my settings, resulting in a transaction I did not intend to send. Let's be thankful it was for less than the intended amount, can you imagine the outrage if something changed the other way?

Problems like this give more fuel to the case to move over to Scatter...

@alextsg
Copy link
Contributor

alextsg commented Nov 14, 2018

Hey @grahamPegNetwork , thanks for the feedback. The intention of this change was to allow users to have a toggle to switch between displaying ETH and Fiat based on their own preferences. It was also intended to have ETH be the default, but there was likely a bug with the migration during the update that caused the preference to default to Fiat. However, this only affects the display of the currency. Nothing about the actual transaction has changed - the UI just does a conversion to your selected Fiat currency based on the preference. Hope that clears things up.

@grahamPegNetwork
Copy link

Hey @grahamPegNetwork , thanks for the feedback. The intention of this change was to allow users to have a toggle to switch between displaying ETH and Fiat based on their own preferences. It was also intended to have ETH be the default, but there was likely a bug with the migration during the update that caused the preference to default to Fiat. However, this only affects the display of the currency. Nothing about the actual transaction has changed - the UI just does a conversion to your selected Fiat currency based on the preference. Hope that clears things up.

Thanks for the clarification, the problem I had is that it did affect my transaction, to a certain extent. As previously mentioned, I've been using MM for ages, and today I (somewhat blindly) entered "0.1" and clicked submit (also trusting that gas was reasonable). Half an hour later a colleague said I only sent them ten cents. (See the transaction linked)
I have a huge problem with UI elements being changed and converting a field which used to always be ETH into fiat. I understand new defaults for fiat with new installs (not that I agree, but that's another issue) but for MM to change field types and to convert the number I entered, intending for ETH and using fiat instead without asking, giving me the option to choose a setting, or anything, that's plain wrong.

"the UI just does a conversion to your selected Fiat currency based on the preference. Hope that clears things up."
One of the main points is that it wasn't my preference, my preferences were actually hijacked without me even knowing. If you look at it from a user's perspective, this makes me feel like I was phished, like a field changed a second before I clicked a button or something like that. I intended to use MM to send a certain amount of currency, the settings changed without my knowledge, and it resulted in an actual transaction that was different from what I intended. That's a very major issue IMHO. In this case I wasted a small amount of gas. If the roles had been switched I would have sent around 200x the value I intended to send, that would hardly be a minor UX hiccup.

@alextsg
Copy link
Contributor

alextsg commented Nov 15, 2018

@grahamPegNetwork Yep I totally understand where you're coming from, and it's definitely frustrating to have to go through that. My point was that it was a bug during the update that led to your fields getting switched up, and that the change was unintentional. What should have happened was to default to ETH for new installs, and keep the existing preference for an update.

@grahamPegNetwork
Copy link

Okay. Thanks for the input there @alextsg . Hope to avoid bugs like this in the future!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-UI Relating to the user interface.
Projects
None yet
Development

No branches or pull requests

10 participants