Serkan's Blog

Just another blog talking about life, outdoors and stuff

      We all must have used the popular widget below to select our birth date in some mobile applications. This post talks about my observation on this widget and its logical mistakes that I can see.

      What annoys me with this widget is the premature validation of the provided input. Imagine your birth date is 25.01.1995 but you are trying to provide this information while the default value is today (this post is written on 18.12.2025). For any left-to-right language speaker, the natural way to provide this information would be to start with the day of the month (25 in this case).

      When 25 is provided, the widget automatically resets to 18, thinking that you are trying to provide a date in the future. This is clearly a premature validation which interrupts the flow. I don’t see a clear reason why this validation cannot be postponed to the actual submission of the input.

      If we were talking about a password input where users would need to understand if certain criteria is met (such as special characters), it would make sense but what would be the logical reason to validate birth date while providing the input? This is not an attribute where users can make typos or something similar.

      This is breaking the intuitiveness of the flow and making the user follow an unnatural way of providing this information which is to start from right (year).

      Let’s stop making this mistake and start minimizing number of annoying moments (my favourite KPI). Keep in mind that making the user repeat an action is an annoying moment. Let’s not build dumb software that annoys people.

      Hope this post reaches to the right audience and makes product managers / engineers re-think this approach.

      Posted in

      Leave a comment