Typical smartphone keyboards are modal. There is usually a basic QWERTY/Basic punctuation keyboard by default that can be switched to numeric/extended punctuation mode.

This works reasonably well until we get to the issue of entering a Canadian postal code of the form "L2L 2L2". (Casing and the space are unimportant.) In order to enter a code, the user has to toggle the keyboard mode 5 times, making the input extremely clicky.

One alternative would be to provide 6 option lists, (A-Z, 0-9, A-Z ...), but the alpha lists would be quite long, and might not fit on the screen.

Has anyone looked at this problem, and what alternatives did you come up with?

  • Can the postal code (or part of it) be generated based on other information (like state, city, street)?
    – Inca
    Commented Nov 26, 2011 at 12:05

4 Answers 4


1. Genereal Idea

I'm not from Canada but you could check the possible combinations and just provide the keys that are possible after typing or selecting one character.

2. six spinning wheels

enter image description here

K1A 0B1

Letter Number Letter Number Letter Number

Also here make sure just to display the possible next letter or number.

  • I like the idea of making the keyboard context sensitive. It takes the work away from the user and only provides them with the required items.
    – Sheff
    Commented Nov 26, 2011 at 9:18
  • I like the spinning wheels idea. It removes the keyboard aspect altogether, and follows the idiom of date selection on the built in calendar. It means I don't have to train the user. Commented Nov 28, 2011 at 16:53
  • this would be very tedius vs. a plain text field.
    – DA01
    Commented Oct 10, 2015 at 17:46

Nice problem!

I would try to create a custom control which does one of the following:

  1. Bring up the standard keyboard and change its mode automatically with each keypress - letters->digits->letters etc.
  2. Bring up a custom keyboard and also change its mode automatically. A different look and feel than the standard keyboard would convey the message that this is a different keyboard that acts differently.
  3. Bring up a custom keyboard that has all the letters and digits on screen at the same time.
  • I like #3, but that's far more work than I'm interested in. Commented Nov 25, 2011 at 21:56
  • I'll award the bounty early next week - let it sit and see if a truly brilliant solution comes up. Commented Nov 25, 2011 at 21:57

Difficult. The entering letters first, than numbers could perhaps be helped by alining the inputs differently. Then moving across, then downward may be understood by the users. Might be worth a test drive.

Letters top, numbers bottom

It depends, among other things, how often your users need to do it. If users need to input a postal code more than one single time, the learning curve (quite small, I suspect, but still there) may be worth it.

  • That's worth a test drive. Commented Nov 26, 2011 at 13:37
  • 1
    This is great! Be sure to accept either "abc123" or "a1b2c3", filling in the appropriate box depending on whether a number or letter was typed. Commented Nov 28, 2011 at 0:29

One alternative I thought of, and dismissed, was to provide the user with an alternate entry option(along side the normal version) - If the code is "A1B 2C3" they could enter "ABC123" and then de-mung it and have them approve it.

I dismissed it because it violates the "Don't confuse your users" rule.

  • I think this is the best option, as long as users aren't forced to explicitly choose one format or the other. (See the forgiving format design pattern.) Commented Nov 28, 2011 at 0:35

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.