This section is part of our form, here the user can request courses and workshops, for schools and camps. The user can select multiple activities and on some of them you have several options, We aren't really sure if it's a better way to present this to the user? Any suggestion?

enter image description here

  • What about just using 4 columns: Level 1, Level 2, Workshop A, Workshop B
    – Gustav
    Mar 26, 2014 at 16:35
  • 2
    While you may know the answer, I can't infer it from looking at your example; are each of the levels mutually exclusive? Can I pick Level I and Level II Spanish? How about Level I Spanish and Level I French? Mar 27, 2014 at 5:34
  • yes you can choose Level I and Level II or choose just Level II
    – VADO
    Mar 27, 2014 at 15:43
  • How does the user know the difference between the Levels and what the difference is between Workshop A and B?
    – Pdxd
    Mar 27, 2014 at 18:38

5 Answers 5


When looking at a large set of data and realizing that the organization is not working, you want to look at how the information as a whole can be presented differently - not just swapping out a single control for another.

That's my short answer to your specific question. You do have a lot of checkboxes and they are confusing. Start by looking at a different way to present the information!

There are a few things I immediately notice when looking over this list.

  1. Extensibility. As you list grows, your users will have more and more trouble parsing which row of checkboxes goes with which activity. Also, what happens to your list if "Level 1" gets two workshops?
  2. External Memory. Your layout does not externalize memory. You user has to remember what an activity is, or any special notes you've previously mentioned. Also, when and where are the different workshops?
  3. Organization. It isn't clear how you are presenting the information. Are you emphasizing the activity, or the level it is at?
  4. Bland. A huge checkbox list is boring! Spice it up and make your users want to sign up!

Here is a notion of how you can address such things:

enter image description here

What does this do?

Categories: Break up your activities into higher level categories to help your users find what they are looking for.

Icons: Shazam! While they do help pull the eye to each different category they really just help to add some color and spice to an otherwise dull list.

Activity & Description: Each activity is named and space is available for a small description or other information. Don't force your users to remember something important about the activity. For example, is this a ladies only Tennis team?

Sign me up: You've hooked them, they're ready to sign up! List out each level and provide a checkbox to sign up for it. You can also point out when the activity is, so users don't have to wonder if their calendar will work out. Notice too that the above design allows you to easily add multiple "workshops" to any of the levels.

Focus on the activity: All the information on a single activity is contained in one area. The user's eye does not have to track far, nor does their mouse, and they will not accidentally click the checkbox in the activity above/below the one they wanted.

How can it improve?

With the caveat that many things could be improved on the above, here are some thoughts:

  • Add a filter so people can easily find what they are looking for. A textfield where I can type in "robo" and list will dynamically filter (as I type) to filter down to show only the "Robotics" activity.
  • Add a where to the activity. Again, don't make the user remember where things are! Maybe you have a Tennis activity in two different locations and the user really prefers one; similarly, maybe the user just can't make it to a certain location - don't make them sign up only to disappoint them later.
  • Provide feedback links. How can users get in touch to learn more about certain activities? Each activity might have a different contact resource.

This takes up too much space!

It certainly does take up a lot more space then just a checkbox list. But is also provides a lot more information to the user then just a checkbox list. There are several ways you could help the user find activities towards the bottom of the list more quickly (the filter suggestion above is just one).

  • +1 for providing all information about the activity in one place while signing up. Another way to save space would be to make the sections collapsible and let users drill down into the section they were interested in. Mar 27, 2014 at 14:12
  • This is really nice, I always liked the idea of boxes for grouping things that are related. Mar 27, 2014 at 14:30
  • I also agree that you need to include more information on the event sign up page than just a list with checkboxes.
    – Pdxd
    Mar 27, 2014 at 18:37
  • Thanks @EvilClosetMonkey you really take your time to think about this and your answer is clear and well funded, I really appreciate it a lot.
    – VADO
    Mar 27, 2014 at 19:12
  • Excellent solution. One other option to add to this could be: Once you've checked off an option, the whole box (or module) changes visually in a subtle way, maybe a tone change, so users can see what activities they've clearly selected.
    – Mike M
    Mar 27, 2014 at 20:40

