41

I'm creating an interface, meant to be used by non-technical business people, which needs to be able to define simple structures to hold some user data.

I want to be able to support Boolean fields, but I suspect that most non-technical people won't know what "Boolean" means.

To avoid explaining it, I'm thinking of using the word "Switch" and comparing it to a power/light switch, i.e. it can only be on or off.

Does this make sense, or can anyone suggest a better alternative?

For context, it is a mostly English-speaking audience.

Edit: I don't think I explained this very well :^(

I'm talking in general terms here, so nothing to do with the labels that will be displayed or the user's problem domain. A string of characters is a "Text" field, a date is a "Date" field, so what do I call a field that holds Boolean values?

Edit 2: The question that has been suggested is similar, although I didn't find it during search, as the title doesn't really relate to the content.

I want to avoid "Checkbox", as suggested here and in that question. Even if many people know what a checkbox is, it still ties the name to an implementation detail, albeit a common one.

8
  • 1
    Would the users care what the class of fields is called, or know anything about how the UI is built?
    – JDługosz
    Mar 6, 2016 at 18:07
  • 1
    State or status? Mar 6, 2016 at 19:35
  • 10
    A "yes/no field"?
    – user253751
    Mar 6, 2016 at 23:18
  • 2
    Is Boolean the most accurate term to describe the data? I thought that Boolean indicates that there are two states and that you can switch from one to the other, but it doesn't necessarily tell you the relationship between the states. They can be mutually exclusive (yes/no, on/off) but also complementary (checkbox). You can also have a button group that includes some combination of mutually exclusive and complementary values, which is getting popular because of Bootstrap.
    – Michael Lai
    Mar 7, 2016 at 2:46
  • 5
    Possible duplicate of How to convey a true/false value to a user?
    – MichaelS
    Mar 7, 2016 at 6:57

12 Answers 12

59

Switch sounds perfectly fine to me, but I'd suggest Toggle which is specifically a two-position switch.

If you rather want to describe the type of the value, not the UI element, I'd go for Flag.

4
  • 1
    I would even call it Toggle (1 of 2 values e.g. YES/NO) in the UI, you have the space and this extra definition will explain it very clearly
    – Falco
    Mar 7, 2016 at 13:49
  • Note that "flag" had a negative connotation. You'd flag something for deletion but you wouldn't flag something for inclusion on the todo list.
    – kontur
    Feb 11, 2017 at 15:09
  • @kontur I'm not using "flag" as a verb here. I'm setting the flag or unsetting/removing/resetting it. For a verb, I'd probably use "to (un)mark".
    – Bergi
    Feb 11, 2017 at 15:48
  • A flag, to flag, same thing in terms of drawing attention to some negative aspect, imo.
    – kontur
    Feb 11, 2017 at 23:15
28

How will the data be entered and shown to the user? Presumably a checkbox or tickbox.

4
  • Yes, checkbox or something that looks like an on/off switch, which is why I thought calling it a "Switch" field would make sense Mar 6, 2016 at 18:48
  • 21
    Why come up with a new name when you can just call it a checkbox? Mar 7, 2016 at 16:32
  • 1
    @LaplieAnderson is right since a "check box" is a real thing that people understand, and isn't just the name of a UI element. Mar 10, 2016 at 2:04
  • @LaplieAnderson "check box" is a real thing in the USA, but here in the UK most people don't know what that is. We sometimes have forms with boxes that we put an "X" in to select (e.g. for voting), rather than a tick (check). Sep 9, 2016 at 9:07
13

I'd use contextual words that relate to the option / question rather than trying to find a one size fits all solution. You might find a good way of representing the options like this but you must consider the context of the language of the option.

So for 'Activate Widget?' You would use 'yes' or 'no'.

Or for a list of widgets, you might use 'enable' or 'disable'.

Using language that relates to the option as the user sees it is the best way, this is speaking the users language. They certainly shouldn't see the word Boolean, unless they're programmers!

Make sure your designs are clear between on and off so it's easy to see what option is selected.

