I have an open-source file uploading desktop app. At some point there is a step, where user needs to choose description fields for files he's about to upload. He needs to have three choices:

  • Yes (I need that field)
  • No (I don't need that field)
  • Constant (I need that field, but it will be the same for all uploaded files. When this option is selected, you need to have possibility to write it.)

Here's my current approach with three variants. First one is using combo box, second one: radio button groups, third one: three state checkbox.


With 20 fields the interface is bloated with UI controls, so I'm searching for solution how to provide functionality above with more intuitive and less cluttered way.

2 Answers 2


The first thing that comes to my mind is that text field adds unnecessary cruft while being needed in only one situation. Consider showing this field only when "Constant" is selected. Once "Constant" is selected, it might be a good idea to focus the associated text field, so that the user doesn't have to work to target the newly appeared field.

To comment on your variants:

Combo box

  • I don't see the value of typing in a choice -- that will always be less efficient that selecting one of three choices. A simple drop-down menu might be better.
  • The combo-box drop-down is still be inefficient, though. It's two clicks per choice, but I'm oversimplifying the problem in this case (it's never just about the number of clicks). Consider that the drop-down will cover the next choice(s), so after it's closed, the user has to process where the next drop-down is before targeting it.

Check box

  • The yes/no states are clear, but the "constant" choice is not guessable. While you could theoretically explain it away in a description, it would still not be "intuitive" -- it works against one's standard mental model of how a check box works.
  • It's less efficient than your radio button proposal.

Radio buttons

  • I see this as the most promising choice.
  • My feelings about variants are mostly like yours, so I will implement radio buttons for now. Thanks!
    – yarl
    Commented Jul 26, 2016 at 10:08

You could have an empty text box mean "I don't need that field" and use a checkbox to use a value for all files.


download bmml source – Wireframes created with Balsamiq Mockups

  • I like it, but application must allow state "Yes" and empty text field. To elaborate: this is not a list of files per se, at this stage user only select which fields he wants to describe later.
    – yarl
    Commented Jul 26, 2016 at 10:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.