Skip to content

[0.12.0.7-979] Currency Exchange UI is misleading / illegible #25762

@SirWilkor

Description

@SirWilkor

Hey team - Wilkor here, admin of Vasingtonia,

The CurrencyExchange UI strongly encourages users to misread the transaction direction (which currency is received vs which is paid). The layout reads left-to-right like a purchase of the right-side currency, because the amount field and Buy button sit on the right-side of the row. However, the actual behaviour is the opposite: the player is buying the left currency and paying the right currency.

This regularly causes real user errors, confusion, and unnecessary player-to-player support.

Problem Description
In the exchange list, each row is presented approximately like:
1 [Currency1] 1.13 [Currency2] [amount field] [Buy button]

A typical user interprets this as: “I’m buying Currency2” (because the input + Buy button are visually anchored to the Currency2 side)
But the system actually means: “I’m choosing how much Currency1 to receive, and it will cost me Currency2”

This is reinforced by the confirmation popup and balance readout reversing the reading direction again, creating a “read left-to-right, then the action loops back to the left” effect.

Confirmation popup reverses the interpretation
After clicking Buy, the popup presents it as: “Do you wish to receive 1 Currency1 in exchange for 1.14 Currency2”

So the UI row looks like you’re buying Currency2, but the confirmation says you’re receiving Currency1. This feels like a correction to the user rather than a confirmation of what they already understood.

Image

Player impact
This confusion occurs frequently in normal play. Example from a real player conversation (paraphrased):

  • Player attempts conversion calculations and keeps selecting the wrong line because they can’t confidently tell which currency is being received vs paid.
  • Player specifically calls out the exchange UI as the root cause and relies on the confirmation popup to interpret the direction.
  • Even after explanation, the UI still reads counterintuitively and causes repeated mistakes.

This is a simple system made overly complicated by presentation.

Expected Behaviour
A player should be able to glance at the row and immediately understand:

  • What currency they will receive
  • What currency they will pay
  • The implied rate
  • The total cost for the entered amount (including obvious taxes/fees if relevant)

The UI should not require trial-and-error, a confirmation popup “correction”, or external spreadsheets to understand the transaction direction.

Suggested fixes (UX improvements)

Image

1) Move the amount field + Buy button to the “currency being received” side
Anchor the interaction controls next to the currency the player is receiving/buying.
Example directionally clearer layout:

[amount field] [Buy] Receive: X Currency1 = Pay: Y Currency2

This makes the left-to-right reading match the action the player is taking.

2) Replace “Offering (Owner Currency)” with clearer language

“Offering (Owner Currency)” is ambiguous (owner of what? the exchange? the currency? the account?).

Suggestion:

  • Replace with: “Exchange is selling:”
    This makes it unambiguous for both:
  • The player setting up the exchange
  • The player using the exchange

3) Add an explicit equals sign / direction indicator
At minimum, add “=” between the currencies so the rate reads like a rate.
Even better: use explicit labels: “Receive” and “Pay”, or “You get” and “You pay”.

4) Make the totals dynamic based on the entered amount
When a player enters an amount (e.g., 100), the UI should immediately show the calculated counter-value (e.g., 114) on the other side.
This removes the need for mental arithmetic and makes the transaction direction obvious at a glance.

5) Restore ability to choose the bank account used in exchange
Currently exchanges appear limited to personal accounts only. This creates real mechanical and social friction:

  • Government players must transfer large sums to personal accounts to use exchanges, creating unnecessary admin overhead
  • It can trigger taxes or social/political optics that shouldn’t be forced by UI constraints
  • Shop owners / orgs must do extra transfers to move funds into shop accounts after exchange
  • Unlike store purchases, the exchange UI does not clearly indicate taxes/extra costs that might apply (even an approximate “store-like” tax preview would be a major usability improvement)

If the Store UI already has solved patterns for account selection and tax visibility, the Currency Exchange could mirror those mechanics.

Why this matters
The current UI design produces consistent user misunderstanding and leads to wrong trades. The system itself is simple - the UI is the source of complexity.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions