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.

When is it appropriate to 'auto advance' from one text field to the next, as in phone numbers and SSN?

share|improve this question
2  
I find this topic to be interesting because of lack of consistency that is used with auto advancing today. Auto advancing can be extremely effective if done right, through the flow of typing, but seems to be a huge pain because users will expect to have to hit tab, or click on the next one. –  Kyle Mirro Jun 15 '12 at 17:33
    
Related: ux.stackexchange.com/questions/18764/… –  Karen Jun 15 '12 at 20:22
1  
It's always inappropriate if the user isn't expecting it. Since user's can't expect it at all times, I'd suggest never doing it. –  DA01 Jun 15 '12 at 20:31
add comment

5 Answers

up vote 30 down vote accepted

Because this behavior is rare and therefore unexpected, it will surprise most novice users, which can cause them to misunderstand how to use the interface, and interfere with usability.

(An example of this interference might be if the user fills out the field and presses tab, while you have auto-advanced, and while they think they are typing in the next field, they discover that they are actually typing in the field after the next field).

However if you have very experienced users who use your form every day, they will grow accustomed to this behavior and appreciate the shortcut.

So I would say

  • don't do it if your users only occasionally use this form, for example, if this is the sign up form of your web site.

  • consider it only if your users visit this page again and again, for example, if you are providing a user interface for call-center agents to enter data which they enter many times a day.

share|improve this answer
6  
I think advanced users will, more likely than not, be very comfortable with the tab key. The muscle-memory of using that key will make it almost negligible compared to the time and effort it will take them to "grow accustomed to this behavior..." I think advanced users will be initially quite put-off by auto-advancing fields and will likely be quite vocal about their frustrations. –  mawcsco Jun 15 '12 at 19:35
5  
I'm not distinguishing users based on their computer skills, I'm distinguishing them based on how often they use this particular form. It is common to put all kinds of keyboard shortcuts into interfaces designed for data entry people. In most cases, yes, it's a bad idea to auto-advance, but if you have a bookkeeper who has to enter hundreds of records, every shortcut is cherished. –  Joel Spolsky Jun 15 '12 at 20:39
add comment

I think you should always auto-advance to the next field, and include measures to guard against inadvertent user tabbing, eg. block the tab key for half a second or so after the last auto-advance if the current field is empty, etc. That way you get the best of both worlds and handle the expectations of both kinds of users.

I personally find it somewhat frustrating when I try to fill out forms quickly then find out that there is no auto-advance. Not knowing what to expect, I always end up pausing for a second after typing the first part of a phone number or SSN.

share|improve this answer
add comment

Excellent answers on whether you should use the common auto-advance has already been written. Instead, I'll propose a bit of an alternative to the regular auto-advance.

Instead of sending the user to the next field automatically after having typed in the mandatory 6 letters in the field (or whatever), you should keep the cursor in the first field. Only when a new key is pressed, the cursor should be moved to the next field, unless that key is backspace.

Pros

  • If a user doesn't know the form uses auto-advance, they can press TAB as per usual.
  • If the user assumes auto-advance is on, this will also work as expected the moment a key is pressed.
  • Contrary to regular auto-advance, if a user mistypes the last letter, he isn't forced to manually go back to the prvious field; the cursor is still there.

Cons

  • The user might get confused when the cursor is blinking in one field, and the very moment a key is pressed, the letter appears in another field where the cursor has also been moved to.
share|improve this answer
    
+1 This already works well with serial entry forms. However, you must not count whitespace characters (space, enter, tab) which may be pasted in if someone is copy pasting instead of typing. –  Danny Varod Jun 15 '12 at 23:50
add comment

Very often we are trying to make it easier for the user to solve a problem for us, when really we should be solving the problem ourselves.

In this case, the auto advance technique is used to make it easier for users to fill in multiple form fields, but why not make it easiest of all and skip the multiple form fields entirely? In the case of a phone number, for example, why not just have one form field for all numbers and then separate them programmatically on the backend if needed?

This simplifies the task for the user, which is better than trying to make a more complex task easier.

See this take on why Mint beat Wesabe (it's a little broad as it relates to this subject but is definitely relevant) for an example of this principle in action: Mint focused on doing everything for the user so they didn't have to do it themselves:

Mint focused on making the user do almost no work at all, by automatically editing and categorizing their data, reducing the number of fields in their signup form, and giving them immediate gratification as soon as they possibly could...

share|improve this answer
    
+1 for looking at the problem deeper. –  DA01 Jun 15 '12 at 20:32
1  
Note that having a single field for a phone number or SSN doesn't mean that the blocks of digits can't be separated. The separating hyphens can appear within the field. (Some variations of this require a bit of magic to make editing work right.) In my mind this is the best of both worlds. It's clear to the user how you're interpreting the input, it saves keystrokes or clicks, and you get to essentially enforce the format as you go, but there's no unexpected behavior. –  Jefromi Jun 15 '12 at 23:18
add comment

With one of my previous assignments, this issue came up with our users. It turned out frustrating for both beginner and advanced users. Here are some major issues with auto-advancing:

  1. Not everyone looks at the screen while typing. They may not realize that they are in a new field and will type erroneous values. This happens even to people who are aware that the fields will auto-advance.

  2. Knowing when to advance to the next field is quite tricky. Almost always, the advanced user will know better than you that he should advance to the next field. While the process of manually advancing to the next field will educate new users about when a field is complete. Advanced users will become quite comfortable with the tab key.

  3. This is an implementation issue/bug, but quite common, the programmer will have code that indicates that the focus should move, but the user wants to edit/append-to the previous field. The auto-advance mechanism often gets in the way, frustrating the user.

With these in mind, I can't think of many benefits to auto-advancing fields. Just make sure your tab order is appropriate and it should be ok.

share|improve this answer
    
+1 for #3. Three.ie broadband credit vouchers are typed into a set of fields which auto advance, and if you've made an error it's almost impossible to delete. –  TRiG Jun 15 '12 at 21:07
add 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.