In my desktop application, there are two tables presented to the user side by side. Each table displays a list of people. One table displays all the people already assigned to a role (let's call it the target table), the other displays all the people that can be assigned to that role (let's call it source). The people can be assigned to that role by dragging one or more persons (one or more rows) from one table to a another.

Now, my question is, on which side do you intuitively expect the tables to be, the source table on the left side and and the target on the right or the other way round? It would be nice if you can point me to some examples or to what the best practice is.

  • Ok, so the user selects a Role and two tables appear where one lists all persons already assigned to that role and the other lists all persons that can be assigned to that role. Is this assumption correct? – AndroidHustle Jun 27 '12 at 10:04
  • Yes, that is correct. Sorry if it was unclear. I've edited the question for better understanding. – Jim Holden Jun 27 '12 at 10:50
  • The key to good UX isn't asking experts about what they think should be the order but asking your actual users about that. Your design must adhere to their mental models not ours. – dnbrv Jun 28 '12 at 5:01
  • I'd say the key is not so much asking the users this questions, but testing which design works best. Asking (potential) users what they want, especially in cases like these, is not a very useful technique. Observe how they react to being confronted with the actual design and have to work with it. – André Jun 28 '12 at 5:09

For left-to-right languages I would expect the list of available people to be on the left and the list of assigned people to be on the right. This is because the action of moving people from the available list to the assigned list is "forwards".

This is either indicated by the right facing arrow or by the act of dragging the name from the available list to the assigned list.


download bmml source – Wireframes created with Balsamiq Mockups

This, of course, implies you should reverse the order for right-to-left languages.

| improve this answer | |
  • 1
    Have a look at any Oracle product for hundreds of examples of this model! – Lisa Tweedie Jun 27 '12 at 12:53
  • And Microsoft Word's template manager, and I've also seen it in a PDF printer driver to specify which fonts should be embedded. This mechanism is fairly standard. – Andrew Leach Jun 27 '12 at 13:23

I'm not sure the answer is as simple as ChrisF suggests. I think the idea of moving people "forward" is correct, but I think you should also considder if the dialog where this occurs is only used for creating the list, or also later on for reviewing and editing it. If it is also used for reviewing the selected items, then you'd have to considder if it is logical to look at the right hand list to find your data. I don't think so. I seem to remember from back when these kinds of lists were used a lot, the pattern was usually the other way around. However, I am not sure about that.

I am wondering if another approach might not be better. Why not just use a single list with checkable items?


download bmml source – Wireframes created with Balsamiq Mockups

| improve this answer | |
  • Interesting idea with the check boxes! But how would one assign multiple users at once? With a small context menu? – Jim Holden Jun 27 '12 at 13:54
  • 2
    Perhaps I misunderstood your question then. How do you assign multiple users at once in the model you were proposing? You still have to select them, right? If you have to select them, you might as well just check them it seems to me. But again: I may just misunderstand what you are after. – André Jun 27 '12 at 14:03
  • The users are displayed in a table widget with several columns. Each row is selectable. I select multiple users by clicking them while holding the Shift Button (just as you can in any file explorer) and dragging them to the other table. I can't exactly see how that would work with the check box mechanism. – Jim Holden Jun 27 '12 at 15:19
  • If you simply allow clicking the row to toggle a check-box, then you: a) remove the need to support unintuitive multi-select (shift & ctrl) and b) remove the need for the drag operation right at the end. – Disillusioned Jun 27 '12 at 17:00
  • The only time I foresee potential difficulty with this mechanism (and not much difficulty at that) is when a large list is used for a small selection. a) It can be tricky to see exactly what's selected (mitigated by being able to sort check items to the top). b) An exceptionally large source list might need filtering to be manageable. And the filtering introduces more user effort to see what's selected. – Disillusioned Jun 27 '12 at 17:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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