Fog Creek Software
Discussion Board

Why auto tab-ahead on forms?

Some sites (Orbitz, American Express) have an irritating "feature" of automatically tabbing ahead to the next form field on fields with fixed lengths like telephone number. Why do they do this? Since only a few fields can behave like this and there's no indication, it's *always* is unexpected and irritating. I'm sure some nit wit designer thought it was a benefit and the demonstration elicited oohs and aahs.

Tuesday, April 15, 2003

Those sites must be designed by people who are used to working on mainframes with CICS user interfaces, where this style of interaction is the Very Latest (1967) Innovation.

It's a good idea for data entry professionals who enter the same type of data again and again all day long, which is what CICS was. For users on a web site it's stupid.

Joel Spolsky
Tuesday, April 15, 2003

Well, it's stupid only because it is not the way of users have been accustomed to data entry on the web.  I don't think it's necessarily stupid in and of itself.  The less typing the better IMO.

Tuesday, April 15, 2003

I disagree. I like it on some form fields. In fact, I get pissed when some sites don't use it.

For example, credit card fields are easier to double check your entry if they are split into 4 sub-fields: XXXX-XXXX-XXXX-XXXX. It annoys me when I have to tab between these fields.  Entry is much faster on the auto-tabbed fields.

I wouldn't recommend it for all entries - just those where there is a logical unity between "sub-entries". Besides split out credit card fields, I also like it for phone number, date, and social security number fields.

Tuesday, April 15, 2003

I totally agree with Nick.  On fields like telephone number, social security number, credit card number, etc, it makes sense.

One-Armed Bandit
Tuesday, April 15, 2003

Tab-ahead on data entry forms was a standard behavior  in DOS character mode business applications. It was a style probably "inherited" by imitation from mainframes. 

For several years in the mid 90's I got requests to support this behavior in Windows applications.  It *does* have its advantages and it's not stupid. If the screen locations of data entry are uniform and if the screen resolution itself is character mode (coarse), uniformity and shortcuts like this speed up operators' work.  Most rote data entry productivity took a swan dive with graphical Windows applications and the obsession of making keyboard data entry forms 'artistic' with proportional fonts, etc.

My opinion...

Bored Bystander
Tuesday, April 15, 2003

I'm used to entering things like credit card numbers, phone numbers, and social security numbers into a single form field. I'd hate to have to tab where I'm not used to tabbing.

Either way you'll upset some subset of the population. The best way would be to have 1 form field with scripts that automatically parsed & re-formatted your information. I've seen plenty like this, though they're probably much harder to implement.
Tuesday, April 15, 2003

Also agree with Nick. Treating clicks as sacred will ultimately improve the efficiency of the user.

It also helps to have a 'focus ring' to provide visual feedback to the user of which field has focus rather than just a narrow blinknig cursor.

UI Designer
Tuesday, April 15, 2003

Have you seen any of the truly "helpful" auto-tab forms around? I can't recall which site it was, but it was a big, financial-services type of site. It used the style discussed here - auto-tabbing to the next field when it detected enough characters in the existing field. Unfortunately, it presumed all entry was 100% correct 100% of the time. If you tried to Alt-Tab back to a field to correct an error, it would automatically and immediately tab back to the next field. You had to grab the mouse, select the text in the field to be changed and hit the delete key. Then and only then did you get another shot at entering the correct info.

Ryan LaNeve
Wednesday, April 16, 2003

Wait a minute... insert foot in mouth... mine that is.

I was describing a certain widespread convention of using the enter key to indicate tab-ahead. I misunderstood the original poster's statement.

In desktop apps, I've never been asked to jump out of fields when enough keys were entered.

The only places that this seems fairly "natural" are formatted data fields like phone numbers and IP addresses - and the tab-ahead action in those instances only moves you to the next section within the field you're in. Anything "more" seems klutzy.

Bored Bystander
Wednesday, April 16, 2003

They should have a setting to turn it on and off. Then everyone is happy!!!!

Wednesday, April 16, 2003

