In line with my affinity for backing up and owning my data, one component of that strategy is avoiding proprietary file formats and databases whenever possible and reasonable. That's why I prefer plain text (and more recently
.textbundle) for all of my notes, and why I'm so meticulous about how I organize my family's photo archives.
It gives me the agility to move from app to app or even (heaven forbid, it may eventually happen) to a new platform as my needs change. If you own your own data, there's no lock-in.
So along those lines, here's a very tiny optimization (is that the right word for this?) that I've been doing for years that helps keep my reference material organized and more easily searchable and filterable.
(Oh, and also a quick story about how I effed up someone else's data.)
My primary "database" is the Finder - files on disk. And while Spotlight is amazing and wonderful and all that (go purchase HoudahSpot), I find its results too fuzzy and noisy unless I've really lost a file. It's way faster for me to find what I'm looking for using the combination of how I naturally organize files into folders based on the client / app / subject / etc. and then sorting by date.
And it's sorting by date that this simple trick is all about.
I gave up long ago relying on file creation and modification dates as a reliable way to sort files. They're too easily corrupted.
Some modern Mac apps that adopt the post-Snow Leopard policy of automatically saving will save files behind your back just by viewing them. That can easily blow away a file's timestamp. Or, if you restore from a backup, it's very likely the original dates won't be preserved. And now that all our data is flying across the network at any given moment with Dropbox, iCloud, Google Drive, etc. it's easy for a bug in their sync code or your own mistake to propagate everywhere instantly.
My solution is basically what every Microsoft Office Warrior has already been doing ever since email became a thing and people needed to keep track of multiple revisions.
I stick the date in the filename itself.
Ok, I know this is ridiculously obvious, but it works, it's flexible and has saved my bacon many times.
Rather than relying on filesystem dates, which can be mangled at any time, I sort by filename and voilà.
Here are my archived photo albums:
It's especially awesome for this purpose because, for me, I want my photos / videos stored chronologically. After all, I mentally see them as a timeline of my life. And if every album of a birthday party were named "Birthday Party Blah Blah," it would be a nightmare to find what I was looking for among 1,000+ folders.
This strategy can really shine when you go beyond Finder and use an app that can filter, search, and sort by dates this way.
Here's my note-taking app focused on my daily standup meeting notes. In addition to the full-text search, I can quickly filter to meetings that took place in a given month or day.
This whole thing works for me because my memory is naturally oriented around dates and timelines. When I'm trying to reference a piece of information, I can almost always pin it down to the specific month it was created, at a minimum, and then use that date range as a launching point for more refined searching if needed.
But how do you make adding these dates faster? Text snippets, of course.
I'm a terrible typist, and I can barely remember the current date as is. So I've been using Typinator for years to convert short abbreviations into longer snippets, including variables and dynamic data.
(Lots of apps that do this sort of thing. I feel like TextExpander is the default choice for most people, but I've always preferred Typinator for many reasons that warrant their own blog post.)
So when I need to insert the current date, in any app, I type
...and it expands into
2020-10-09. You'll also see in that
gif that typing
.ts inserts the current time, too.
Neither of these snippets is amazing or original or unique. Folks have been raving online for years (rightly so) about all the amazing and clever uses you can find for apps that automate typing for you.
(If you're curious about the sorts of things you might use a text expansion app for, go visit David Sparks. I've stolen a ton of great ideas reading his blog over the years.)
Anyway, this blog post's point is just a long-winded way to say that inserting the current date into filenames or note titles is a small habit I've learned that makes me so much more organized. It lets me find the content I'm looking for much faster and get on with my work.
I wrote above about the delicate nature of filesystem dates and how, if you rely on them, losing that part of your reference material can be a Bad Thing?. That's why I use the date-inside-the-filename trick.
But what clued me into this?
In 2009, when I was building the first version of Nottingham over Thanksgiving weekend, I sent an early build to John Gruber. I knew he was a big fan of Simplenote, and I was excited to show that my new Mac app would sync with their backend.
It didn't go well.
(I know it's not cool to publish emails with another person without their permission first, but I hope he'll let this one slide as it's been 11 years and I was clearly the idiot in the exchange.)
So, yeah. That was my first time writing any sort of network synchronization code, and I probably shouldn't have used him as a guinea pig.
That said, a few years later, I think it was WWDC 2012, I struck up a conversation with him at Bourbon & Branch.
I basically said, "Hi, I'm the guy who fucked up your note timestamps. Sorry about that."
I don't remember his exact reply other than being very nice about it and not punching me in the face, but I do remember during the entire short conversation he was scribbling into a Field Notes journal. I can only assume he had learned his lesson and swore off digital note-taking.