TCP/IP Dialog Box

IP Address Dialog
The Windows TCP/IP dialog box is one of the few dialogs that has evolved with every version of Windows yet continually failed to overcome its greatest design flaws. An IP address consists of four period delimited numbers. Microsoft has attempted to co-opt a design pattern often employed when users must enter data in a delimited format; they fill in the immutable parts of the data -- a set of periods in this case. This strategy works fairly well for data with a fixed number of characters between each delimiter. Phone numbers, social security numbers and ZIP codes are ideal candidates. Things become more confusing, however, when the number of characters in a given data segment is variable. The computer cannot divine when to skip to the next sub-field and the user is left haphazardly striking the tab, arrow, backspace and delete keys with entirely counter-intuitive results.

Peter da Silva writes

From: Peter da Silva
Sent: Thursday, September 04, 2003 10:35 AM
To: info@jshift.com
Subject: It's me again... mutated controls ... more ...

...

Microsoft TCP-IP settings. They managed to make it even more confusing on the Pocket PC, by combining VPN access and proxy access in a twisted incestuous mess and assuming that a company only has *one* firewall around the whole LAN. When you have separately firewalled subnets for customers and the wireless LAN it's sometimes impossible to specify the network layout. But at least it has network profiles.

On Windows proper, I sometimes think editing the registry directly would be easier.

There are a number of approaches one can make to help a user enter delimited text. It is not always an easy decision but is frequently a critical one. Delimited text entry is something that everybody does sometimes and that many people must do repeatedly. There is no better way to foster resentment for the designer than a few ineffecient dialog boxes that a clerical worker must use hundreds of times a day.

Designers have several options when creating super-fields of this type:

Option Pros Cons
User specifies all data Backspace and tab keys work in a predictable way. Mnemonics are useable. Cut and paste function well. In an unconstrained field, users may make data entry mistakes that would otherwise be avoided. Much validation must be deferred until after the user leaves the field.
  • Delimiters optional
Users may feel more comfortable using delimiters. Breakup of the data gives visual cues about the validity of the user's entry. Users are more likely to be able to make a single character correction by adding a new character and deleting the old one (as opposed to the opposite, which might prove impossible if a field has reached its maximum length. The benefits of constraining the field's length are lost if the user omits delimiters.
  • Delimiters forbidden
Proper field size will prevent data that is too many characters. Cut and paste may fail if data is in wrong format. Savvy programmers can intercept paste requests and massage the data as necessary but users may not realize that this functionality exists.
Separate fields used for each data segment No ambiguity about data format. More immediate validation. Mnemonics cannot be used for a sub-field. Cannot immediately clear a field. Cut and paste functionality severely hampered. Awkward editing capabilities.
  • No automatic focus change
Consistent behavior even for segments with variable lengths. Backspace and tab function as expected. More typing. Less natural data entry.
  • Automatic sub-field focus movement
Less typing for a user familiar with the dialog. Smoother data entry -- users are not interrupted by tab stops. Users may hit 'Backspace' after making a mistake. Being forwarded to the next data segment may prevent backspace from working. Users may also hit 'Tab' after completing a data segment and end up accidentally skipping a segment (because of the auto-forward). If the number of characters in the sub-field is variable, users may need to alternate between manual and automatic focus changes.
One field with automatically pre-placed delimiters It is clear where all data belongs. Validation is immediate. Benefits of full field selection are available. Focus handles unusually. When entire field is selected, it becomes unclear whether delimiters are included in selection. Users do not know what to expect from the cut and paste facilities. If field selection is disabled, valuable functionality is lost. Unavailable in HTML.

A few things are clear. If the number of characters between delimiters is variable, one should not automatically shift the focus when a user enters the maximum number of characters. This feels entirely inconsistent because users must alternate between auto and manual focus changes. To a user, the number of digits in some segment of an IP address is entirely arbitrary. Perhaps an exception could be made for date fields with which users are comfortable using leading zeroes. Furthermore, each focusable area deserves its own tab stop. Anything else is sure to invite confusion.

Microsoft muddies the waters by not committing to either of the latter two design strategies. The dialog treats each IP segment as a unique focus area but displays it as part of one big field. Alternately, the 'Tab' key treats all four sub-fields as one tab stop. Users naturally expecting the tab key to move to the next focus are confounded when they end up in an entirely different 'super-field'. The most infuriating aspect of this dialog is its inability to save or recall settings (as with the Dial-Up Networking dialog). We cannot tell you how many people we know that have different settings for each of several work locations (home, office, etc.) Such tortured souls are forced to deal with this monstrosity on a daily basis.