6
  • 1
    What I meant was how to describe a Boolean field, not what values it should have. Mar 6, 2016 at 17:32
  • the same applies, use the language of the user's problem domain, for the labels and the choices - the label and the choices should be tightly tied contextually
    – Toni Leigh
    Mar 6, 2016 at 18:26
  • 1
    I guess I'm not explaining myself properly. I mean if they add a field for containing characters, that's a Text Field, so what do they call a Boolean Field? Nothing to do with the labels or even the problem domain, as I'm talking in purely generic terms Mar 6, 2016 at 18:47
  • 3
    @SteveJones I think he is creating an interface that let's people create fields (possibly for a CMS). For example, text fields, date fields, and boolean fields. The problem is that everyone understands what text and date means, but not "boolean" so he looking for a term that is more universally recognizable. Mar 7, 2016 at 19:38
  • 1
    @Andrew yes, that's right. I guess I wan't clear enough in my original question. Mar 8, 2016 at 19:46
6

On one of my employer's products there is functionality to define properties on an object which we refer to as "User Defined Elements". These are usually set up by IT people, but the sector our customers work in is one where "IT people" are not always technical. The convention we've settled on for these User Defined Elements is for Boolean properties with a UI check-box associated to be called a flag. Switch sounds reasonable though.

0
4

IMO "Yes/no" is harder to misunderstand than "switch" (you know how easily some end users can find ways to misunderstand things -- those are the ones you need to worry about). "Switch" is good though, especially if you can add a little explanation on the toolbox list or whatever: "Use a Switch to let your users switch a feature on and off" or some such thing.

But you know what, they already know what a "checkbox" is and what it does in a UI, and they probably call it by that name. Throw in a little checked checkbox icon, just to be safe. You don't want to introduce new terms if you don't have to; if you say "switch" some of them are going to think "ok, it's not a checkbox -- so what IS it?!".

Our users ask us to "add a checkbox", unquote. Unless your users are extremely new to computers, I bet "Checkbox" would be well understood.

6
  • Checkboxes are a limited form of boolean. Do you want Chicken or Fish for dinner during the flight? Does [x] mean Chicken, does [ ] mean Chicken? A toggle allows for a binary choice that isn't a yes/no situation. Mar 8, 2016 at 20:54
  • @PixelSnader "Chicken or fish" isn't a Boolean question. OP said "Boolean" several times and didn't show any sign of being unfamiliar with the term. You could just as usefully say that the Boolean data type is a limited form of integer. Mar 8, 2016 at 21:14
  • Chicken or fish is a boolean in the airline situation; you have to pick a meal. It doesn't matter if your boolean uses 0/1, yes/no, fish/chicken, or whatever 2 terms. Phrasing it as yes/no implies (unnecessary) limits to the end user, as does calling it a tickbox. All that matters is it's a binary choice. Mar 8, 2016 at 22:06
  • 1
    @PixelSnader: Sorry, but that's wrong. Boolean algebra refers to a setting with two choices, one of which is true and one of which is false. These are not just arbitrary labels, they have an intrinsic meaning, in that for instance "true AND false = false" and so on. You can't do that with chicken. What you are probably thinking might be called a binary choice, a choice between two arbitrary labels.
    – cfh
    Mar 8, 2016 at 22:11
  • @PixelSnader I provided a source. I was too patient with you. Mar 8, 2016 at 22:21
2

I'd name the field type "True/False" or "Yes/No". Or just "Boolean" -- people can always look it up in a dictionary.

10
  • 21
    I don't think a solution that expects people to use a dictionary is a great idea
    – Sentient
    Mar 6, 2016 at 18:14
  • 3
    i think the idea is reduce friction and make things intuitive, something a user has to look up and remember is not very intuitive and should be avoided if a better option is available
    – Toni Leigh
    Mar 6, 2016 at 18:31
  • I'd +1 except for the last remark. The whole point of giving a good UI is to make things easy to use without having to have Internet or a dictionary on hand.
    – Nic
    Mar 6, 2016 at 22:46
  • 3
    For a moment, let's pretend that the user's not an idiot...? Mar 7, 2016 at 9:20
  • 2
    I'm with @RogerLipscombe on this. You're not asking general users to understand what a boolean value is, you're asking people who are designing forms. I don't think it's unreasonable to expect them to understand something about the field (pun intended). True/False and Yes/No both imply a certain style of questions ("Do you want eggs?"), but a Boolean also allows for other options that couldn't given by that option (eg "Do you want eggs or mushrooms?", as in you need to pick one of exactly two options). Mar 7, 2016 at 9:36
