Talking dates with conversation interfaces
Over the years I’ve had to put quite a bit of thought into how people think about dates. This used to manifest itself in my having to explain why a calendar picker is a horrendous way to ask someone to provide their date of birth. It still is by the way. Stop it.
But now I work for a travel company, dates are constantly rather important.
When Skyscanner made its first flights app for iPhone, neither the company nor I had any idea how important apps and indeed mobile were going to become. After testing a prototype of the app with users I suggested developing a custom calendar picker for it. But the iPhone’s native date picker was deemed suitable for the first release and it was. This view quickly changed as the app’s popularity exceeded everyone’s expectations.
A calendar is a more efficient input mechanism than the iOS date spinner in many travel situations and this is why few travel companies use it in their iOS apps.
But I think the limitations of the iOS date spinner go further than just a matter of efficient input for these tasks. When I think about dates, I picture a calendar. I think others do this too.
Not all dates are the same
For the same reason that a calendar picker is not the way to ask for a date of birth (No really, stop it), the iOS spinner wheel is not the way to ask a person which dates they want to fly. We think of dates in lots of different ways. So there should be no universal default for providing a date for an interface. It depends on the type of date you’re asking for. To use my favourite UXism - it depends on the context.
A date as a reference number
Your date-of-birth for example is often nothing more than a reference number. You provide it to prove that you are really you and not a fraudster. When asked for it, you don’t need to know which day of the week it was or which week of the month that was in.
To provide our date-of-birth we just need to be able to quickly tap in the numbers. We don’t even need to think about dates and we don’t need to reference anything to get the answer. It’s a pretty memorable date that we’re unlikely to forget, even if we don’t have memories of the day specifically.
Recalling the date-of-birth of others
Our own date-of-birth is quite unique in this way however. When I need to quote my partner’s date-of-birth I can’t rhyme it off very quickly and we’ve been together for nearly twenty years (Siri, remind me about this next year).
To recall it I begin by thinking when her birthday is (I had that nailed after about a decade) and then I think how much older she is than me (she doesn’t look it, honest) to recall the year she was born. In order to do so I recall my own year of birth and then subtract a few years. I then know the day, month and year of her birth.
It’s the same with my brother, although I misquoted it in my best man’s speech which was a bit embarrassing. But I now claim this was for security purposes. You can never be too careful.
But for both of my parents I know the year they were born and actually use this as the reference to recall how old they are. So I add their birthday to the front of that year and I have their date-of-birth.
Asking for my date-of-birth is different from asking the date of birth of a member of my family. In my date-of-birth 5 is just a number. Whereas for my family I need to translate May into 5 because I use the knowledge of their birthday to obtain their date-of-birth. This stuff matters when an interface is asking for it.
In conversational English, unless you specify otherwise, it is assumed that any day you mention is using today as a reference. We say Monday and the person we’re speaking to understands this to mean the upcoming Monday (or the past Monday, if we’re talking about the past). It’s the Monday after (or before) today.
When we say a week on Monday the upcoming Monday becomes an additional reference point and the person understands that we mean the Monday after today plus one week. A conversation interface needs to understand these rules, but this referencing is not solely about how we word our responses. We often need to use references to know the answer at all.
I see this a lot when observing people looking for flights. If you are going to a conference on the 10th of May you might remember this date because it was on the website when you signed up. When planning your travel to the conference you might reference that date. We use the date we’re certain of to understand relevant surrounding dates.
Resolving fuzzy recollection
As well as referencing a specific day, we use other tactics to help us answer questions where a date is the answer. We often retain only vague notions of the dates of upcoming events. You probably have at least one of these dates in your mind right now. You can roughly recall the date. You might know which day of the week it is. For example you think it’s around 14th of May, but you know it’s on a Sunday.
When asked by an interface to provide that date, you can combine your hazy recollection of the date and the accuracy of a calendar to resolve this as Sunday, 15th May. Without looking at a calendar however, answering the question is uncomfortable.
What I’m getting at here is that when we’re discussing dates we often want to see a calendar to help us answer the question. In a visual interface that calendar doubles up as the input mechanism.
The rise of the bots
In time our Facebook app will get better at discussing dates. It’s capable of understanding some but not all of the ways a date can be expressed in conversational English. Part of the way we will learn is by having it live in the first place. Although keeping up with a human conversation is only one of the challenges.
When I watch people having a conversation with our Facebook chatbot, I can see how uncomfortable some of them are providing flight dates without seeing a calendar. I hear people say “I need my laptop” or they switch into their calendar app to work out their dates and then come back to the conversation. They want to see the dates in order to understand them. Again, I expect we will improve in this area.
Conversation offers a lot of freedom for flexibility but it isn’t as good with accuracy when you’re discussing dates with a travel bot. A weekend in August is a lot easier to express through conversation but when you have one or more precise dates you want to provide then visual interfaces can often handle this better.
The keyboard’s job?
The job of expressing a date in a chat conversation is ultimately that of the keyboard and I expect to see calendar picker functionality begin to feature in keyboards as chat interfaces grow in popularity.
If Skyscanner’s chatbot presents a calendar widget then people will use it in instances where conversation might work better because it will set the expectation that it needs to be used. But if it was left for the keyboard to resolve the date then the user is arguably less likely to believe they can use a visual interface and therefore provide a precise rather than rough notion of dates.
I can’t however see travel companies being happy to put all their faith in phone keyboards. Choice of date is an opportunity to communicate options to users, so the interface needs to communicate options at the point the user is selecting them.
The chat app would therefore need to be able to overlay information onto the phone keyboard’s calendar function.
“Hey Alexa, show me a calendar”
Speech interfaces are more challenging still. If I’m asking Amazon’s Alexa to find me flights, my only input mechanism is a microphone so I need to use my voice. Even with some sophisticated conversation ability, it will be normal that I just want to use a calendar to form my answer to questions about dates.
I can’t even discuss dates with other humans without wanting to see a calendar, so it’ll be a challenge for an app to make this any different. That is until I can trust Alexa to run my life for me. But someone else has been doing this for nearly twenty years already, so there might be a struggle.