Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

I'm working on a financial web-application, and in some pages, the user has to fill an amount. We are dealing here with large amounts, and they are generally thousands or millions of $ / €.

In previous versions of the application, the pages contained a text field, where the user filled the amount value, and a radio button to choose the unit (K, M or B, where M was selected by default), like that:

mockup

download bmml source – Wireframes created with Balsamiq Mockups

But now, we decided to remove the radio buttons. The text field now accepts values such as 120 M for 120,000,000. However, we faced some situations where the user simply filled the text field with 120, and did not define the unit, which makes the amount to be 120 and not 120,000,000.

One solution we may develop is to have a client validation that forces the user to put a K, M or B in the field, so he will have to input 120 M and not 120. However, what I don't like with this solution, is that the user will not be able to fill a precise amount (such as 120,250,500, or he will have to write 120.250500 M or 120250.5K which is not really great I think).

Another idea is to have something like an auto-suggestion in this field that selects the M by default (a little like in the Google search field, when you start to type something). This way, if the user does not fill any amount, and just type tabulation, the field will automatically add the M to the amount.

I prefer the second solution, but maybe there is a better way to implement this feature...

So, what are your suggestions?


Edit, regarding the current answers

Here is another idea: I let the user inputs a value, using eventually the K, M or B suffix. I add a visual indication of the real amount just below, so the user can double check if the input is correct.

If the user does not add any suffix, I display the value in red, with a little warning icon (and a tooltip that explains what happens). Something like that:

mockup

download bmml source

What do you think of that?

share|improve this question
    
Could you clarify what K, M and B stand for? –  Bart Gijssens Mar 14 '12 at 8:09
    
How did a user write 120,250,500 before? Was it by writing 120.250500 and selecting "M"? –  AndroidHustle Mar 14 '12 at 8:10
    
@BartGijssens I would think K = Thousands, M = Millions, B = Billions –  AndroidHustle Mar 14 '12 at 8:10
    
Yes sorry. K M and B stands for Thousands (Kilo :) ), Millions and Billions. –  romaintaz Mar 14 '12 at 8:24
    
@AndroidHustle Yes, indeed. But with this refactoring, if we can also provide an easier way to input this kind of value, it would be great... –  romaintaz Mar 14 '12 at 8:25
show 4 more comments

5 Answers

up vote 8 down vote accepted

This is very dangerous ground.

The radio buttons not only make the input easier, they also serve as a sanity check for the user who gets a visual confirmation of the sum he typed in. I would bring them back. The new functionality you developed is excellent and it should stay. Of course, it should interact with the radio buttons, and once the user had typed M, the radio button should reflect that, and vice versa.

To be on the cautious side, I'd also provide an explicit read-only indication of the sum. It would also help to clarify that having K both in the input and the radio button doesn't mean that it's 120KxK, but it's the same K.

mockup

download bmml source – Wireframes created with Balsamiq Mockups

share|improve this answer
add comment

I have seen this feature on numerous systems and typically the field will change to display the actual number to be entered when the user navigates away from the field. For example, entering 120k would cause the field to show 120,000 once the field has been tabbed or clicked away from. This way, there is no ambiguity as to what value is being entered (assuming that the field is not the last one to be entered, or there is a way for the user to review their input before committing it).

Note that some financial systems such as Bloomberg take M for thousands (as in Millennium) and MM for millions (i.e. a thousand thousands). Is there a danger that your users could enter M for a thousand and get a million instead? Do you need agreement on the abbreviations to use, or maybe have a user setting for this??

Finally, make sure it can support negative numbers used with the abbreviations, and I would suggest still supporting decimals as some users will expect this, e.g. -120.5K would give -120,500.

Edit: One thing to remember is that the K, M and B are optional shortcuts for big round numbers, to save the user having to type a load of repeating zeroes and to avoid the risk of typing too many or too few. If the number to be entered is not nice and round or is a decimal, the easiest thing for the user is to type it in exactly as it is, without having to negotiate with an over engineered abbreviation system. Plus they might want to just paste a number into the field exactly as it is anyway.

share|improve this answer
add comment

Instead of having to clik on a radio button and then in the field why not mutualize these 2 actions in the selection of a case in a matrix. User clik on the correct field (K, M, B ... ) and enter his number as wanted. enter 36 in the M field = 36,000,000 enter 5123 in the B field = 5,123,000,000,000

Example below :

enter image description here

share|improve this answer
    
Not sure about this idea –  romaintaz Mar 7 '13 at 11:06
    
@romaintaz: That's not a very helpful comment. What do you think is wrong with it? –  André Mar 7 '13 at 13:06
    
This looks like it could get really confusing to the user. –  MCeley Mar 7 '13 at 13:13
    
I agree with @MCeley. It's not really intuitive for the user. –  romaintaz Mar 7 '13 at 16:48
add comment

I'd use the full number in the text field, but place thousands (or ten-thousands for Japan) separators as a visual indicator, plus a way to type large groups of zeros effectively, for example by pressing k or m:

User presses      Widget shows
1                 1
0                 10
k                 10,000
5                 10,005

If the cursor is repositioned or the widget loses focus, it should revert back to regular text edit (you can either remove the thousands separators then until the control is blurred, or hack something that skips them during cursor movement and edits); "quick entry" mode is (re)entered when the widget is focused while empty or when the entire contents of the field are marked and will be overwritten by the first keystroke.

share|improve this answer
1  
That's an unconventional notation. It needs to be thoroughly tested before live deployment. –  dnbrv Mar 14 '12 at 12:26
    
The user is still free to enter 10005 as 1,,0,0,0,5. The k notation allows placing a specific thousands separator at the current cursor position, so they do not have to think how many zeroes are needed here. But yes, I agree. :) –  Simon Richter Mar 14 '12 at 13:16
    
Actually, I would have expected 10k5 to result in 10500, not in 10005. The notation isn't completely alien, but its not all that common either. –  André Mar 7 '13 at 11:09
add comment

How about showing a live preview of the inserted value under the input box along with help information about the available multipliers?

share|improve this answer
    
This qualifies more as a comment than an answer. –  AndroidHustle Mar 14 '12 at 8:52
    
I’ll be more careful with the question marks in the future :) –  kaarel Mar 14 '12 at 8:54
    
fair enough! =) –  AndroidHustle Mar 14 '12 at 8:56
1  
I think it does qualify as an answer. Jusdt because it is stated as a question does not mean it can't be an answer. In fact the suggested solution is the same one as Vitaly posted, only his answer is more graphical. –  Bart Gijssens Mar 14 '12 at 8:58
1  
@BartGijssens well then I guess we differ in that regard. As far as I'm concerned the answer should be outlined as an informative reasoning around the question, and a proper solution. And maybe with a query like comment at the end of the answer, to trigger feedback. An answer merely formed as a question should IMHO rather be posted as a comment. I'm not debating whether it's helpful or not, I'm just asking for a different disposition. –  AndroidHustle Mar 14 '12 at 9:06
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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