Understandably, this is a common topic but I am unable to locate a clearcut answer for my scenario.

I have an exhaustive list of users in a UI called a People Picker. The users are listed by alphabetical order. Depending on how much data needs to be retrieved, which can be lots, what is the best approach to showing these users and allow the user to find the users they need quickly?

A few options considered:

Option 1: Load a set number of users at a time, when user reaches bottom of the list; auto load the next set.


download bmml source – Wireframes created with Balsamiq Mockups

Option 2: Only show 25 per page, allows user to jump to desired page; could potentially be in the thousands.


download bmml source

Option 3: Load a set number of users at a time, have a 'load more' at the end of the list. Is pagination a better approach in this case?


download bmml source

  • 1
    How many people would a people picker pick if a people picker could pick people? :) Commented Jun 3, 2014 at 19:53

1 Answer 1


While there are some advantages to pagination (some comparisons can be found on this site), I don't think that they are relevant to this case.

A pagination approach that could be relevant is to not just list the pages (1,2,3) but to list the letters (A,B,C). Then there could be a reason for a user to jump to a specific "page". Otherwise there's no point in going to page 24 since you don't know what's there.

This could also be achieved by providing a filtering dropdown with the alphabet at the top of the list. But you already have a search field there - which is a much more efficient solution, assuming that it filters the list on the fly.

Deciding between loading items as the user reaches the bottom of the list, and loading them at the press of a "load more" button is mostly a question of performance. In terms of UX the first option is preferable, because the users don't get anything out of having to press the button. But if the button makes the performance smoother, it could be an acceptable compromise.

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.