All projects: Gel, Jobs, Gootodo, Games, Uncle Mark, Goovite, Blog, Bit Literacy
Broken: Error message(s) at Amex
In the year 2007 there's no reason for websites to wonder whether one or more events just occurred, and so there's never a reason to use paren(s). For example,...
Your payment(s) have been accepted. You may view your payment(s) in your Recent Payment history.
...as though it's too difficult to figure out whether there was one payment, or multiple payments. Can the webserver not count that high?
The text above is from American Express, a company that really can afford to do better. (See original screenshot.)
See also: Things that need to STOP


There's a very good reason why businesses (including AmEx) continue to write error messages using parens to indicate that you may have submitted more than one change--cost. The additional time spent coding the logic to have the system determine whether you've submitted one or more changes and the additional time spent testing the system to ensure that the correct message appears comes out of the development budget. Given the choice between spending money to have super-specific confirmation/error messages or spending it on making the actual transaction simple to use and bug-free, I know where I'd vote to spend my money.
I'd say that's because of lazy programmers.
To do that kind of functionality, one has to create a special function that will use either the singular or the plural word depending on the number.
So it's easier just to use the parens.
Krista,
I respectfully disagree with you on that. From a software development viewpoint, the coding of such functionality is insignificant. Here's a sample:
function imlazy(n, singular, plural)
if n > 1 return plural
return singular
end
print "Your " + imlazy(count, "payment", "payments") + " have been ..."
Modern frameworks even have a much more sophisticated pattern.
Is posting a comment on this subject the equivalent of joining an anally retentive support group?
Okay - it is not a programming issue, it is a copy writing issue. The text could read as follows:
"Thank you. Your payment is recorded in your Recent Payment History."
"Payment" could be reasonably interpreted to refer to more than one transaction in a session. The words "Payment History" could be a link for those that doubt Amex; presumably because of their poor use of English.
Now Mark - why does your comment text box not accommodate ndash and instead uses the hyphen in its place? Is it because you fear code insertion or that you fail to value the typographical tastes of your readers?
I also have to say I am irritated by the superfluous use of a colon after the "Comments" header above this text entry box.
Furthermore I now realise that this comment box is too narrow and inappropriate for a reasonable degree of invective - I am needlessly scrolling up and down!
Ahh ... I could go on. Let me make the real point - Good Experience shouldn't marginalise itself by turning into a shrew.
Meanwhile - keep up the Good Work everyone.
BTW - it's not 7.40 PM as recorded by your American-centric server, it is 8.40 AM in Singapore.
This is an issue of internationalization. Amex, and other international companies, have to write code where messages can be translated into multiple languages. The same code needs to work for all languages, but not all languages handle plurals in the same way.
Here is a quick summary of the problem:
http://doc.trolltech.com/qq/qq19-plurals.html
@Ivan
"
print "Your " + imlazy(count, "payment", "payments") + " have been ..."
"
When singular form is wanted this comes out:
Your payment have been...
This would not be proper English, I guess.
Now you can say 'just add the have or has to the returnstring' but in many languages, it works differently.
I've done some translating for a system at work, but I ended up translating the whole message, and not just the plural/singular word. Rephrasing was often needed.