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?
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.
- 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?
- 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?
- Organization. It isn't clear how you are presenting the information. Are you emphasizing the activity, or the level it is at?
- 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:
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).
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.
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.
Note on Progressive Disclosure
Progressive disclosure minimises cognitive load.
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.