UI for capturing a timespan or duration
user-interface
Solution
Thanks for all the feedback.
What I finally ended up doing was, having a single textbox that shows the time duration in the format "xxhrs yymin"
The user can edit it and when focus moves away from the textbox, it recalculates the duration and reformats the text into the canonical form.
The parser to interpret the text entered is fairly liberal.
It's a set of regular expressions to match any number followed by 'h' or 'm' or 'd' to represent hours, minutes and days. If it doesn't find any 'unit' with a number in front of it, it assumes you have typed in a pure number as minutes and will interpret it as such.
So if the user types:
"1.5h", it will reformat to "1hr 30min" upon leaving the textbox.
"90 min" will also be reformatted as "1hr 30min"
The parser only looks at the first character following the number, which means you can enter "1 day, 7 hours and 19 minutes" and it will recognize it correctly.
Of course, it would also recognize "2 holes and 19 mice" as "2hrs and 19min".
I think I can live with that.
Problem
What's a good web-based UI for capturing a time duration from the user. Lets say that we want to capture a time duration in minutes. But would like to present it such that the user can enter in hours and\or minutes. Just use 2 textboxes for hrs\min? Or a single textbox and let them type in "1hr 31min" or "91 min" ? Or is there something better?