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.

PROBLEM

  • 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.

CONSTRAINTS

  • 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)

SOLUTION

  • 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.








One Comment

  1. Why do you miss AJAX? You have rich client! AJAX is to make web app behave like desktop app.

    ReplyDelete