We are developing a date picker and have run into a problem related to interpretation of user input.
Suppose you have a date picker as the one in the picture below and the user is to change the year by using the numeric keys.
Obviously a year (until far future) is four digits. However, a lot of users are used to a procedure such as this using the numeric keys:
"dd" [tab] "mm" [tab] "yy" [tab/leave]
That is, inputting only 2 digits to indicate the year. My question is thus:
- What is the most reasonable behaviour to accommodate such a scenario?
Our tentative approach is this:
- 00 <= "yy" <= 29 is assumed to mean 2000 (lower bound) and 2029 (upper bound)
- 30 <= "yy" <= 99 is assumed to mean 1930 (lower bound) and 1999 (upper bound)
But what if the user enters "yyy" and leaves the input field - how is that supposed to be interpreted?
In this case our approach is not change anything until a fourth digit is entered. That is:
- "1" -> 2001
- "9" -> 2019
- "7" -> 2019
- "8" -> 1978
If a fifth digit is entered the process starts over according to the rules described in the topmost unordered list above.
Any thoughts on this will be appreciated.