1

Let us assume that I have a system where temperature, humidity, rain, etc. measurements are recorded at certain dates & times for certain locations (let us call them "snapshots").

This is just an example, and such "snapshots" can be any measurements taken on an irregular basis, for example dates when inventory was taken in warehouses, or patient interactions with doctors (some rare, some frequent - and we want to compare some parameters between two interactions), and so forth.

Some locations get snapshots taken on an almost daily basis, but some only once every few months. Some locations used to get them once every few months, but now get them more often. Some may have 3 snapshots, and some may have 50 (but never more as they get pruned).

For a given location, I want to allow the user to select exactly two different snapshots, then I will redirect him to a page where I compare them side by side, calculate some other values based on them, and so forth.

Option A: I'm considering would be two calendar controls, and enabling for selection only the dates on which snapshots were taken (also marking them another colour).

However, the snapshots can be distributed over time. For example, there is a chance that some locations would only have snapshots taken every 6 months. This would force the user to scroll month to month in order to make their selections.

Also, in rare cases there can be two snapshots made in one day (say, one in the morning and another in the evening), so the user won't be able to select which one exactly he wants.

Option B: I'm considering is just have two drop-downs or multi-line selects listing the available snapshots; user clicks one, then the other and he's done. This works well for locations with not many snapshots, but will have poor usability for those with many.

Am I missing some simple elegant solution to this?

P.S. I want something fairly simple to implement from ready-made HTML elements / jQuery widgets like datepicker, I don't want to custom-code anything fancy.

4
  • Hi John, and welcome to UX.se. As it stands right now, your question is too localised in that it isn't dealing with a general problem that other people are likely to have. Please abstract your answer a bit and break it down to the UX issue so that any answers will be helpful to other people in the future as well.
    – JohnGB
    May 27, 2013 at 4:14
  • I beg to respectfully disagree. While the use case is somewhat rare, it is generic. Basically, instead of snapshots with climate measurements, another system could have such snapshots for dates when inventory was taken in warehouses, or another have patient interactions with doctors (some rare, some frequent - and we want to compare some parameters between two interactions), and so forth. I'm basically trying to select two dates from a set of dates, just this set of dates has some characteristics (not altogether uncommon).
    – John M
    May 27, 2013 at 6:40
  • I agree that the question can be generic, but as it stands now, it isn't generic - hence my asking you to make it more generic. You comment explains the question in a better way than your question, so I suggest using that as the model.
    – JohnGB
    May 27, 2013 at 7:34
  • Added a paragraph to improve the question.
    – John M
    May 27, 2013 at 8:36

2 Answers 2

0

Why do you want to resort to a calendar picker when you have limited dates available?

If the number of options is less, then a radio button list should suffice. Else, you can use a drop-down combobox.

If you want to be fancy, implement a timeline with markers for the dates and the user knows exactly where the points are and can select them from there.

mockup

download bmml source – Wireframes created with Balsamiq Mockups

mockup

download bmml source

4
  • I thought to use the calendar picker, because it is dates we are selecting, and I thought people are most familiar with calendar pickers when dates are involved. I like both of your suggestions. I don't know any controls which implement the second one though.
    – John M
    May 27, 2013 at 6:42
  • You should have a look at archive.org/web/web.php. They use a nice timeline pretty easy to use. May 27, 2013 at 7:56
  • Yes, their's is really nice. However, they only select one date where I want to select two, and also theirs would take a bit more time to implement than I can spend.
    – John M
    May 27, 2013 at 8:37
  • @JohnMurdoch calendar picker is useful when the user does not need to go through pages to pick a date. In your case, this situation is unavoidable and hence calendar picker is not the best approach.
    – rk.
    May 27, 2013 at 15:44
1

Here's a nice selection of date/time pickers to look at:

http://trentrichardson.com/examples/timepicker/

It seems what you want could be facilitated with a date/time picker and a number input for intervals (days I assume). The time of the date/time picker could default to a useful value so the time would usually not need to be set, but it's always there for the rare cases when it's needed.

Due to the fact that the frequency can change dramatically, I wouldn't try to support an easy low frequency method and a more complex higher frequency method and swap in the optimal method appropriately. This has a potential for confusion.

I would first implement the simplest method that covers all cases. If you get complaints about this one-size-fits-all approach then you could revisit the problem.

2
  • 1
    I don't think the timepickers help much, as most are for selection of arbitrary dates&times, while in my case the dates&times which are valid are quite specific. But your last two paragraphs are very insightful, thanks.
    – John M
    May 27, 2013 at 6:43
  • @JohnMurdoch - Oh, in that case just keep it simple: list of specific date and date/times. A dropdown list (if screen space is premium), a basic multiselect list, or a list of checkboxes could all be made to work. I think a calendar date picker with some dates disabled would be confusing. Start with the simplest (i.e. a multiselect list of some sort).
    – obelia
    May 27, 2013 at 16:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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