Tuesday, 26 May 2009

Easy and efficient browse and search combination

All of us have seen many innovative ways of searching, filtering and browsing data from a list. While working on this dialogue I encountered this problem. I call it a problem because the list of users may vary anywhere in between 2 (for an entry level executive) to 50,000 for a CTO. And every level of users would use it frequently.

For an entry level executive, the browse model suits the best. Easy to use and prevents errors. However, for a senior executive, the search model would be the best.

- These are 2 fields that need to be filled up in order to assign a user to a task.
- Each field can have any number of possible values ( I get to choose between 2-10 if I am a junior executive; 50,000 for a CTO!)
- All users are uniquely identified only by a combination of Area Code and ID.
- Data selected / entered in a field needs to be validated. Validation queries the database. Narrower the search , less is the system load.
- This selection has to be made on a Task Assignment dialogue that contains other fields as well.

- Development on Eclipse RCP using native SWT components only. Custom components can be developed only if “really required”.
- No AJAX (or any similar technology). To populate fields with data, we need to explicitly query the database.
- Keyboard navigation should not be affected
- This form/ dialogue is already a pop-up on the main screen
- Efficiency is crucial, so a Wizard interface is ruled out. (the development teams are not so happy with Wizard interfaces)

- Users know how many users they supervise. So they make a choice between Browse and Search.
- Fields are dynamically displayed on the dialogue.
- On selecting ‘Browse’, the user gets a drop-down for Area Codes.
- On making a selection, the ID dropdown is populated. On selecting ‘Search’, users gets to input Area Code and query database.
- Data is validated and the IDs populated. Less than 30 IDs, dropdown shows.
- More than 30 IDs, need to type 2-3 numbers to allow data to be filtered.


Test said...

Hi! I followed you through the boxesandarrows site. I'm particularly searching for resources on how to create a comprehensive visual style guide for our web apps. Good thing, I scrolled down to your blog and found the style guide entry :)

Can you give additional advice for this task? :)

Many Thanks!

Anonymous said...

Nice article. I didn't follow the order in which options in the User Name and ID are sorted. I would expect them to sorted either alphabatically, by number of tasks assigned to a user or some other criteria.

Also, in your search solution you mentioned that for enteries greater than 30 user would have to enter first few numbers so that the options can be filtered. For this you are assuming that user would know the ID. Assuming this is true why not allow them to search by the ID at first place.

Nice article once again.