Entering the unknown data-zone

Entering the unknown data-zone - Users don't know everything

The Problem

Nearly every application needs the users to enter data in forms for further processing.
Problems arise, if a user should enter data he/she does not know yet. Databases therefore support the null-value that means unknown.
I had the case where people had to enter data for a textbox, but they didn't have the information, so they entered "???". If they would have left it blank they only had one query to determine what entries have to be corrected - one without symbols that could be wildcards.
So how can data be marked as unknown?

Checkbox

Take as example the checkbox-control. It can have either the selected or non-selected state.
If you use it to indicate that an action has already happened, you won't have a problem. But what happens, if you want to ask for an option? You need to define one default-value. So what happens, if the user, who is answering the questionnaire, does not know an answer? The control cannot be marked as undefined.

Textbox

Another example can be the textbox-control. A user could enter a name of a person and there is a field for a middle name.
What does it mean, if the field is empty? Does the person not have a middle name? Or is it yet unknown?
If you use a textbox on a form and want to save it, how do you distinguish these cases? The input will always be an empty string.

Option or radio-buttons

As worse is the usage of a group of options from a view of usability. With this control, you can define a list of possible values, where only one entry can be selected at the same time. If you don't select one entry, you can even indicate the state "unknown". But if you accidently catch one option, you cannot reset it to unselected. The only possibility is to clear the whole form and lose all previously entered data.

Switch or combobox

Similar to the radio-buttons, you can select one of many predefined options. And there is the same issue once you select one entry. It is not possible to reset the state of the control to no option.

Conclusion

Many of the currently used controls don't support the possibility to save an "unknown" value. Either the programmer have to implement these possibilities or the users will create their own workaround.