This is exactly the problem with web design. People actually think something like this is acceptable. And worse, that it's actually good, usable design. It is *never* appropriate. At a very minimum, it's inconsistent and in the minority. And it will *never* become the majority because it is unpredictable, of little value and *dumb*.

first name [tab] last name [tab] street [tab] city [tab] st [tab] zip [tab] are code [no tab!!]

How silly is that? This is *not* DOS!

Wednesday, April 16, 2003

Once upon a time I had to take a data entry test at a staffing place; about half the fields auto-tabbed, and the other half didn't.  And we're not talking about logically connected fields like area code-phone number or credit card number segments, but just limited-character fields.

I wasted far more time tabbing back (when I hit Tab not realizing it would autotab) than the form saved me.

I explained this to them when I finished.  Curiously, I never got called for an assignment there...

Wednesday, April 16, 2003

I think everyone is forgetting something here.  We're all developers, and most of us know what the Tab key is and how to use it.  In my experience, the vast majority of people I come across (that aren't computer workers or some sort) don't know that they can tab between form items on the web, or in any other part of the computer.

I discussed this at length with my fiancee a while back, and she loves the auto-tab to the next field.  Why?  Because she never uses tab, and has to get to the mouse, click on the next field, and then enter the next value

That is who this feature was designed for, the (majority) of users that don't use tab regularly.  And most of those users think "Hey, thats a nifty feature!" when they realize they don't need to use their mouse.

Andrew Hurst
Wednesday, April 16, 2003

have you ever had to type in a 25 digit product registration code for a Microsoft product?  the auto-tab is a wonderful feature.

on web pages when i'm typing a number (phone or SSN), i prefer to use the keypad.  the tab key is at the opposite end of the keyboard than the keypad.  i love auto-tab.  i'm disappointed when it's not there.

i hate trying to figure out what format they want the phone number & SSN in... some sites gripe at you if you include any punctuation, others gripe if you don't.  that's what should be brought under control.  when they break a phone number into separate boxes for area code, etc, it should auto tab.

Wednesday, April 16, 2003

We always use auto-tabs for things like credit cards and phone numbers.  Splitting the phone number up into three fields such as (EXT) ###-#### makes the expected entry much more obvious (and users love it!).

We as developers are relatively sophisticated users - but I second the person who commented that most users don't know about "Tab" to go to the next field.  I'd add that many don't know about "Space" either, and most are very frustrated by the default behaviour of a dropdown box ("I typed 'ma'.  Why'd it go to the first item starting with 'a'!?!").  It's very instructive to actually watch your users use the application - ours use the mouse for moving from one field to another and double-click on anything that looks like a button.

Re: the person who complained about clicking SHIFT-TAB to go back and had the form auto-tab ahead.  That's a consequence of someone not thinking about what happens if someone makes an error. 

All of our implementations allow the user to backspace as if the linked fields were a single field, and shift-tab works too.  That's just good practice.

Wednesday, April 16, 2003

I think you are comparing apples and oranges.

Sub fields are just that -- a breakdown of a single logical entity into components, strictly for display and presentation purposes.  A phone number is one entity, regardless of whether it is displayed in 3 chunks on the screen.

Not tabbing between these chunks makes sense, because regardless of the display, you are still entering one logical entity and should do that in one input sequence.

Tabbing between separate logical entities is a different story.  As stated earlier, this makes sense if it is a form that will be used over and over by the same person.  But it makes less sense when, as typically encountered on the web, you are not a regular user of the site.

Wednesday, April 16, 2003

