I hate relational timestamping. And I don't know if I just made the phrase or if there's a better term for it (maybe fuzzy timestamps), but I think we all know what I mean:
Posted 2 days ago, Posted 16 hours ago, Posted about 2 hours ago, etc.
There are several reasons I hate this format.
- We use relational timestamps and real timestamps in tandem, requiring a mental "currency conversion" between posts. Example between two items: 3 days ago and Nov 10, 2011
- It's not as precise as an real timestamp.
- It takes the user longer to calculate the exact time of a post.
- In some cases, it eliminates the ability altogether to find an exact timestamp, and that's an important use case that shouldn't be overlooked.
For example, I was reviewing some transactions in a system that uses relational timestamps. In order to figure out exactly what time "22 hours ago" was, I have to do several things:
- Look at the clock for the current time
- Figure out the quickest way to subtract the number of hours from a 24 hour day
- Add or subtract (depending on which is quickest) that number from the nearest day
That's a vastly complicated process for a user instead of just saying 6:45 PM.
Next, I wanted to figure out the frequency of transactions. So how do I figure out the difference between "3 days ago" and "10 Nov 2011"?
- First, I have to figure out today's date (probably by looking at a calendar): Nov 18
- Now I subtract 3 days from today: Nov 15
- Then I have to calculate the difference between Nov 15 and Nov 10: 5 days
That's three steps when an actual date would have eliminated this whole process.
The nay-sayers will say it doesn't require that much brainpower. I'd have to disagree. As a UX/UI guy, I'm always looking for the easiest, simplest solution for the user. I just don't find relational timestamps to be beneficial. They might come in handy for a developer who doesn't want to deal with timezones, but is it worth making a more complex user experience? I don't think so.
If we're going to continue using relational timestamps, we need to find a way to bridge the gap between relational timestamps and real timestamps. This will help reduce friction for users, and for a guy like me, creating a better user experience is the ultimate goal.