Readability and accessibility
While the previous section described what elements should be included and where, it only very slightly touched on the user experience of working with the files. Meanwhile, through including the pertinent information in the correct order, the list of filenames is growing more and more like series of intimidating and hard-to-read numbers.
So now that we’ve solved the same technical feat that a simple incrementing number achieved, let’s use our new foundation to focus on an improved user experience.
What we’ll consider here touches on a few design principles, but none as much as as scannability. Which, in this case, means the ability to scan your eye across several filenames and quickly interpret them without having to read each one fully and deliberately.
Even though they’re just filenames, there are several attributes we can manipulate to improve readability. Let’s discuss each one separately.
Delineating units
Currently, the format I’ve used above uses only hyphens and spaces. The elements of the date are separated by hyphens, the elements of time are separated by hyphens, and the date and time are separated by a hyphen surrounded by spaces.
2002-05-04 - 09-47
There are, however, many other characters that are valid in filenames we can use. Here are a range of tests with other characters; the goal being to find the characters that work best for the attributes that are important to us.
2023-10-06 - 11-50
20231006 - 1150
2023_10_06 - 11_50
2023-10-06 | 11-50
2023-10-06 + 11-50
2023-10-06 ~ 11-50
2023-10-06~11-50
2023-10-06|11-50
2023-10-06_11-50
2023-10-06 \[11-50]
2023-10-06 (11-50)
2023-10-06 (1150)
2023.10.06_11.50
2023.10.06_11.50
2023.10.06 - 11.50
2023.10.06 (11.50)
2023.10.06[11.50]
The two that I feel showed the most promise in readability are below.
Periods and a hyphen:
2023.10.06 - 11.50
Periods and brackets:
2023.10.06 (11.50)
Both of these replace the hyphens within the date and time sections with periods. This reduces the visual noise while also allowing the hyphen, if used, to have a singular meaning.
In deciding between the two, it’s also important to consider how it will appear in different contexts. For instance, if multiple files with the same time are created, as we explored before, how will they look with the additional number appended?
Hyphenated:
2023.10.06 - 11.50 (2)
Bracketed:
2023.10.06 (11.50) (2)
In the bracketed version above, you’ll notice that it now has 2 sets of brackets and is starting to feel slightly more technical and complex as a result. The alternative choice, even with the bracketed number, still keeps an air of simplicity by having three clearly differentiable sections.
12 vs 24 hour time
The choice between 12-hour time and 24-hour time has almost been made already. This is because we want the files to display in chronological order, which 24-hour time gives, whereas 12-hour time would cause times from the afternoon to mix inbetween times from the morning when ordered alphanumerically.
2023.10.06 - 2.00am
2023.10.06 - 2.55pm
2023.10.06 - 8.12pm
2023.10.06 - 8.30am
2023.10.06 - 11.55am
But while 24 hour time doesn’t have the issue shown above, it does have another issue. Even though a user can easily figure out that the first part is a date and the last part must therefore be time, it often still requires a subtle decision to interpret it that way.
12 hour time, on the other hand, has an am or pm to clearly indicate it‘s a time at a glance — An indicator that 24 hour time doesn’t have, which creates friction.
2023.10.06 - 2.00
2023.10.06 - 8.30
2023.10.06 - 11.55
2023.10.06 - 14.55
2023.10.06 - 20.12
In different apps, and contexts, numbers that look similar to this can also mean different things. Even if you use these files daily and know the format, you still have to adopt that correct mindset each time you look at them. With 12-hour time, however, you see a format that means time in any context. The context switch is almost hardwired and therefore means less friction.
2023.10.06 - 8.30am
2023.10.06 - 11.55pm
In attempting to prioritise this, one exploration I considered was to use 12-hour time, but place the am and pm before the time. This maintains the order because a comes before p in the alphabet.
2023.10.06 - am 2.00
2023.10.06 - am 8.30
2023.10.06 - am 11.55
2023.10.06 - pm 2.55
2023.10.06 - pm 8.12
This, however, is not very successful. It’s so non-standard that it throws you as a reader and possibly even makes you question whether the am and pm are part of the numbers at the end or the numbers at the start.
The final format I chose, however, is also non-standard. I added am and pm onto the 24-hour time format.
2023.10.06 - 2.00am
2023.10.06 - 8.30am
2023.10.06 - 11.55am
2023.10.06 - 14.55pm
2023.10.06 - 20.12pm
By combining these together, I’m able to force the user to instantly recognise the number as a time, while also maintaining the correct ordering of the files.
This doesn’t mean it introduces no friction. When the user eventually realises what I’ve done here (They may not realise straight away), they might think “This developer doesn’t know how 24-hour time works“. This thought can both distract them slightly from their task as well as slightly degrade sentiment toward the product, however, I’ve made the gamble that it adds less friction than it alleviates.
Months as words
Similar to the use of am and pm for quicker recognition, I pondered whether month names could be incorporated. If I could articulate months as words, then if someone wants to find May’s files and May’s number doesn’t immediately come to them (It’s 5), they can do it instantly by the month names and without having to count.
If only we could simply replace the month numbers with words. It would be beautiful. But as we’ve seen before, the files would then sort into the wrong order.
2004.August.28
2004.June.19
2004.March.18
We might instead consider combining the month numbers at the front of the words, but while the numbers fix the order, they also become confusing visual noise.
2004-03.March-18
2004-06.June-19
2004-08.August-28
2004-03[March]-18
2004-06[June]-19
2004-08[August]-28
2004-03 (March) 18
2004-06 (June) 19
2004-08 (August) 28
2004-03 - March 18
2004-06 - June 19
2004-08 - August 28
2004-03 - Mar 18
2004-06 - Jun 19
2004-08 - Aug 28
Above are several variations I tried, and while the last one feels clean and informative, it’s still not immediately clear why there’s an extra number after the year when there’s already a month name. It’s also made the filename significantly longer. Especially once we add the time back in.
2004-03 - Mar 18 - 8.05am
2004-06 - Jun 19 - 9.15am
2004-08 - Aug 28 - 13.32pm
Ultimately I felt the negatives of a longer filename and a slightly confusing month number/name repetition made the names not worth integrating for my plugin.
Note on length.
Filenames in Obsidian (Which this plugin is used in), are mostly viewed in a narrow side panel. Too long a filename, therefore, would cause the end of the filename to get truncated and not display. This is often the key trade-off with all of this — Is it worth having extra month information if the time becomes completely hidden? Which is more important to ensure the user can see?