0

See this is very interesting issue.

User on my website uploads a design for 3D printing and then we offer him different prizes for different materials. For an example, if you upload a model and want us to print in a specific material, we will give him a quote in American Dollars. ( User gets to choose his own currency in account settings ).

But now if he opens the same website in another tab and then changes his currency settings from USD to Japanese YEN, what should be the behavior or message in first tab where he has all the rates in American Dollars.

  1. Currency automatically gets converted from USD to YEN.
  2. We notify user on the first tab that currency has been changed and he needs to refresh the page.
  3. Nothing happens on the first tab but when he clicks the link for prices in his email again ( we send user a link where he can check the rates for that specific model ), he sees converted rates.

1 Answer 1

1

Correct me if I am wrong, but it appears to be an issue with state management across browser tabs and it appears to be corner case. When you are coding for corner cases, you must make sure that the system does not break. But higher priority must be given to the most common flow.

Having said that I would be reluctant to go all the way to monitor state change on other tabs and reflect it on other tabs. Today you are facing a problem of currency, tomorrow there might be something else. When the system changes the data which user entered, there should be strong reason to do so. As a practice it is almost always discouraged.

Considering this, the second option is much suited, which informs user that state has changed and a more current version is available elsewhere. If I give you an example of how sites like Quora and Medium work, they notify user that state of the form user is editing has updated somewhere else. This info is good enough, as it still keeps the control in the hands of user.

1
  • You are welcome @GuruMunishwar Glad to be of help.
    – Harshal
    Feb 26, 2015 at 6:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.