I'm currently working on a part of our application in which the user edits a document. Part of the application allows the user to input certain "parts." We've implemented this as a couple of drop down buttons; however, this can be frustrating to users, as the list of parts is commonly so long that it goes off screen (and the arrows on the top & bottom are not easy to use). I'm looking for a better replacement for this control. We were considering a "Choose Part" button which opens a new dialog...but we're not quite sure what to put in the dialog, or if the dialog is the best option at all.
Some important points:
- The "parts" have unique names
- The target user is a salesman or equivalent, and we'd like to make the process as easy as possible (which is why the current dropdown with arrows isn't the greatest)
- The list of "parts" must be loaded (complete with a dialog prompting the user for certain details). Currently we do that upon first click of the button.
Has anyone ever come across a similar problem or a solution which works better? I'd appreciate input.
Screenshots for clarity (note that this isn't the real application; it's a mockup of the specific problem)
Application:
Short List:
Long List:
Answer
Since you need the user to select the datasource, try to incorporate the datasource selection inline:
This keeps their eyeballs on their work and not on the dialog that just flew up at them. (I don't think dialogs are evil per se, but if they can accomplish a task inline, all the better to their "flow".)
- Start loading the parts as soon as you can detect the user has clicked in the text field, or whenever the datasource changes. If you can guess at what they are likely to want to pick, load it right away.
- If they user needs to wait while you retrieve or sort results show them a spinner, preferably in the search field or result list area. If you have to gray out the text field, that's alright, but ideally they can be inputting text while you load data.
- Add the selected part when it is selected.
No comments:
Post a Comment