One Date-Picker to rule them all

Within the Android Eco-System, there are usually 2 types of events that would require a date-picker, one being single day events like your date of birth or an appointment or movie and the other being a multi-day event, like a progress tracker, or to&fro tickets.

Bundled with Android comes a date picker which works great with a single day event happening/happened in the near future/past as well as for a multi-day event. The problem arises when you have to select a day which doesn’t lie in the vicinity of the current day. Say for example you need to input your date of birth, which lies somewhere in the early 90’s region. For most people that I’ve come across, they would have no idea how to navigate to that year other than by clicking the month button (12*Age of the person) times and then selecting a date. No-one knows or even tries to click on the year at the top left of the dialog, because it just isn’t intuitive.

Another thought for date pickers, is just let the user input their date of birth, but with that route, problems start right at the beginning. There are a number of validations that have to be coded by the developer which even in the end, isn’t the best solution because of fail cases, when the user should be automatically shifted to the next field for the best possible experience and so on.

A possible solution to that would be the older iOS-like date ‘scroller’. It works very smoothly, and isn’t a problem to even scroll back a number of years. The drawback is that for multi-day events like booking flight tickets, or hotel rooms, for a better experience, the calendar is needed. That’s where the android default date picker becomes really handy. Combined with a good product backing, you’ll be able to see the price of tickets/rooms on other days as well and make that calendar functional-as-fuck.
So after all this, I went out in search for a date-picker that solved all these problems, and came back with zilch.
Hence, I decided to try and solve it myself.

So I took the closest reference to the best solution out there, which at the time was the default date-picker from Google and slightly changed the visual hierarchy of the information at the top and made it a little more intuitive. This way the date picker works for all single day as well as multi day events without changing the UI drastically. The user can just tap on the year from which a list of years will appear, select it, and move on to the next required field. It does involve an average of 6 steps to complete the entire date of birth process, but it’s an improvement.
If anyone has a better implementation of a date-picker, let me know!
Also, feel free to comment, share and start a discussion with me. You can mail me at kevingerardfernandez@gmail.com.
Powered by WPeMatico