How we handle Date/Time displays (in a very smart way)

We are improving our “smart display” of dates and times, to make sure they are as easy for users to comprehend as possible.

(At this point you might well be wondering: “why is this a problem in the first place? Don’t people know how to read dates or times?”)

The underlying problem we are trying to solve is that “relative time” is more useful than absolute time, if you are dealing with a short time span.

For example, the word “Yesterday” has much more cognitive value than July 19, 2013 (which is also “yesterday”, as of the time this blog post is being written). “Yesterday”, “today”, “tomorrow”, “two hours ago”, “recently”, etc. are all very powerful ways to convey a sense of how far away a particular event is from the current moment.

But, as one of users – Carlos Venegas, from Lean Office Innovation – recently pointed out, this works best for short periods of time: for example, it is helpful to know something that happened “2 days ago”, but much less helpful to be told that something happened “12 days ago”. In the latter case, the cognitive advantage of using relative time disappears and quickly becomes a burden for the user: 12 days ago is too far in the past, and now the user has to do some mental calculation to arrive at the more useful value of “June 10, 2013”.

This issue became more pressing when we built the Due Dates feature, because time doesn’t have an absolute value when you are dealing with a distributed team. For example, the Kerika team is distributed between Seattle and India: a time difference of 12.5 hours in the summer, and 13.5 hours in the winter.

This time difference is large enough to make terms like “today” ambiguous: depending upon when you are talking with your cross-border colleagues, you may have very different ideas of when “today” ends.

To address this, we made our Due Dates feature smart: it automatically adjusts for timezone differences, so that when someone in India marks an item as due “today”, Kerika ensures that people in Seattle understands what that means in terms of Pacific Time.

We also are improving our display of relative time, using a more detailed algorithm:

  • First of all, any time reference that is more than 3 days away is shown in absolute values: e.g. “July 15”, rather than “7 days ago”.
  • The concepts of today, tomorrow, and yesterday are preserved: the system figures out what timezone you are located in, and uses these terms in a smart way.
  • If an item is due by the end of the day, the time is shown using your current timezone: e.g. “11:30AM PST” rather than just “today”, for an item that is supposed to be done by the end of that day in India. This removes misunderstandings that would otherwise exist across timezones.
  • As you get closer to a time, the display gets more precise: anything due within the next hour is displayed in minutes, e.g. “45 minutes”.
  • As you get very close, the display gets a little vaguer, because of the greater uncertainty about when something might actually happen. So anything that’s two minutes away is marked as recently.

All of this makes for a very smart display of time, while keeping the user interface very simple: users set dates using a simple calendar control, without having to worry about the details of where others on the team are currently located, and how they might perceive these values!