Flexible Inputs Need to be Flexible

by Luke Wroblewski January 26, 2010

In Web forms, flexible inputs allow people to answer questions the way they want instead of the way a database requires them to. But these input fields come with a promise to users: "whatever format you choose, we'll take it." Breaking that promise with subsequent formatting requirements is a no-no.

To illustrate this point, let's look at a relatively simple question: what's your phone number? We can provide some basic help text next to the input field to let people know how they should answer the question: “Use xxx-xxx- xxxx as the format for your answer.” We can structure the input fields and their affordances to accept only a specific format: three text boxes of the appropriate length separated by the appropriate punctuation. Or we can provide a flexible input field that allows people to answer the question the way they wish.

flexible inputs

In this example, there are basically five different ways a valid US phone number could be specified. A simple script can check to see if one of these has been used and submit the information in whatever format the back-end system requires. The chore of adhering to a specific format is taken off the person providing an answer and instead given to a small bit of code.

Without any prescriptive help text or input field affordances to dictate a specific format, people won't assume a specific format is required. They'll answer the question how they see fit. Great -except when an input fields looks flexible but isn't.

Consider this phone number field on the location-based service, Gowalla. No help text or input field affordances are present, so it seems any valid answer will do.

unflexible inputs on gowalla

Unfortunately, that's not the case. Entering a valid phone number using parenthesis around the area code generates an unexpected error. Though this input field looks flexible, it fails to live up to its promise. If you're going flexible, go all the way.