I am trying to solve this design question for my class. The problem is simple - there are thousands of users and I have to design a UI that lets you associate them with a group.

I found this question Multiple selecting widget options, which uses a shuttle widget that lets you select multiple users from the left panel and add them to the right. This action defines them as members of the currently edited group. However, my instructor's feedback is that this is not user-friendly in the case of a long user list. Too much time would be spent scrolling to find the users you want.

Is there a radically new way to do this? I was thinking of adding filters on top to directly access users by name, organization or any other attributes to avoid some scrolling on the user's part.

  • 1
    Welcome to UX.SE! If you expand your answer to flush out what you mean by adding filters on top, we can give you some advice. Commented Apr 18, 2013 at 20:52
  • Also, mention any limitations you have. Can a user be a member of multiple groups? So on, so forth.
    – rk.
    Commented Apr 18, 2013 at 20:59
  • Yeah, we haven't had specified limitations or restrictions for designing this but yes a user can belong to multiple groups.
    – user30834
    Commented Apr 18, 2013 at 21:19

4 Answers 4


Here is my solution for such a problem.

Edit one group at a time. When you need to add more members, click to load overlay window which lists everybody but also shows you who has been added to the group already.

enter image description here


You could use that shuttle design you mentioned but to get around the scrolling issue, include a search box on the left side above the members list. This way, if you know the names of the people you want to add, you just find their name, press Enter, and move on.

If the users are already in groups, you could show those groups in the left side list and allow a) the entire group to be added to the new group and b) the group to be expanded and individual users from the group to be added to the new group.


download bmml source – Wireframes created with Balsamiq Mockups

Adding filters on the top is useful, but only if they are on things that 1) are set for the user by the system, 2) users are required to set, or 3) are relevant to the use of the system so users want to set them.

For example, using a filter for people whose job description is "Software Developer" only works if everyone you expect to have that job title actually uses that and not "Member of Technical Staff" or "Web Dev Guru" or "Code Monkey".

Location might be more useful, but again, it's only useful if that's an attribute that is used in the system. If it's a system in which location doesn't really matter, most people won't fill it in. If it's a system used by sales people who all are very interested in where you are if they can network with you or sell to you, or a system where that's a field automatically filled in from the company LDAP, then location would be a good filter.


Generally when there are lists containing a very large number of users, chances are that they will have already been classified and categorized in some way (e.g. age, gender, nationality, etc.). As suggested, if you can define all the categories (i.e. something that captures all the users) then you can try a faceted search approach where if you enter or add in terms or categories then it automatically selects the users belonging it that group (and you can display that list somewhere if you click for more details).

But just as you can add users to that list, there needs to be an effective way of removing a large number of users from the list as well. You can use the same method of entering terms or categories to remove a large number of users.

However, I think for better usability you need to be able to display all users in a category that allows you to add or delete users individually as well. Whether that needs to be sortable/filterable/searchable is another issue, because it adds to the complexity of the interface design.


So we already know that there are thousands of members :

  • Do this members have characteristics (known by the system) that can help managing groups ? You are talking about organisation, is it a relevant information to create the group ?
  • How many groups there is ? Possibly infinite or 2/3 ? it is going to make a huge difference in the design of your solution

Strictly speaking about UI, If you are looking for something new, check what Google+ proposes:


In this proposition you deal with a certain amount of members, and once you classified one, another member is replacing her, until there is nobody left.

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.