TheOtherMac: The Usability of Date Formatting
by Jeff MacArthur on March 9, 2017
#TheOtherMac is a series of new and existing posts on geek culture, user experience, and other topics by Amber Mac’s business partner, Jeff MacArthur.
Each year as tax time creeps up, I can’t help but continue to be frustrated with the lack of a standard format for dates. Receipts gathered from across Canada and the US alternately have dates formatted in several different ways, sometimes resulting in dates that unavoidably ambiguous. This has prompted me to think about a few different ways that this system (and date systems in general) could be improved.
Common Date Formats
Here are some of the most common ways I’ve seen for writing dates:
- month/day/year (this makes most sense to me as it is how we read dates aloud in English, e.g. “June 20th, 2014″. This seems to be most standard in the US);
- day/month/year (I can understand this in French for the same reason as above, e.g. “20 Juin 2014″. However, this also seems to be standard in Britain);
- year/month/day (while not as common, this format is useful in that it’s numerically orderable in a coherent way if you use all numbers, e.g. 20170223, the date I posted this, is a bigger number than 20140620, our example above, because it’s a later date – and dates in between them would also be numbers in between them if they were ordered. I’ve seen it in Canada, but it’s used in South Africa as a standard).
So what the heck am I supposed to know about a date written as 03/04/02? Is that March 4th, 2002? Or is it April 3rd, 2002? Or maybe April 2nd, 2003? There is something wrong here!
As comfortable as I might feel having dates abbreviated as they are spoken in the language (e.g. 03/04/02 meaning “March 4th, 2002″, as that is how it would be spoken in English – let’s face it, it would be a bit obnoxious going around saying “the 4th of March, 2002″), I think the biggest criteria is necessarily that the abbreviation be unambiguous.
To that end, I can live with 20JUN04 (or 20/Jun/04 or a similar display) – this allows me to unambiguously decipher what that date is, so that’s good. However (I’ve mentioned I’m a bit neurotic, right?), that makes us use an extra character to describe the date! This not only interferes with my love of conciseness (concision?), it also prevents us from being able to categorize all dates, months, years, and more (see below) with two characters
Unambiguous Two-Letter Month Codes
Well, have no fear, I am here to bring you a solution to at least one part of this great problem of our time – one that will unambiguously allow us to decipher date abbreviations without the horror of that extra character – I bring you – the MacArthur Code (cue the trumpets):
- January = JA
- February = FB
- March = MR
- April = AP
- May = MY
- June = JE
- July = JL
- August = AG
- September = SP
- October = OC
- November = NV
- December = DC
Now I know that some of you are saying: “JE” for June – how’s that make sense? Well, as hooked on phonics as I am (and so “JN” would definitely be lovely for June in this respect), the key here is lack of ambiguity. “JN” could be June, sure, but it could also be January. “MA” could be May, but it could be March, too. So, although I’m running with the phonetic abbreviations when I can, we must stay true to being unambiguous.
Let me explain a little more precisely. “JE” couldn’t be anything but June, as there is no “E” in January or July. Similarly with “JA” for January and “JL” for July. Now what other months start with the same letters? “MY” must be May, as there’s no “Y” in March, and “MR” must be March, as there’s no “R” in May.
You may ask how this is better than 2-digit months shown in numbers. Most powerfully for me is that the 2-letter approach allows you to use the months as a delimiter with the 2-number year and date of the month on either side (a very natural place for them to be, as seen in the opening examples). This means that you’re also saving two slashes (for yy/mm/dd) or dashes (for yy-mm-dd) when you use the letter approach (and we still beat yymmmdd by a character).
So you see, like all good design, this enables the user to figure out its function without having to resort to other instructions – all the instructions you need are in fact built into the design and reinforced by our widespread cultural conventions.
Unambiguous Two-Letter Day Codes
A couple of paragraphs ago, I mentioned that there would be even more (that’s called “foreshadowing”), and I did not lie. In addition to 2-character codes for every other aspect of time – for years, for months, for dates, for hours, for minutes, for seconds – we shouldn’t ignore the obvious value of doing the same for the days of the week (this time cue the tubas – those guys have a hard time getting work):
- Monday = MN
- Tuesday = TE (no “E” in “Thursday”)
- Wednesday = WD
- Thursday = TH (no “H” in “Tuesday”)
- Friday = FR
- Saturday = ST (no “T” in “Sunday” – I’m going for a “T” instead of an “A” b/c most of the other days use their third letter/second consonant and we want to be as consistent as possible)
- Sunday = SN (no “N” in “Saturday”)
Choosing The Path
Now that you’ve got a couple of new ways to unambiguous represent both months and days – at each saving a character, no less – how would a reasonable society move forward? I see two options, with a leaning towards the first for its total clarity:
- Totally Unambiguous (& 2 characters shorter than normal): WD 2017JN18 (or however you want to add the day of the week) For the fullest uses, we’ve saved two characters between the month and the day of the week, so we could now use 4-digit years instead of 2-digit years, which makes the years element unambiguous and thus clarifies that the final number is the day of the month;
- Ultimate Space-Saver: 17JN18WD (day of the week could be dropped) If we’re really talking about space-saving then – hoping that people understand that the year should be in first position, which I would love to be a reasonable assumption (at least for Anglophone situations) – we can get a tight 6- or 8-character approach (depending on day of the week inclusion) that beats (by 1-2 characters in the case of 6 and saves at least one more character in the case of 8, because our day codes are one less) than how we’d now write numbers at their shortest (i.e. yy/mm/dd or yy-mm-dd).
Now go forth, my neurotic and character/space-obsessed brothers and sisters, and bring the MacArthur Code to the ambiguous, character-wasting masses – it is our obligation, nay, our destiny!