Hacker News new | ask | show | jobs
by moritz64 935 days ago
A quite recent UX disaster at Paypal.

The Paypal iOS app used to behave strange with numbers. The interface was designed that you had to type in the amount you wanted to send in cents. If you wanted to send USD 50, you had to type 5000. Paypal then would add a comma after the second digit from the right. What made it even stranger: The numbers were aligned right, so it had the feeling of typing backwards. I never really got used to it.

A few weeks ago, without a note, the whole interface changed. Now you HAVE to fill in the comma. If you just type in 5000 like you did before, you would send USD 5000 instead of USD 50. I personally know of one person who send way to much money and I suspect it is because of this UX change.

Thoughtful design matters!

7 comments

Using a "comma" to refer to the decimal separator when talking about USD while writing in English about software (written in a computer language that uses a decimal point) took me on a mental rollercoaster. So much so that it led me to read the Wikipedia page on the decimal separator. My favorite part:

> Unicode defines a decimal separator key symbol (⎖ in hex U+2396, decimal 9110) which looks similar to the apostrophe. This symbol is from ISO/IEC 9995 and is intended for use on a keyboard to indicate a key that performs decimal separation.

>> Unicode defines a decimal separator key symbol (⎖ in hex U+2396, decimal 9110) which looks similar to the apostrophe. This symbol is from ISO/IEC 9995 and is intended for use on a keyboard to indicate a key that performs decimal separation.

Egad, settling the ./, issue by selecting ⎖ is like settling the debate between 0-based arrays and 1-based by numbering them from ½. Or between little- and big-endian by choosing middle-endian.

Note the keyboard part. I think this is meant to be what they can physically print on the numpad section of an international-style keyboard. When you're typing numbers in a Euro locale you'd get `,` but in US English you would get a period. (At least, I hope that's what the decimal key on the numpad does when you set your locale to a certain locale. It would be obnoxious if when typing numbers in an English context, you had to go find the period key on the other side.)

I don't think we're meant to normally switch to actually putting that character in our numbers though. If so, clearly nobody has agreed to do it!

Huh, I don't see it that way. It's totally unambiguous, there would be no way for that character to have entered the number without it being the decimal separator.

Contrast that to choosing either a period or a comma and your setting yourself up for serious potential errors.

Obviously the user doesn't need to see that symbol, you can localize it however you want.

The price in cents is the way "it was always done" in retail, back when POS terminals were not directly connected to cash registers and the worker had to manually type in the amount. But yeah, sudden change in US design will causemany errors everywhere.
I find gas station pumps 25% are with the cents approach but usually if you type in 60 and press enter it will work

It’s definitely one of those UI concepts that’s different depending on context. similar to password with some websites making up random rules that vary sufficiently enough where automated password entry doesn’t work nor does using a reusable password for sites you don’t care about

Then there’s microwaves and other timers.

Punching in “99” will run much longer than “100”.

I’m adding a tangent to a tangent, but “POS terminals” has to be one of the greatest naming decisions in history.
Yep, same acronym can be used when they work nicely, and when they stop working :)
I couldn't agree more.
Out of all places, Bank of America actually does this right. Any large wire transfer requires re-entering your credentials.
Always felt wrong. Now it's even more wrong.
I made a similar mistake, sending too little, back when PayPal had changed to use the user's local currency as the default instead of the currency I had my balance in.
Perhaps a better design could be two number fields clearly demarcating the two halves of the value.

Plus, you cannot fill more than digits after the decimal place for most currencies, so IMO the design they went with (even though it is done that way on POS terminals) is bad for web and phone apps.

For example, if some system showed a value to transfer at $25.645, and the person input 25645 by mistake, instead of 2564, they would end up sending $256!

I dont know what you mean by aligned right (if it aligned left it would have to know how much you intended to transfer before you started), but wells fargo web (and I think app) uses this, and I prefer it for making small payments. They know you're going to type the decimal anyway, so they save you a step. I get mildly annoyed that other banking sites make me type it. If I'm paying $83.21 I still have to type 4 digits, why not save me the step?
When I've encountered it, the interface has looked like this (as I'm in the process of filling it in):

    $_.__
    $_._1
    $_.12
    $1.23
    $12.34
Typically it also rejects non-numeral inputs, so if you muscle-memory a decimal point it gets ignored and your input (hopefully) proceeds normally. Whereas a "left-aligned" input would be the style that we're accustomed to from general text input:

    $
    $1
    $12
    $12.
    $12.3
    $12.34
Because lots of people send mostly whole numbers to friends and family. If I want to send $5 instead of typing "5" I now have to type "500"
I’m confused by the “aligned left” comment. Analogously this seems like saying left alignment in my word processor would mean the word processor would need to know what I was going to type before I type it.

Can you explain?