Search this site:


January 26, 2005 01:05 AM

Broken: Amex payment line

Broken_amexPaul Schreiber writes:

Amex payment requires me to type "1000.00" instead of "1000".

Because some programmer was too lazy to code a regex, tens of thousand of users have to suffer.


What is with all these non broken things showing up? how is this broken? you have to specify cents, 0-99 it doesnt matter, $1000 is an incomplete specification, god forbid .00 be typed afterwards, its also a good way to check too, cause i might accidently type 10000 and forget the decimal.. oops i just did $10,000 instead of $100

Posted by: Dragon at January 26, 2005 02:07 AM

I think there's probably a legal justification behind this. The latest version of the software that runs Wells Fargo ATMs requires you to enter a .00 when making deposits, when previous ones did not.

However, their consumer banking website does not.

I would agree that it's broken, though -- the number of people that enter the wrong value is going to be tiny compared to the people that get a validation error because they didn't type the extra bits.

Posted by: Josh at January 26, 2005 02:36 AM

This is so not broken. It actually makes you stop and make sure you're entering the right amount, and any form of self-check when you're dealing with money can't be bad. And I agree with Dragon; once again, this is NOT broken - the website works fine.

Posted by: Ryan Freedman at January 26, 2005 05:25 AM

"$1000 is an incomplete specification"

Amex is trying to get *other people* to give *them* money, and they're making it harder than necessary to do so. Broken.

If $1000 is an "incomplete specification" then their (and your) idea about how to express dollar values is broken; if they're just being lazy and using input validation to catch outright typos (the same sort of typo as "$100" instead of "$1000") then their UI is broken. If they want a confirmation screen, they should provide a confirmation screen.

Posted by: mendel at January 26, 2005 08:15 AM

Lousy programmer and broken design.

Posted by: dusoft at January 26, 2005 08:19 AM

Wow, some people are too picky. Do you think AMEX wants to deal with people that put in 1000 and mean 10.00? Of course not. In the real world this is not even close to being broken.

Posted by: Matt T. at January 26, 2005 08:37 AM

"this is NOT broken - the website works fine." Uh, hello? The site's about broken customer experiences (look at the tag line of the site), not just things that don't work. This makes sense on an ATM because most ATMs don't allow you to place the decimal point, they just fill in the numbers from the right. It makes no sense in a text input box, where people can enter the decimal and place it where they want. It might make some sense if the decimal was on the form, and there were two input boxes, for dollars and cents, but if I have one text box, and I don't put a decimal in, I don't want to specify any cents.

Posted by: anitsirK at January 26, 2005 09:02 AM

"...the number of people that enter the wrong value is going to be tiny compared to the people that get a validation error because they didn't type the extra bits."

"...making it harder than necessary..."

'Number of people affected' is not the primary factor. The consequence of one customer entering the wrong value is far greater than the consequence of ten customers having to do the extra work.

Amex will not make its customers happy if they appear sloppy about money (even if it's the customer's fault).

Not broken.

Posted by: DaveC426913 at January 26, 2005 09:05 AM

This the way most sites I've seen do it.

1. I enter "1000".

2. Confirmation page says "1000.00". Yup, that's another way of expressing what I wanted.

3. Receipt page and future statements say "1000.00".

Even if "1000" is incomplete by some standard, why is it too much to ask the software to take the obvious step of adding the ".00" instead of waiting for me to do it?

(And by the way, how often do people enter "1000" when they really mean "1000.99"?)

Posted by: Christian Murphy at January 26, 2005 10:19 AM

If it's not what the majority of users expect, the user interface is broken. I can accept having to enter the decimal point, as long as it's clear to me what format it has to be in, *BEFORE* I enter it. Put a little note in brackets, next to the label, saying ($#.##). I was taught the basic principles of user interface design for data input in high school, 7 years ago: UFIPDIP: User Friendly Idiot Proof Data Input Programs. This is missing the User Friendly, though it has the Idiot Proof down. A simple message telling the user what format the input had to be in would make this usable (ie, not a broken customer experience).

Christian: I think the issue is with people who enter 1000 when they mean 10.00, which is silly, unless you're used to software that does that sort of conversion auto-magically, like accounting software... in which case, the person programming built it for people like themselves, which is not what you do when building an interface.

Posted by: anitsirK at January 26, 2005 10:31 AM

by looking a the picture it becomes clear that decimal points are obvious long before you try to put in the value, otherwise the first option would not be marked 48.00.

Posted by: Dragon at January 26, 2005 10:49 AM

This is broken. I once wrote a JavaScript validator for a website that formatted currency values for you. For example, if you entered "1000", the website automatically turned the entry into "$1,000.00". And my software recognized the completely formatted number as a numerical value. If I can do it with JavaScript and some RegEx, Amex can do it too.

Posted by: Jay at January 26, 2005 11:04 AM

What if I'm European and want to send $10.000,00?

:) kidding of course.

On this one I would say it's not programmer error: (float)1000 == 1000.00f. That's automatic.

