The context for this question is a web application. Let's say we've got 400-500 widgets. Users can create an unlimited number of sets to group related widgets in ways that make sense to them. Each set might have 40-70 widgets, and a widget can appear in multiple sets. So, the question is...
What's the most efficient way to allow users to add widgets to a set?
As I've though about it, there are two main viewpoints to approach this from:
- The widget-centric view of the world. The user creates a new widget or edits an existing one. Within that screen, a list of sets is displayed with a checkbox next to each one. The user ticks off which sets the widget belongs in.
- The set-centric view of the world. The user creates a new set or edits an existing one. Within that screen, there is some selection mechanism (to be determined) for finding widgets. The user searches/browses widgets and adds them to the set.
I'm leaning towards #2 with some kind of browsing capability along with an autocomplete text box. There are cases where the user will know the exact name of a widget (or some substring) and should be able to add it quickly, but there are also cases where the user doesn't know exactly what he's looking for and browsing would be helpful.
download bmml source – Wireframes created with Balsamiq Mockups
Thoughts? Am I on the right path?