Twenty years ago, when I started working with corporate systems, I was quite annoyed that when I received reports, I constantly had to enter the full start date and the full end date of the period. Since then, generations of processors, operating systems, etc. have changed, and most programs still require the user to use extra fingers to enter the start date and end date of the period.
The suggestions are as follows:
Let's go around with one field and attach a calendar call button to it. Approximately as shown
And give the user maximum input freedom. The rules are simple (the description is not formal, but, I hope, understandable):
')
- The canonical format for entering the boundaries of the period: dd / mm / yy ... dd / mm / yy
- It is allowed to omit some parameters:
- The absence of the left border is interpreted as all available data before the specified date.
- If there is no right border, then data from the marked date to the present moment is taken, or without limitation to the right.
- Instead of two points, you can use two commas (relevant when changing the keyboard layout)
- Instead of day / month / year separators, you can use a dot or a dash
- To enter a quarter, you can use the combinations: I, II, III, IV or i, ii, iii, iv, which mean, respectively, the first, second, third and fourth quarters
- If the year is omitted, then we believe that we are talking about the current year.
- If a month is omitted, we similarly assume that the user had in mind the current month.
- If a day is missed, the interpretation depends on whether a couple of terms are entered or one. If the term is one (for example, β10/2013β), then we assume that the user needs a full month or a year, if the period contains a couple of terms (say, 5 / 2012..6 / 2012), then, depending on the date in question closes the period or opens, inserts in place of the missing date the beginning of the month (year) or the end of the month (year), respectively
- When entering the year of the 21st century, you can omit a zero after 2. For example: 213 is 2013
- Ambiguous options are resolved in favor of a more accurate representation of the period. For example:
- 1/1 - the first of January (not January 2001)
- 10 - the tenth day of the current month (not October and not 2010)
I will give a few examples:
- 1.2.07..29.3.07 From February 1 to March 29, 2007
- ..4.07 to April 2007 inclusive
- 4.98 Throughout April 1998
- 1.207..5.207 From January to May 2007
- 1.2007 ... From January 2007 to the present
- ..23.4 By April 23 of the current year
- ..23 According to the 23rd day of the current month of the current year
- 12 the twelfth of the current month
- 12 ... from the twelfth day of the current month to the last value entered
- I..II From first to second quarter of the current year inclusive
- IV Only the fourth quarter of the current year.
- iv / 2006..ii / 07 From the fourth quarter of 2006 to the second quarter of 2007 inclusive
It remains to consider the visual choice of the period.
The figure shows a calendar for the user to select a period. We work around one window: if the period is βeven,β that is, a number, week, month, quarter or year, then click the corresponding button at the top and then something, depending on the previous selection, at the bottom.
If the period is not even, then first click on the first date, then select the next one and click on it. Naturally, it is allowed to first select the end, and then the beginning.
In this illustration, the same calendar shows a quick selection in one of the most frequently used cases:
- Today
- Yesterday
- Last 7 days
- Last week
- Past work week
- Current month
- Last month
Three buttons at the bottom right allow you, respectively, to open the left period (..5 / 11/2013) for the selected date, select an empty period, and open the left period for the selected date (1/11/2013 ..).
The described equipment has been working since 1996 in the Papyrus system of the Petroglyph company and invariably pleases users.
Ps. While writing his opus, I came to the conclusion that the quick selection of a period for one of the options listed in the last list should be called up by pressing the down key when the input focus is in the period field β and we will do it in the near future.