Video: Additional inputsNot everyone using a web form has the same needs, so not every input field applies to them. In fact, it's better to hide irrelevant options from people so they don't need to consider them. To do so, we can turn to additional inputs, let's look at an example. Most people have a single manager, so a form asking for that information usually just exposes First Name and Last Name of your manager. In cases where you're in a matrix organization or have two managers for another reason, Additional Inputs allow you to specify that second manager quickly and easily, just click the Add another manager link directly below the input field and you get another First Name, Last Name series of inputs.
Viewers: in countries Watching now:
In this course, interaction designer Luke Wroblewski shows how to create web forms that encourage visitors to enter information and covers ways to capture input without the use of forms. The course covers boosting conversion rates and customer satisfaction, organizing the structure of forms, aligning and grouping form elements, assigning the correct input field types, validating input, and handling data entry errors. The last chapter highlights alternatives to static forms, such as using dynamic inline forms, using web services, and leveraging device capabilities, which can be used to gather additional information or replace a traditional form altogether.
- Understanding why forms matter
- Deciding on the form length and structure
- Adding tabs to a form
- Creating required fields
- Adding input masks
- Creating selection-dependent inputs and actions
- Displaying success and error messages
- Adding inline validation
- Understanding gradual engagement
- Enabling touch and audio input on devices
Not everyone using a web form has the same needs, so not every input field applies to them. In fact, it's better to hide irrelevant options from people so they don't need to consider them. To do so, we can turn to additional inputs, let's look at an example. Most people have a single manager, so a form asking for that information usually just exposes First Name and Last Name of your manager. In cases where you're in a matrix organization or have two managers for another reason, Additional Inputs allow you to specify that second manager quickly and easily, just click the Add another manager link directly below the input field and you get another First Name, Last Name series of inputs.
Note that there is a quick way to remove those inputs, if you click them in error and decide you don't actually need them. The Remove manager link to the right of the input fields let's you do just that. Now in situations where you happen to have three managers, you can just click Add Another Manager again to expose another set of input fields. In each of these cases the input fields are showing up in line, that is directly below the action that triggers them. For most additional inputs, this is a great way to go, because things stay contextually relevant to where they apply. They also are right in line with where you click the action, giving you kind of a reciprocal on/off behavior, meaning, you don't have to look elsewhere to see where this thing showed up.
Let's look at another example. In the Product Management site Base Camp, a new message can have a series of additional inputs associated with it. You can choose to Attach Files to the message or you can Associate This Message with a milestone. Now most messages don't need to do either of those, so both these options are hidden behind the link. When you do choose to expose these additional inputs, let's say Associate This Message With a Milestone, clicking the link shows a series of additional inputs that apply to that step, you can pick the milestone that applies to, mark it as complete and actually associate it.
Once again there's a way out with the Cancel button, so if you click this link an error or you decide you don't need these additional inputs, you can get out. And again, these links are showing up in line, keeping context with the rest of the form. Let's look at one more example, and this time we'll do things a little bit differently. On the invite service Renkoo there is a series of Notification Preferences you can set. You can choose to have your notification sent to your e-mail address, your instant messenger, your mobile phone, whatever you like. Some people however would like to have more control over where the notifications go.
Most people don't, therefore, these additional options are treated as additional inputs. Clicking on the Advanced Notification Settings brings up a little dialog window that gives you a lot more control. You can pick this specific notification type you'd like on the left and set where it's going to be sent to. This level of control really is for advanced users, so again. we're not exposing it to everyone by default. Note again there is a way to get out of this mode. There is Cancel link and a little X up to the right of the dialog window and the method that we're using here is no longer in line. Because there is an extensive set of options, putting things directly below the input field that triggers them would probably jump the page too much and disorient you and also lose the contacts of the form.
So instead we're using a little bit of a dialog window to show more information. Wrapping up on additional inputs, the number one point here is to map additional inputs to prioritize the user needs. That is if there's something everybody needs to consider, you don't want to hide it behind an additional inputs link, instead you want to expose it on the form for everyone. There are things that only a subset of people actually needs to engage with, additional inputs are a great option. They're most effective when they're user initiated, that is, when somebody takes the effort to say, hey, I need to answer these additional questions, let me click on a link open a dialog or expose some more fields.
They're not as effective when you automatically try and infer when people need things, trying to guess what everybody needs here and there, can lead to frustration. Also, when you do use an in-line solution, try to avoid excessive page jumping, that is, if you're showing a lot of additional inputs and the form is bumping up and down that maybe time for a different type of interface, like the dialog window we saw in the Renkoo example. And always maintain a way to get out, that is when you show these additional options, let people cancel out or remove the additional fields they've added into the form, just in case they've decided they don't need them or click that link in error.
And last but not least, a consistent approach will usually do better than lots of variations. People begin to develop expectations around how additional inputs will show up in a series of forms and if you keep bouncing between different interface solutions, they may not know what to expect and be hesitant to engage.
There are currently no FAQs about Web Form Design Best Practices.