I have a series of cascading ListBoxes in an aspx page. enter image description here

This UI was selected to allow the equipment list to be filtered by Assigned Services and then Equipment, which in-turn will allow the user to select multiple Assets with Shift+Click.

Each Assigned Asset can be assigned a Start or End Date (if known). The Assigned Assets, including Start and End Dates (if applicable) will be stored in memory by the client and then persisted to the database when the user is done by clicking Save.

What's the best approach for capturing the Start and End Dates?

  • Modal window with another ListBox containing the Assets with Start and End Date DropDowns?

I appreciate any help.

  • Do you assign a start and end date to each asset or can you do it to multiple assets at one shot?
    – Mervin
    Feb 10 '12 at 23:00
  • @MFrank2012 I did not think about that. I can see that being useful. For now it would be each asset.
    – Rich
    Feb 10 '12 at 23:10
  • have you noticed what task model the users tend towards? .. entering dates at time of selecting specific assets, vs gathering a big bucket of assets and then assigning dates as a separate task?
    – Erics
    Feb 11 '12 at 2:08
  • @Erics gathering a big bucket of assets and assigning dates as a separate task. That's why I was thinking a modal popup.
    – Rich
    Feb 11 '12 at 16:49

First I'll answer your question on the surface and then I'll drill down and look at the bigger picture.

Capturing dates

Listboxes are unique controls in that they allow you to select one or multiple items, but the option to select multiple is arcane and unfamiliar to most users. This makes using them for general purposes discouraged at best and a serious usability problem at worst.

Instead of using a list box here I would put the assigned assets in a table with one asset in each row and an associated start and end date control in columns beside it. This is much more obvious: you separate the process of assigning assets from selecting dates for assigned assets, and you make the list more scannable as well as reviewable (since you can look through the list to verify your selected dates for each asset).


enter image description here

Who else does start and end date controls well?

The travel industry has to design user interfaces that solve this problem all the time. One leading site here is Hipmunk. Let's see what they came up with:

enter image description here

They allow you to input a date in plain English and then below they display a calendar to give you feedback, explaining that the system understood what you meant. This is a great approach and one that I recommend you reproduce for maximum awesome points.


Looking at your screenshot is making my brain explode. My first scan of the controls doesn't inform me of how this user interface is supposed to work. After looking at it for a while I can figure it out, but that's as an experienced designer. What about the people expected to use this?

I would strongly recommend redesigning this part of your UI. Let's walk through an example. Let's say I'm a photographer and I want to check out a camera to use for a shoot. I want to be able to find "Photography" as a service, then "Cameras" as the type of equipment, then "Nikon D5000" as the actual camera. Once selected I want to tell the site when I need it.

The problem is that instead of allowing me to just find the camera directly, you're forcing me to map my mental model to your domain structure. This is inconvenient for me. A better approach would be to just let me type in what I'm looking for, and you figure out how to find it for me.

For instance, a more human approach here would be to offer me a search field with suggest. When I type "Nikon", you suggest "Nikon 5000D (Photography > Cameras)". When I select it, it gets added to a list of assets similar to the one I showed above.

  • Nice post! Say I do not want to select every item in the list, do you think it would be intuitive to select items from the list if I put a checkbox next to each item in the list?
    – Rich
    Feb 11 '12 at 16:57
  • I thought by assigning assets you already indicated that those are the ones you want to select?
    – Rahul
    Feb 11 '12 at 16:59
  • Unfortunately no; the user may not need every asset. Perhaps it would help to know that the Assets are not unique either. The combination of the Equipment and Asset make it unique (that is what I will eventually persist to the database).
    – Rich
    Feb 11 '12 at 17:14
  • 1
    Right, but why would you assign an asset if you didn't mean to select it?
    – Rahul
    Feb 11 '12 at 20:03
  • My bad. I missed understood the process. This will work nicely. Thanks.
    – Rich
    Feb 12 '12 at 14:34

The best way to capture Start and End date would be to have a calendar pop up like this one.

The best way would be to set todays' date by default as Start Date and End Date can be set by default as say a week from now (or depends upon your scenario). enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.