I guess that the overall American Express policy is that the cents must be specified by the check writer on every check. It's one way to prevent someone from adding zeroes to the end. They've just extended this general security policy to their electronic systems.

Posted by: Reed at January 26, 2005 11:30 AM

Maybe since forcing people to enter ".00" with every transaction is such a good idea to protect people from entering "1030" when they mean "10.30", the form should only accept a full-text description like "One thousand dollars and 30/100 cents". Now *that* would cure the epidemic of people unable to remember the decimal point!

Posted by: Rob at January 26, 2005 12:21 PM

Yep, it's a broken customer experience. Computers are supposed to make life easier for people, not harder. In an ideal world, I should be able to enter "1000" or "$1,000.00" or "$1k" or even "a cool grand" and have the machine understand me. (And if you think this is impossible, try playing around with Google's unit conversions sometime.)

On the other hand, the two options on this screen for commonly chosen amounts (minimum payment and full balance) are an example of good interface design, an attempt to anticipate the customer's needs and provide an easy path.

Posted by: E.T. at January 26, 2005 12:30 PM

"Because some programmer was too lazy"

I'd wager that this is a policy thing, and not something the programmer decided to do on his own. I've had customers insist on silly little things like this that they think will keep the users from shooting themselves in the foot. When I've objected, their response was generally a variation on "you guys are just genius programmers who don't understand users".

In fact, the programmer probably had to do more work to prevent the users from entering "1000" since most every programming language parses that format as easily as "1000.00".

Posted by: gerrard at January 26, 2005 01:36 PM

Dragon: I realize this is quite rare, but what if the minimum payment is an actual percentage of what is owed, rather than a round number? You won't have anything on the screen indicating that '.00's must be specified.

gerrard: I agree with that. I just think it's a stupid policy, probably resulting from people who use accounting software all day saying "but I expect it to work this way, and other people always think like me!"

Posted by: anitsirK at January 26, 2005 02:46 PM

i think the only foolproof way that wouldnt confuse anyone would be to have two separate boxes, one for dollars and one for cents.

$___ . __

Posted by: Carl Winslow at January 26, 2005 04:40 PM

If Amex wants to make sure people don't put $1000 instead of $10.00, why don't they just have a confirmation page? Instead of "Use a decimal point," why not "Payment amount: $1000.00. Proceed?"? If a customer is unsatisfied with their experience, it's broken. Simple as that.

Posted by: A1 at January 26, 2005 05:20 PM

"If a customer is unsatisfied with their experience, it's broken. Simple as that." there is ALWAYS going to be one or many customers unsatisfied with their experience, so by your logic, everything is broken.

Posted by: Dragon at January 26, 2005 05:29 PM

"Computers are supposed to make life easier for people, not harder. "

Computers are not supposed to make *mistakes* easier for people to make.

I have a receipt from an ATM pinned to my cubicle that shows my attempt to deposit a $124,856.00 cheque into my account (it was both inadvertant and successful). Oops.

See, it didn't demand a decimal, I didn't think to provide one.

Point is, this is not about the interface, broken or not broken - it's about ensuring that the customer's *intent* (as possibly different from their *action*) is captured.

Posted by: DaveC426913 at January 26, 2005 05:32 PM

anitsirK, I'm sure you're right on both counts.

DaveC, you have a reasonable point that people's actions may not be what they intended.

Typing "1000" when you mean "10.00" is a special case of a typo. After all, it's easy enough to type the wrong number of zeros before the decimal point too, if you're not careful. That's why I think it needs a confirmation. Anyone who reads the confirmation should notice the problem there (and it needs to be designed so that they _do_ notice the problem). Forcing people to add ".00" every time is not much better than making them add ".hippo" or some other arbitrary string.

Posted by: Christian Murphy at January 26, 2005 07:14 PM

I have to agree that this is broken. If someone types in "1000" when they meant "10.00", then it's their own stupid fault. Why punish the rest of us that actually want to specify a full dollar amount? Plenty of sites I use to make online payments do NOT require that I enter the cents. And every single one of them has a confirmation page to show me what I'm doing before they proceed with the transaction.

Broken design because you're trying to bring all customers down to the level of the dumbest user.

Posted by: Manni at January 26, 2005 07:50 PM

A simple solution to the debate: user testing.

Outcome A) A majority of users catch themselves and enter the decimal point before submitting.

Outcome B) A majority of people hit submit without noticing they needed to enter a decimal, landing them on an error page.

If Outcome A occurs most often, it's not broken; if B, then it's broken.

My money, by the way, is on Outcome B.

Posted by: Michael McWatters at January 26, 2005 10:40 PM

There is nothing to suggest there is not a confirmation page afterwards if you do include the cents to double check what you entered is what you want, but if you think a certain type of format is broken, then so are most companies because different companies usually require specific fonts for their paperwork, so it must be done in a certain way anyways... The best way to help the user, is to treat them like they are idiots, that way, no one can make any gigantic mistakes.

