As part of a profile flow, I need to allow the user to look through and select individual items to add to their profile.

This list of items can be upwards of 300 items (the represent company divisions), the user should be able to select all, select individual, and/or select multiples of the items. The user needs to be able to see what they've already added.

There are some things I'd rather not do here: I don't just want a large (likely paginated) list of the items with checkboxes. The typical use case is 90% of the users will want 90% of the items (unfortunately those can't be logically grouped) so having to check those individually would be a bummer, even if you selected all and then had to hunt and peck to deselect.

I also want something that's more than an incremental improvement over the current experience. It is currently a left area with the items in it and you drag those over to the right (or select and click and add button). The good part about this is that you can see easily what is in and what is out, but it's super cumbersome with large data sets.

Some of the suggestions from a previous question handle the click and dragging back and forth issues, but I'm wondering if anyone has a better system than what was offered back then.

So I need to explain this a bit, in terms of the 90% that a few people have commented on. The 90% will not be the same for every user. Every client will have a different and self declared number of "Companies". So the 90% will differ depending on the client. After the client has added all the companies and the first few users get added, there is a good chance there will be a pattern we can grab and help create logical groupings based on the previously assigned companies.


So, every client with N number of users and N number of companies will have this initial state to deal with. One client's creation and selection of companies cannot help determine the creation and selection of another clients companies because they are completely different. User interviews would only be specific for those individual clients, and since most clients structure their "companies" completely differently, user interviews only yield "I want to select my important companies to assign to specific users." When you ask what the "important" companies are, you typically get the answer "It depends, and it often changes".

That's why I'm looking for a good pattern to deal with this, the first few users of every client will have this to fight through.

We had started with the idea of having people create the logical groupings as they created companies but this was thrown out for technical reasons.

Thanks for all the input so far.

  • 1
    Can you provide any details as to the nature of the content? Photo, video, text, tags, entities, etc. There may be a suggestion for categorical grouping that you haven't yet explored.
    – SwankyLegg
    May 23, 2014 at 18:30
  • Sure. A User needs to have items analogous to a company or division assigned to them. You may have 15 to 60 users who are various levels from Admins to people who only run reports. In addition to other various security settings, as a last step the users need to be assigned n number of companies. The companies would be different to different users. It's possible that all 15 to 60 users would be given access different numbers and "groupings" of companies or divisions. May 23, 2014 at 21:23
  • Erik, please file an edit with your additional info. Dont spread it between question and comment. Thanks
    – kaiser
    May 24, 2014 at 6:12

2 Answers 2


A couple of months back we did an overhaul of a multiselector that looked exactly like the wireframe shown in your link: two fields, one populated with items and the other one for selected items. (and it had "Add / Remove" buttons instead of drag-and-drop selection...)

We decided to use chosen.js to clean up the UI and integrate search. This worked really well for us because the number of items being selected tended to be low for that particular workflow.

This doesn't seem like it would work for your particular pattern with the quantity of items that have to be selected.

Maybe you could cut out the step of having to drag-and-drop items by making the elements change state on click. You could even add multiple selection by way of a selection box. Example

The easiest solution in my mind would be the addition of a control to your current selector that allows the user to select all items (and then they can go back in and deselect the ones that they don't want).

  • 1
    I like the drag to select multiples, but how do you let novice users of the system known about the feature?
    – Franchesca
    May 24, 2014 at 8:28
  • Thanks for this Xaviervalarino. It's definitely helpful. May 27, 2014 at 16:49
  • @ErikHanson: thanks! I hope this helps you approximate the ideal pattern for your profile flow.
    – coffeecola
    May 28, 2014 at 0:46
  • @Franchesca: I hadn't thought that far. Do you think having a crosshair cursor would provide enough affordance for the selection box? (See example: jsfiddle.net/coffeeCola/MU3Xr)
    – coffeecola
    May 28, 2014 at 0:46
  • @xaviervalarino Yes, I think that should work.
    – Franchesca
    May 29, 2014 at 6:18

You say that 90% of users will want 90% of the options. Therefore, it seems there's a core set that everyone has.

Why not assign that core to everyone by default and let users tweak that original list?

This achieves 2 goals:

  1. Reduce the time & effort of selection
  2. Potential removal of the initial step (ie. Choose for me → Change this later)
  • Mainly because the core set is undetermined and will shift depending on the role of a user. Over time and usage we should be able to create logical groupings to help out, but the initial users wont have that available and since the relationship of people to items is many to many with no hierarchy. If I could safely define the core, that's the way we would have gone. May 23, 2014 at 21:16
  • If we're talking about 90% and 90%, then I bet you can make a reasonable guess at the items practically everyone will want. (Or talk to users to discover it.) Or define the default set as the items the business wants people to be subscribed to. We might be talking about a core of 100 or 150, not the exact 270. Anything to make the user's task easier. May 27, 2014 at 12:48
  • Ah. I think I understand now. There's no core set common to all users. All I can do now is wish you good luck. May 27, 2014 at 17:57

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.