What Date is it? Web App Usability & Date Input
Allowing users to enter information in an easy a way as possible is an important part of any web application. With many web apps depending on date or time data, considering how best to ensure usability requires consideration in the web design & development process. Before looking at what affects your choice of input method, I’ll give some examples of the options you can choose between.
Forms of Date Input
“Flat Calendars”
Many websites have relied on representations of “traditional” paper-based calendars, showing rows of days and dates which the user can click.

from Google Calendar
The screenshots above and below show two alternatives for the flat calendar approach: the first (above), displays the calendar on the screen so it is immediately visible to the user when the page loads. The second (below), is a “pop-up”, meaning they rely on user interaction (e.g. clicking on a button or link or in a text box) to make the calendar appear.

from Avis Car Rental
“Drop Down” Lists
A second option is a drop down list style date input. These are most commonly seen in forms where credit card expiry dates are asked for. The use a fixed list of dates, which minimises the chances of a user making a mistake.

from Budget Car Rental (…where I spent some time working long time ago!)
“Natural Language” Approach
The final option I am going to look at is a newer approach. It allows the user to type the date and (or) time into a text box. The application then interprets this and translates it from how the user has phrased it, into an “acceptable” (from a programming perspective) date format. An example of this is shown in the images of the (very useful) web app Remember the Milk.

which the application then interprets as:

Impressive eh?! This is particularly impressive because it promotes a more natural interaction between the system and the user. It does not force the user to rely on one representation of dates and times, instead, it adapts to how the user naturally expresses themselves. This should be the case, as highlighted by Cornelis in an article on the diversity of date input methods:
…it is hard to find any pattern or rationale why one website has chosen for model X [for date input] while the other has chosen model Y. The suspicion would rise that the date input method is often dictated by the way the backend would ‘like’ it. This is a situation which neither we, as interaction designers and consultants, nor the end user should settle for.
The (brief & slightly) More Technical View
Providing functionality like this is obviously much more complex than giving the user a drop down list to select from. There are Open Source JavaScript libraries that can provide much of the functionality for you (finding one of these stopped me from going past the paper planning stage of writing my own JavaScript Library to handle this…thankfully!!). Examples include Date.js (released under the MIT License), and Datetime Toolblocks (released under a modified GPL).
Choosing the best Date Input Option
Given the options, what should be considered when choosing how you ask your users for a date (edit: emm…not that kind of date, you know what I mean). Here are some points, which are all related, to consider:
- Frequency of use. If the user visits the site / application infrequently, making how the input works as obvious as possible is wise. By providing a flat calendar, that is modelled on paper-based calendars, users do not need to adjust to new types of interaction. If the user visits the application frequently, they may be more responsive to learning how to use novel forms of interaction (if they are of benefit).
- Trade off between ease of use and speed of use. With some of the date input methods, there is a trade-off between ease-of-use and speed-of-use. While the Remember the Milk model of date input is fast (I find it faster than a flat calendar because you don’t need to use a mouse), for users unfamiliar with it, it is not easy to use initially.
- Type of user. The profile of your user will impact every aspect of your design; the date input method is no different. If your users technical awareness or skill level is not low, then as simple a means of interaction is required. If they are at a higher level, again more innovative and productive means of interaction can be used.
- The design of you application. The overall design of the application can be of influence. Sometimes, it is not practical to include a flat calendar on the screen, instead, due to space constraints, or other design limitations, pop-ups may need to be used.
- Cultural aspects. As date formats differ between countries, for example 10-3-08 means different things to users in Ireland and in the US. Making users aware of these differences, and ensuring that your application is aware of how to handle them is crucial in order to avoid inaccurate inputs.
The usability of any web application should be a key concern in web design & development. Reducing the amount that any user has to adapt, and making interaction requirements obvious, will improve usability. The innovation in date inputs outlined are one such way that this interaction can be improved for certain types of web applications.
6 Comments
I work for Thrifty Car Rental and we use a system like the one you mentioned above for Budget. I think being able to type dates in like you showed above is a really cool feature for a calendar type application, but I’m not sure it would work so well in a booking engine scenario.
Hi menton, thanks for the comment.
I think it depends on the audience & what type of application the booking engine is being used for.
For something like car rental bookings, I’d agree that it may not be ideal; most likely because users will not have past experience, and would not use this type of booking engine regularly enough to learn how that type of input works.
Having said that, I don’t think it would take much instruction to show users how that type of date input works.
In google calendar, apart from “quick add” that offers experience similar to “got milk”, there are some really nifty details that i think totally change the whole thing.
Try “create event” (top left) in google calendar:
* Popups have no drop-down indicators, thus encouraging text input, but they appear as soon as the input box is selected (and go away when date is picked/focus changed). This way they get best from both worlds
* the order of input fields [from date] [from time] [TO TIME] [to date] makes a great difference when you think about it
* the “to time” popup has delta in hours, thus allowing to see both, end time and duration
Something to chew on, eh? At least i had
Found your blog via google.ie, keep rocking!
Hi Dave, i like this post. Nice and concise. I agree on the recommendation you give at the end. Well done
Thanks Juan, I’m glad you liked it.
Choosing one option or the other also depends on the context. A calendar makes sense when you book an hotel room or a flight. When you enter a date of birth, it is better to be allowed to enter it in a text input field.