2

I assume this is similar to a self-serve form/questionnaire builder or database field builder, so you could look at fields terminology at similar products like Wufoo. The answer should be different based on what the users are expecting to build.

Field List

If you are letting users build a form, Checkbox works because they are wanting to build a checkbox, and the actual Boolean type is abstracted away for them. The SurveyMonkey link above just treats Boolean as a special case of Multiple Choice or Checkbox.

If you are displaying the final element as a set of two radio-buttons, then Choice could work. If you are using this as a database field builder, try Toggle, Binary Setting, Boolean or Flag.

1

If it really is a boolean choice then the obvious choice would be True or False. Otherwise Tony's answer seems the most reasonable.

1
  • I think the the examples I give are Booleans?
    – Toni Leigh
    Mar 6, 2016 at 17:11
0

I would rather 'is', if you have to define too much boolean statement which are different then each others.

isOn yes/no isGreater yes/no isWorking yes/no isBroken yes/no

According to different situations 'is' is fitting. Also 'is' + 'verb' defines the situation very well.

0

This might not be the final solution, but anyway I want to say a couple things.
Firstly, "toggle" and "switch" convey a sense of the user taking action to set/reset them. Both are also verbs, and if my mobile had a toggle then it's me who set its value (my thumb gets excited each time I think of a toggle!).
On the other hand, these values will be set by the application data, if I don't get it wrong, so these are more "questions" than "toggles".
The "is" solution brought to you by @ihsancemil is aligned whti my ideas, albeit "is" is a programmer's naming convention for boolean properties and does not fit in this question's "normal people" requirement.
It it was my UI I'd explore words like "question", "query", "inquiry", "test", ...

For one who is not a programmer, it's difficult to grock events that occur somehow autonomously, out of out direct control (like the thumb controlling the toggle).
Questions convey more the idea of an unpredictable answer generated somewhere else. "Question" or any other similar concept.

0

It's very odd to see suggestions based on "English-speaking audience" group. The whole point of UX crashes when I see such things. It's not about some users, it's about the users. You can't just think for your self if it's better to use "switch" or "toggle" for "English-speaking audience" people.

You must test it before and after with a common sense to iteration. The simplest way of A/B testing may do the trick, but it's not all about that, for example, it may actually reveal some of the critical pain points etc.

2
  • seriously? If you don't consider language, geolocation, cultural aspects, technological development and so on, I really can't figure what kind of UX testing are you talking about. And I don't think using A/B to test this kind of variables will provide any insightful answer at all, A/B is meant for very different purposes
    – Devin
    Feb 11, 2017 at 19:17
  • Devin, it's a misunderstanding. I can't say exactly why you put this words in my mouth, but not only I didn't mean what you're staying for, but I actually said something opposite to this. The "English-speaking audience" may speak different "english". And this is only one aspect to consider. I hope you will reread it again and rethink it.
    – hardnndy
    Feb 11, 2017 at 20:05
-3

Predicate from Lisp. It's more obscure than Boolean and they'll pass it while looking up 'predicate' in teh dictionarly

4
  • 2
    Hopefully Boolean is more useful and commonly known that the syntax of the ancient Lisp Programming language. Mar 7, 2016 at 16:31
  • 4
    While a clever glib answer, using such logic for naming concepts would not ultimately do well for the usefulness of a system. Mar 7, 2016 at 16:44
  • 1
    reminds me of uni project a guy did in my college to deliberately make the least usable interface!
    – Toni Leigh
    Mar 7, 2016 at 20:24
  • 2
    Predicate is actually a term from formal logic. It's not a true/false datatype, it's something which tells you if some object fulfills a particular property or not. It's used in quite the same way in Lisp.
    – cfh
    Mar 8, 2016 at 22:15

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