What if you used dropdowns for each activity? That way it doesn't matter that different activities have different amounts of levels to choose from.


download bmml source – Wireframes created with Balsamiq Mockups


Is it possible (or likely) that a user could select both Level 1 & 2?

If not, it might be an option to organize the data hierarchically based on the level offered (eg. Level I courses, Level II courses etc) with sports listed under each one

Although this might lead to more repetition, the competency levels would be much more clearly delineated.

  • yes its possible, you even can choose Level 2 and Workshop 2 and not choose Level 1
    – VADO
    Mar 27, 2014 at 15:40

The giant spreadsheet you've laid out is nobody's friend. There's nothing wrong with page navigation when it's sensible. And I understand that clicking 'next' through 30 activities doesn't qualify as sensible. But there are other options.

Is this just a survey of what the user is interested in, and what they might like to see you offer? Or are there specific agenda items and a schedule? One initial problem I see is that I could tick every box, but clearly there aren't enough days in summer to attend all of these activities.

Assuming there is a scheduled time and place for each, consider offering the activities on a calendar. You can perhaps code each activity by color, so that surfing is blue and soccer is yellow, making them somewhat easier to find. Tie them together with icons.

Also, think about something like three or five sets of radio buttons to express interest in up to five topics. The first button could be "first choice", and so on. Allow the user to pick only one first choice, one second choice, etc. The next page would give them their first choice first: describe the event, Level I, Level II, and Workshops A & B, locations, instructors, and times. The next page would do the same for their second choice.

As the user makes their choices, you can advise them of conflicts with earlier choices. Let's say they tick swimming as their first choice and tennis as their second. Perhaps swimming Level I is Wednesday afternoons in June in the Fish building, but tennis Level II is Wednesday afternoons in June at the Court. As you're presenting tennis, you could gray out level 2 and place the word "swimming level 1" over it.


You could set a dropdown that will show conditionally based on if users select Level 3.


download bmml source – Wireframes created with Balsamiq Mockups

Note on Progressive Disclosure

Progressive disclosure minimises cognitive load.

Source: http://arb.nzcer.org.nz/strategies/progressive.php

The use of progressive disclosure allows the user to focus on a single task, and single flow without being bombarded with too many options to start. Even though the drop-down appears later and the user needs to make a sub-decision, they can still focus and make that choice independently of selecting the level.

Additionally, if a checkbox option is not offered, you should have it greyed out so the form does not look very haphazard.

Also another idea:

Make it all an even grid even though some courses are not offered and let users know that with enough interest, those courses may open.

  • Not really sure about this, because you can select both workshop A and workshop B, with this option you need to show which one's they choose.
    – VADO
    Mar 26, 2014 at 15:30
  • You're trying to do too many things at once. My solution offers a linear flow (If Level 3 is selected, here are your Workshop options) and it's less cognitive load initially.
    – Pdxd
    Mar 26, 2014 at 15:40
  • Additionally you could also opt to stack the Workshops checkboxes as they are both part of Level III and space out the list.
    – Pdxd
    Mar 26, 2014 at 15:42
  • This solution doesn't hit on @VADO concern that both workshops can be selected at once. Including a greyed out checkbox is not necessarily a good idea, as it implies the check box can somehow be ungrayed. While providing fewer options might reduce cognitive load "initially", suddenly introducing new elements based on user input will increase that load more then if they were there to begin with. Mar 26, 2014 at 21:33
  • @Evil Thanks for your answer. I understand what you are getting at but in my solution if they are looking at scope of work, I'm also providing an alternative that is a simple to implement. Edit has been made in response to progressive disclosure.
    – Pdxd
    Mar 27, 2014 at 15:53

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.