Choosing travel dates
is one of the frustrating experiences for travelers while booking flights,
hotels or taxis using mobile apps. Few super-slick calendars and date
pickers are abundantly available, yet the nightmarish experience of date
selection remains.
General
Guidelines for Calendar Behavior
I have used calendar
feature in different contexts - booking appointments, hotels, buses and amongst
others. I faced many problems, I have got confused and frustrated, sometimes,
literally stalling my task and walking away. This post is a result of those experiences
and questions I asked myself about the workings of a calendar while using flight booking apps.
There are several
guidelines to consider while designing calendars for a seamless experience.
Some of them are:
- Date selection screen
could be a single screen where user can select Departure and Return
dates at one go (tabs or segmented controls or other ways)
- Calendar highlights current
date, departure and return dates. Current date has a text ‘Today’ below
the date for memorability purposes in addition to a color background (Note
that colored background alone could be hard on color blind people)
- Months are scrollable using
swipe gestures. Icons like <, <<, >, >>
are not a good fit for mobile
- Travel dates need to be
highlighted once selected with a range. I.e., if 29th June and 2nd July
are selected, the days in between these dates need to be highlighted to
represent the range or the number of days.
- Drag and Drop of
dates is supported. However, do not force the user to drag and
drop for dates that are far apart, because it might be hard on the user to
drag and drop instead of selecting in such a case
- Clean interaction / animation is
defined and executed for each transition / behavior change / state change
on date picker [This is a broad and vague goal that needs a separate blog
in itself]
- Ability to modify departure or return date independently. Tapping on departure date field should show date picker screen with focus on Departure Date tab and similarly for return date.
- For round trips, user has to be prompted
to select a return date using suitable animation that provides a strong
visual cue
- Provide Cancel and Done button on
calendar screen to give freedom and control to user. This is
debatable because is some user tests, it was found that users expected the
screen to auto-close once date selections were made. In few other tests,
users were wondering why the screen closed without any action from their
side. Such tradeoffs are very common while solving UX problems.
- Keep buttons, tabs and other
critical information on top of the screen for better visibility. This is
valuable from an accessibility point of view as differently-abled users
are also used to finding critical information at the top.
- Local timezone (place of
booking) is considered for date selections. Note that flight
dates will be local time zones of respective countries where the user is
visiting.
The above list is a
set of guidelines, not hard written rules. Hence, they may not be
applicable in all contexts. You need to pick the ones that suit most to
your context.
What's Your
Experience With Calendars?
P.S: Special Thanks to Suresh
Chelliah, Binoy Vijayan and Mohanraj for their review comments on this article.