User Experience Stack Exchange is a question and answer site for user experience researchers and experts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to think of a suitable design for an interface to handle entry and management of many to many relationships.

In this particular scenario the elements are users on one side and servers on the other side. Many users can be attached to many servers.

We need to be able to have easy data entry for quickly associating these, as well as simple management later, being able to browse or filter by each component.

Currently we have a simple 2 drop down boxes + submit button, followed by a page if server names with user names listed alongside them.

share|improve this question
Hi Simon, welcome to! Can you provide a mockup of your solution to this problem? – rk. Jun 17 '13 at 18:24
Editing a bipartite graph with lots of nodes without any rules/classes is counterproductive. First you need to provide for group operations (filtering and assignment, at least). Second, your drop down boxes are nothing but a straightforward re-invention of a CLI command. Take a look at Bostock's D3.js framework as a source of inspiration. – Deer Hunter Jun 17 '13 at 20:39

Is it possible in your domain to group users and servers in some categories? In this case you could operate with much smaller groups of users and servers and perform group operations (access grant and so on).

share|improve this answer
I guess we could group them alphabetically? It's a multi tenant environment, we are an ISP, so there's not really a logical grouping there. – SimonJGreen Jun 17 '13 at 20:21
Then more broad description is needed: why and what for you need the system, what operations are available and so on. – Alexey Kolchenko Jun 18 '13 at 2:57

How about a filterable multi select box with drag and drop?


  1. Sort lists
  2. Make selections
  3. Drag to server on other list (or reverse)
  4. Save


download bmml source – Wireframes created with Balsamiq Mockups

share|improve this answer


The basic interaction is ofcourse to be able to select one or more people and one or more servers and save it together.

The selection process can be like the a) Tags/keywords field (or like the email "To" field). b) Checkboxes c) Multi-select combo box

It might also be that you can have a text area, where one could enter the email address of the people in bulk. This will work if the admin have such a list somewhere.

The core for this design is to ask question like:

  1. Why do the people need to be mapped to the specific servers ?
  2. What happens if everyone is mapped to all servers ? Or would it work to group the servers into 2 or 3 levels based on security and give everyone access to the level 1 ? This would reduce the work to mapping only level 2 and 3 servers.
  3. Who decides which users should be mapped to which server
  4. How do they decide this - do they refer to some information ?, does someone else tells them ?, is it based on the role of the person in the org? etc
  5. How much time should such an exercise take ?
  6. What are the risks if a wrong association is defined ?
share|improve this answer

Seems like a plausible solution for this will be something similar to how files are shown in Finder in Mac OSX and how they can be dragged and dropped (see pic below):

Mac file system - List view

The two lists (users and servers) will be presented side by side. The panel that users and servers are listed in also doubles up as an 'input' element. So you can drag users to a server in the server list and vice versa. Once a user is dragged over to the server list, it appears under the server in the server list, and the server will also appear under the user in the user list.

user and server list

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.