OK we have for this particular requirement a list of 300 ish items, listed alphabetically in batches and in each of the batches are sub categories or types. Users are trying to home in on a single list item which is then selected for use. The dialog or window containing the dropdown list is a pop up when a phone call arrives at the users telephone, so as we do not want to obscure or takeover the users primary working screen, we initially pop a small quarter total screen height window. On the window or dialog is the dropdown list and three buttons one of the buttons is an expand/shrink button, which makes the dialog window half total screen height or back to a quarter total screen height. The idea being if the list category is large say having 50+ items outnmof the total list then you hit the expand and we expand the dropdown size to the new larger dialog so more items are visable/scrollable. If you have a better or more efficient idea we would welcome any suggestions or refinements on our idea.
If I were to design the interface I would first put together a list of questions about the data, the users and relationship between the two. For example, how often does the data change, what is the nature of the relationship between categories and subcategories, or how well will the user understand the meaning of the data? Once I had the questions and the answers, I would put together some use-case scenarios to determine likely work flows and how to handle exceptions to any design assumptions. Of course, designing is an iterative process because mere mortals seldom get it right the first try.
This may sound like a lot of effort but it usually isn't. Thinking through a problem can usually proceeds quickly with a little practice and in the long run save a lot of time.