I'm developing a rule-based forms application where the user must explicitly choose a value for each data field, even boolean ones. For controls like combo boxes, this is not a problem, as they just start out having no value selected. For controls representing boolean values (i.e. checkboxes), I don't know how to present to the user that the value is undetermined, and hence neither true or false.
One way could be to represent the three possibilities as follows:
[ ] undetermined
[-] false
[+] true
But this leads to ambiguity, as a cleared checkbox is usually associated with the "false" choice in other applications. Another possibility is
[.] undetermined
[ ] false
[+] true
i.e. using a centered dot to represent "undetermined". This still could lead to amiguity though, as there is now no way to know which of '.' or '+' represents the "true" selection. Colors could be used as indicators, but it is probably a Bad Idea to rely on colors for such a thing.
A last and rather unorthodox alternative I have thought about is
[?] undetermined
[ ] false
[+] true
This is less ambiguous, but a little unusual, and may cause the users to feel alienated.
Has anyone designed something similar before, and if so, what did you end up with?