Friday, October 13, 2023

Relative Time Labels

Nikita Prokopov:

Why is nobody excited about these “yesterday”/“2 days ago”/“a week ago” labels?

Because they pretend to speak human language, but they actually don’t. For a human, yesterday is “at the day before”, “between 0am..11:59pm the day before today”.

No human uses “less that 24 hours” as the definition of “yesterday”. Computers, unfortunately, do. Add here that different implementations calculate “yesterday” differently (even on the same service) → lack of trust → less useful.

Anything longer ago than yesterday should just say the actual date. It’s absurd that I sometimes need to subtract 9 or 12 days, and “borrow” from the previous month, to figure out when something actually happened. (Sometimes it’s in the tooltip or URL slug, but not always.)

I don’t find relative times particularly useful, either, because some sites will reload-in-place to keep them up-to-date, but others won’t. So “1 hour ago” could mean actually one hour ago or it could mean “one hour before I opened that tab.”

Update (2023-10-14): See also: Hacker News.

15 Comments RSS · Twitter · Mastodon

I don't like NN days ago either, but I'm find with relative dates in the form of "tuesday" or "Last Fri". In fact, I like that better than the absolute date. Off the top of my head I don't remember that Tuesday was Oct 10 (in fact I had to look it up right now), but I know when Tuesday was.

@Jim I think it’s highly contextual whether I care more about which day of the week it was than specifically when it was. But at least giving the day of the week is possibly helpful, and then it’s easy to find the actual date at a glance without counting.

The trade-off I came up with for a third-party chat/forum app a few years ago was to limit relative dates to less than a hour ago: “{mm} m {ss} s”, after initially relativizing all of today’s times.

I see nothing gained from “x hours ago” (or even “{hh} h {mm} m ago” as in my case) versus “hh:mm” for today’s dates; my users limpidly didn’t see it either. On the other hand seeing that a message is from 10 to 0 minutes ago has an electrifying feeling.

Limiting relative dates to 60 minutes ago and showing the seconds makes it obvious whether they’re based on page opening or continuous refreshing, as you see the seconds moving in that latter case.

@Jim I have found that what constitutes last/this/next is culturally ambiguous. For example on a Wednesday, when I say 'next Friday' I mean +9 days, though the /next/ Friday is only 2 days away, and folks from other cultures need to ask me.

If you can negotiate this with your machine, that's great. Just don't expect another human to always get what you mean.

100% agree. Seems like a clean solution would be at least provide the full, explicit date, then also provide the relative time if you think there's that much value in it. If providing absolute date-time including time zone was standard, someone could easily publish a browser extension to format the time to relative (and even provide options for how to do so).

In fact, it should always be the date, for the simple reason that screenshots exist.

You can recognise a programmer in a crowd by asking who has a strong opinion about dates and their notation.

I agree that in our digital world where everything gets lost (think link rot) but strangely also everything is stored forever (delete all youthful indiscretions while you can) you’ll make readers and your future self happy by just speling out dates and times in full and not taking for granted that the context will make everything clear.

I've actually been involved in some user research in this recently, for my company's product. The summary is that people generally want to see "yesterday" for 00:00-23:59 the previous day (in their local timzeone), the day of the week for anything earlier than yesterday but not last week, and the date for anything last week or earlier. It's certainly trickier for things less than day ago, as the granularity they want to see varies on the task -- sometimes "Today at " is best, sometimes " minutes/hours ago" is preferable (but only if it updates regularly and automatically).

I can't bear relative dates (though tbh I have no serious complaint about "yesterday"). I had to laugh at Tom's comments about "next" though: my wife and I have been married for 30 years and we *still* have confusions about (for example) "next Wednesday," which as of this writing *she* would call November 8th and *I* would call November 15th (reserving the term "this Wednesday" for the 8th).

But for software, nothing beats clarity. I have set my Macs to prefer yyyy-mm-dd since that became possible (OS 8?), and I mercilessly harangue any developer who doesn't honor (at least as a default) my system setting.

This thread wouldn't be complete, of course, without the obligatory XKCD reference:

Next (from the Oxford English Dictionary)

(of a time or season) coming immediately after the time of writing or speaking. As in: "we'll go next year"

Therefore "next wednesday" is the wednesday coming immediately after the time of writing or speaking.

Which means Erik MH's wife is using the English term "next" correctly, and Erik MH is using it incorrectly. Sorry, Erik!

Well, I can concede that that makes sense on, say, a Thursday or Friday. And I suspect that my own usage on such days might be inconsistent.

But if today is Tuesday, would you really define "tomorrow" as "next Wednesday"? To me, that's unambiguously "this Wednesday," and "next Wednesday" is the one eight days hence.

Regardless, my point is that these phrases are ambiguous in precisely the way that "2023-11-15" is *not*.

I’ve got to agree with Erik here.

@Old Unix Geek: I'm afraid that you need to look at the entire definition? In both American and British English:

> 1. (of a time or season) coming immediately after the time of writing or speaking: we'll go next year | next week's parade.
> • (of a day of the week) nearest (or the nearest but one) after the present: not this Wednesday, next Wednesday | [postpositive] : on Monday next.

You'll notice that in the second row (which is a sub-entry under meaning 1), it states that it could be the nearest one, _or_ the nearest but one.

One possible alternative here is the postpositive "week": "Wednesday" vs "Wednesday week". The dictionary notes this as "British informal", but it is a definition that is there...

Old Unix Geek


> • (of a day of the week) nearest (or the nearest but one) after the present: not this Wednesday, next Wednesday | [postpositive] : on Monday next.

I interpret this not as referring to the term "next Wednesday" in general, but to its meaning when one says "not this Wednesday, next Wednesday", or when "next" is used postpositively (which I think actually refers to "next week", but the term "week" was elided because it was superfluous ).


I agree with your main point that these terms cause confusion, and now I understand why your wife and you interpret it differently. I think the confusion stems from a contradiction between 2 rules:

• Literally, "next Wednesday" means the coming Wednesday.

• However people use language parsimoniously, using more likely sequences of words. Therefore they would be expected to say "Wednesday" instead of "next Wednesday" on Monday. And on Tuesday they'd usually be expected to say "Tomorrow"

FWIW, if someone says to me "next Wednesday" or even "Wednesday" on Tuesday, I usually ask what they meant: "Tomorrow, or Wednesday next week?", because I expected them to either say "Tomorrow" or "Wednesday next week".

"this Wednesday", or "Wednesday this week" obviously clears up the confusion.

There are cases where the literal meaning is ambiguous. For instance "biweekly" can either mean once every two weeks, or twice a week, which makes it rather useless.

Leave a Comment