I'm finding some of this discussion a bit odd because every web application I've done has had to take international addresses/phone numbers into account. That is, I can make very few assumptions about the format and length of contact information fields (10 digit phone numbers broken up into 3+7? Ha ha ha! I don't think so.).

Even credit card numbers can be problematic. A few years ago I had, swear to god, a twelve digit credit card number. Perfectly valid, I bought stuff all the time. But occassionally I'd run into a store that couldn't accept my card because the programmers knew better. I think that the credit card companies have standardized on 16 digits now. But... they've started to ask for the extra verification number, and I've seen both three and four digit ones of those.

So, my point is that, at least for contact/customer information, it's pretty rare to know the "correct" size of the field, and therefore implement auto-tabbing.

Bill Tomlinson
Wednesday, April 16, 2003

Bill has hit the nail on the head.

In most cases if you have auto-tabbing you're making unwarranted assumptions about the data.

Unrelated assumption: I've lost count of the number of times I've had to enter a valid US zip code - when entering a *foreign* address.

Wednesday, April 16, 2003

Re: data assumptions and sweeping generalizations.

Obviously it depends on your application.  If you are accepting business online from potentially any source - that's one thing.

But in 90% of the applications we do (where auto-tabbing actually makes sense) - the format of the data is often better known than that.  For instance, if you are entering cell phone numbers for phones coming in for repair - since the phones are being dropped off, repaired and picked up locally, the chance of an international number is so small that the users have *never* had it happen in over a decade.  So designing the application to be able to take an international number would only add extra fields that won't be used (or worse, filled with garbage) and clutter up the interface.  I can think of a dozen of similar situations.

Personally, I'll go for ease of use (with auto-tabs) and a potentially wrong assumption once out of 10,000 entries over accepting every possibility every time - and looking at our user acceptance data - it appears that this is true for most users generally speaking.

Now - if you are entering data on a website, and are always falsifying data - that shows that either some developer didn't do their homework, or you are so unusual that those collecting the data don't care if your entry is not perfect since the benefit of the additional usability has a bigger impact than the drawback of the one screwed up entry (unfortunately most instances are due to the first option).  But it doesn't say "uh - x user interface implementation is so 60s/DOS-based/bad/whatever". 

I will add that "required fields" that have data format restrictions often need to be more carefully thought out than most developers usually do - but again - that doesn't mean that the actual user interface design element is always a problem - just that there are places and times to use them.

Thursday, April 17, 2003

Dear Phibian,
                    The problem with making assumptions is that they are nearly always wrong. Take  first name and last name; everybody has one right? Wrong! Not true for Indonesians, at least, and there are a hundred million of them. Street addresses? not true for Saudi Arabia where the postal address is always a PO box. Street number comes before street name? not true for Spain (in fact I think the Spanish are nearer normality on this than the Anglo-Saxons). All cellphones have numbers? Nope - in most of the world the number is dependent on the  SIM card and is entirely independent of the phone. Everybody has their own email address; I have an email address field defined as unique and its necessary it is so, but I have got job applications from entirely different people who use the one email address it appears their ex-Soviet technical institution issues them with. - I get round it by reckoning I don't want to hire Russians anyway!


Stephen Jones
Thursday, April 17, 2003

It's not just the 10 digit length that causes trouble for phone numbers - often a + is used to indicate the bit that indicates an international number.  It would be 00 in most parts of the world, but in America I believe you use 011. Area code brackets and numbers of digits between number clumps vary between country and sometimes within a country too.

I've seen the usual problems with ZIP codes too, but one site was so clever it told me my made up ZIP code didn't match my made up state code!  I ended up deciding I wanted to live in CA 90210.

But .... I do like auto tab for IPv4 address formats, so you can't satisfy everyone all the time.

Friday, April 18, 2003

Actually an IPv4 address is a perfect example of what autotabbing usually doesn't work well.  Each of those octets can be anything from 0 to 255.  If you put in 100 or higher, the box can autotab because it knows you won't be entering a fourth digit.  But if you put in a one- or two-digit number, it has to wait and see what you'll do next.  So some of your octets will autotab and some will not.  Far better to let someone just type it with the dots and then for your program to parse it.

A standard U.S. (not international) phone number or a social security number is a different matter, because you know it has to have exactly a certain number of digits, and you know exactly what slots they go in.

Monday, April 21, 2003

I think the original commentor "pb" is ignorant. 

Friday, May 21, 2004

*  Recent Topics

*  Fog Creek Home