My money is on outcome A for the mere fact that people are knowledgeable about their payments and are more likely to pay specific amounts than that of rounded numbers, some of us like to keep our budget balanced while paying the most possible at a time.

Posted by: Dragon at January 27, 2005 12:00 AM

Dragon, I disagree that treating users like idiots is the best way to ensure to usability. Acknowledging how they typically approach problems and situations is the best way to treat them.

Your second sentence doesn't make much sense: "...different companies usually require specific fonts for their paperwork..." I've yet to encounter a form that required me to use a specific font. If it did, that would definitely be broken!

Finally, your last statement contradicts itself. If people are knowledgeable about their payments, then they'll enter the amount they want. If they want decimals, they'll enter them. If not, they won't. Why not create a form that allows them to do either and then have a simple confirmation screen (which is pretty standard) that allows them to check before submitting. That would be both standard and helpful.

This is, definitely, broken.

Posted by: Michael McWatters at January 27, 2005 06:15 PM

It would irritate me, as a user. Am I broken?

Posted by: Bianca at January 27, 2005 07:37 PM

I have to say, this is error checking, plain and simple. Everyone seems to be intent on pointing out how they never make a mistakee, and enter an incorrect value by accident but come on.

It's a hassle true, but less so than bouncing checks for a week because AmEx took too much money out of your account. Don't forget that paper bills also have a space for decimals, are those broken?

The only thing that is actually broken, is that the AmEx page should have a note to include decimal points.

Posted by: Patrick at January 28, 2005 01:53 PM

One additional fyi: If we consider the practices of major software developers who have been building financial software for years as a decent indicator of usability, none of them require you to add a decimal (Quicken, etc.). You can either enter the number 400 or 400.38. It accepts your entry either way.

This is yet another Web site introducing its own unique and quirky way of doing things because of an internal issue (technology or internal practices) rather than considering the needs of the user.

Still broken.

Posted by: Michael McWatters at January 29, 2005 11:00 AM

Even if forcing the user to append .00 to whole numbers is meant as error-checking, it's still broken. This will only check for one kind of error, namely missing (or misplaced) decimal points. Far more common will be transposed digits, missing digits, or extraneous/repeated digits -- to catch these errors you need a confirmation screen. So I'm assuming that Amex also has a confirmation screen ... but that screen will also catch missing/misplaced decimals! You don't need to check for the same error twice, especially when you only check for more common errors only once.

But I really doubt that it's broken error-checking. My top suspects are (a) broken programmer, coding for himself rather than his customer, or (b) broken company policy, that doesn't recognize the difference between entering data electronically and physically writing it on a cheque. This time I really feel justified in saying: Broken, broken, broken!

Posted by: E.T. at January 31, 2005 10:23 AM

I continue to wonder how the human race has survived this long. It takes LESS THAN ONE SECOND TO TYPE ".00", unless you are diseased or brain-dead. PEOPLE are stupid... individuals can be intelligent, but no way any good programmer or engineer is going to allow his/her program to be up to the user for accuracy. It's there for you protection, be glad that someone a little brighter than you is looking out for your silly-a.. self.

Posted by: wtf? at February 5, 2005 09:09 PM

Dear WTF, I'm not usually this bold, and try to be polite, but your attitude, if you are a programmer, is exactly what is wrong with design and engineering online. You treat your users with contempt and your attitude toward usability matches your moniker exactly: "WTF." I'm sure Mark will pull my post, and hopefully yours, and that's okay, but if you read this before then, I hope you understand that not eveyrone is a 21-year-old propellor head geek. Some people are older, less savvy, etc. This does not make them stupid. In fact, they probably have talents you never will. And that doesn't make you stupid, either. But if, in their specializations (doctors, lawyers, police, etc.) they treated you as you seem to want to treat users, I don't think you'd be happy.

Posted by: Mac Spam at February 6, 2005 01:43 PM

The last time I bid on eBay for a used iPod, I entered 100.00. Then when the site told me to confirm bid, the program read it as $10,000.00!! I went back and entered the 'incomplete specification' (as reader Mendel stated) of 100 and my bid was $100.00. (I was later outbid).

Posted by: rooknut at February 7, 2005 07:15 AM

As a programmer I agree that this was definitely coded this way specifically, and was not the result of laziness. One explanation for it is that many accounting applications (your ATM, MAC, or other cash machine for example) automatically inserts the decimal point for you. In order to get "1000.00" you must type "100000." On the other hand, having received similar error messages in the past (due to user laziness), I agree that it should be fixed.

Perhaps it should (as suggested earlier) automatically add ".00" using Javascript. Also an Bold, Red alert could be added to the confirmation page warning if the value entered is extremely large.

Pity those of us using First USA, I mean Bank 1, I mean Chase.... (Heck, I don't even know the name of the bank anymore.) There is *NO* confirmation screen when you enter a CC payment, so you'd better get it right the first time!

Posted by: Mike at May 5, 2005 09:02 PM

Comments on this entry are closed

Previous Posts: