Usability in practice: "Enter a date"

    Hello again to everyone.
    Today I will talk about my favorite - about usability.

    In Russian there is a replacement for this buzzword - Convenience. But when it comes to the convenience of human-computer interaction, we immediately speak of usability.

    This article will only consider the date entry form, which we find so often when registering on any site. Most often asked to enter your date of birth. Why all admins in the world know my birthday is unknown, but we will consider that for statistics.

    First, plunge into the story.

    All the very first sites and programs offered the user this field:


    Naturally, problems arose immediately. People filled this field as best they could and used to:
    July 12, 1980

    and so on ...

    Therefore, the following was invented:


    But some were on the drum for this, others simply did not read what was written in brackets.
    Then the programmers came up with the idea of ​​dividing the field into three:


    It seemed to be a sigh of relief. But users are dumb people and they do not care about these fields. For these reasons, a month was driven into the field for a day and vice versa. Who introduced the month by number, and who by word.

    The developers became thoughtful and realized that the best way to avoid mistakes from stupid users is to prevent them from allowing them. And they invented this:

    In this form, this form is found on most sites to this day. And everything seems to be fine, but there are many BUT.

    Firstly, she doesn’t exclude everyone on February 31st.
    secondly, it’s easy to choose a month, but it’s a very difficult task to choose a day, and especially a year. Judge for yourself:

    It takes a long time to scroll to get to the right year. And we, after all, strive for ideality and must adapt the interface, both for the elderly and for infants. In this regard, on many current sites we see the following:

    All sorts of

    forums Unfortunately, all these forms are not foolproof and do not exclude the entry of, say, such a date: November 31, 3450. What can we do? And you can do a lot. We can take into account the characteristics of each month, as well as a leap year or not. - Yes, you fucked up! - programmers will say.9.gif 

    But I will say that this module will have to be done once and then in the future it will be easily screwed to any of your products.

    But in connection with this, the filling procedure will have to be changed: first we will enter the year and month, and then, based on the data received, put the desired number of days in the Day list. Moreover, the Day list will not be available to the user until he selects the Year and Month.


    Well, it’s like there shouldn’t be any problems, using as usual moves from left to right.

    But there are still problems. The Year and Day lists are still not usable.
    What can we do?

    I came up with this:


    In my opinion, finding the required year in such a list will be easier - the eye easily clings to dozens, and it’s also easy to draw down a few lines. No tedious scrolling.

    The list of the Month, it seems, does not require any modernization.

    But the Day can be represented in the classic calendar block Naturally, days should be displayed based on the first two fields. In my opinion, this form of entering the date of birth will allow you to avoid knowingly incorrect dates and give the user a convenient input. I will be glad to any comments.


    Also popular now: