Thoughts (again) on file organization: johnny.decimal

In a recent thread, someone mentioned the Johnny Decimal (johnny.decimal or JD, http://johnnydecimal.com) system, which I have looked at several times in the past, which of course got me to thinking once again about file system organization.a

For those who have not ready about the JD system, in (very) brief, the idea is to break up your files/data into up to 10 major “areas”, and in each area you can have up to 10 “categories”. You assign a number to each category within it’s area, with an are comprising 10 consecutive two digit numbers. For example, if I had an area called “Finances” I might assign it numbers 10-19. Within that, I could have a category called “Bank Accounts” with a category number of 10. I would then have a folder called “10 Bank Accounts”. In that folder I could have up to 99 folders, presumably for each bank, numbered consecutively, starting at 01, so they sort in numbers all order. The folders are named with the category and then item number, so I could have a folder called “10.01 My Bank” as an example.

The idea is that all of the categories under Finances, starting with a two digit number between 10 and 19, sit under the 10 Finances folder, and all of the folders starting with 10, 11, …, 19 sit under an area folder called 10-19 Finances, for organizational purpose.

The net effect is that I always know I can find my My Bank folder by looking for 10.01.

Inside that folder I would have all files related to that bank account.

It seems like this is a potentially effective method of organization, and I wonder if anyone else is using it, and if so, how is it working for you? Have you made any modifications to the way you implement this system?

One nice effect, I think, of this system is that the author of this system suggests that when one creates notes in another app (he likes SimpleNote and nvAlt, but this could apply to notes in Apple Notes, Obsidian, etc) is that he prefixes the title of the note with the appropriate JD number. So, for example, if I created a note about My Bank in Apple Notes, instead of titling it “Stuff about My Bank” I would title it “10.01 Stuff about My Bank.” This allows any form of searching, that that app, or in Spotlight, to easily find stuff anywhere about this topic. He also embeds these numbers in email subjects, and so forth.

In looking at my own data, three additional modifications come to mind.

Firstly, I think that having up to 10 distinct areas would probably we sufficient for me. I also think that writhing a category, say Bank Accounts, having up to 99 (it is proposed that 00 be used for meta data about the category, leaving 01-99 for individual items) would likely be enough for virtually any area of interest as well. (In fact, the point is made that if you have more than 99 folders in a category, the category is probably too broad and should be split into multiple categories.)

I am not convinced that 10 categories in an area is sufficient, however, Just looking at my own Finances, folder, there are more than 10 subfolders. Expanding to three digits is certainly one option, so I could have an area called 100-199 Finances and have up to 100 categories…although admittedly the two digit.two digit format of the JD system is much easily to hold in your head than three digits.two digits, and while I can conceive be of needing more than 10 categories in an area, I doubt I will come close to needing 100.

Yes, it would be possible to for example allocate 25 categories to an area, making the Finances area 100-125, and then another area, say Research be 126-150, and so forth, but I think that the idea that call categories whose first digit is 1 are in the same area is conceptually helpful and that gets lost in the latter scheme.

Areas could be letters of the alphabet, giving up to 26 areas, so Finances would be letter “A”, with Bank Accounts being category 01, so we have a folder called “A01 Bank Accounts” and My Bank is folder “A01.01 My Bank”, so now I have 26 areas each of which can have 99 categories, and in each category 100 items…but the mixing of letters and numbers might provide confusing compared with having 10 areas each of which gets up to 99 categories by using three digits…but maybe using a letter for the area creates a better conceptual organization.

Secondly, within each folder (for example 10.01 My Bank - in the above scenario, 10-19 is Fiancers and 10 is the Bank Accounts category, known to be in the Finance area by its first digit of 1, or it might be A01.01 My Bank, because A is the Finances area, and A01 is the Bank Accounts folder in that area [aside: maybe another separator: A.01.01 means Finances area, category bank accounts, folder for My Bank…], the idea is to just create the files which are needed.

I generally create files prefixed with a date formatted as yyyy.mmdd so that when sorted alphanumerically they are also in date order, although this only applies to some areas such as archived bank statements.

I was thinking it might be helpful to have all files numbered sequentially, starting with perhaps a three digit number, and whenever a new file is placed into a folder it gets assigned a number, so files order in the order in which they were created or added to the folder. This is similar to something I read in blog post by Stephen Wolfram, in which when doing work on a topic he just names his working documents with sequential numbers in the folder.

This would be easy to do with a Hazel rule, but I worry about have Hazel monitoring what could be a huge number of folders in this way…what would be the system overhead?

Finally, I have thought about tagging every file with a month and date tag. Often I remember that I was working on something around July 2022 but not the exact date or where I put the file, so using Spotlight to find files with tags of “July” and “2022” would help locate things…again I don’t want to rely on myself to manual tag files, I don’t want to have Hazel watching every folder….but it would not necessarily be hard to daily scan my documents tree and tag all files as needed.

So, stream of consciousness musing on file organization, If you have read this far, I would be very interesting in thoughts and comments.

1 Like

I came across this system years ago and thought it looked interesting, then I forgot about it until recently when I found Eleanor Konic. She writes about Obsidian, and uses a modified Johnny Decimal system in her set up. She goes into detal about it here:

Part of my brain (the nerdier part, probably) loves this file structure. I love how well organized it is. What I don’t love is the potential upkeep. And while I’ve always been a filer rather than a searcher, I can’t help but think that the massive improvements in search functionality are coming close to making file structures like this obsolete.

As for tagging files with dates, wouldn’t Apple’s own search features work without the overhead of tagging? You can search for files created on/around/within certain dates, as well as last opened date and last modified dates.

1 Like

I’m glad this works for some people, but it just never made sense to me.
Here’s their example:

And their example query about why one should use it:

“Hey Kristy, where can I find the payroll schedule?”
“Twelve dot oh-three.”

Thanks, Kristy.

One shouldn’t have to ask Kristy where things are. What if Kristy is out that day?

Why not just name folders intuitively?
E.g.

Here’s my “not Johnny” example :slight_smile: :
Where is the payroll schedule?
Well, that’s Finance (starts with F, sorted alphabetically, so that’s nice), and it’s Payroll, so there’s the Payroll folder, and, oh, there’s the Schedule for 2018 folder.

No codes to remember.

No need to duplicate category names like
“40-49 Sales/41 Sales figures”
“10-19 Finance/12 Payroll/12.03 Payroll schedule for 2018”
Not to mention all the superfluous numbers.

And no limitations to 00-99. If one suddenly needs 101 files, there’s no need to renumber the categories.

4 Likes

The problem I’ve always had with any predefined folder structure, is what happens when something belongs in two (or more) folders? Keeping with the example above, do “Sales Figures” belong in the “Sales” folder, as shown in the example, or in “Finance > Revenue”?

This, with metadata, would solve my problem. The ability to keyword photographs, and having search tools for said keywords, has solved this problem for images. No more worrying if an image goes in the Trips > Africa > Kenya folder or the Animals > Mammals > Lions folder.

1 Like

When I create a note on the fly, I don’t want to have to stop and think, ok, what category (01-99) does this belong in? What subcategory? :exploding_head:

2 Likes

Yup, filing is hard. I keep my categories as broad as I can.

Notes that I write and will likely need to edit again are migrating into my recently adopted NotePlan app, where I have top-level Buy and Tasks notes and four folders for notes: how to, lists, logs, and topics.

Text, PDF, and JPG clippings and documents all get dumped into either a Web Receipts 2022 folder (money-related items) or a Collection 2022 folder (everything else) in the EagleFiler app. I try really hard to give each one a good file name, ideally with a keyword, date, brief description, source, and file extension. I can sort or search on the file name and, if really needed, search anywhere in the available text.

1 Like

If you’re on macOS, you can use aliases for this.
Or tags.

1 Like

As long, as all files do have an OCR-Layer, there is no need for a structure at all, as Finder is able to find it via the Spotlight.
So, using a system like JD is something that could be useful, if you run an analog filing system, but I see no reason for the extra layer of complexity, if you can run a full text search within seconds.

Having worked for some fairly large consultancies, they had filing systems that were similar to to this, but based on a unique Project Number for the work, which then had a standard file system added to it, that was number based to ensure it always came up in the same order and then ISO format date, with strict filename conventions as well, all of which would assist with finding the correct files. It tended to work pretty well to be honest, and I have taken some of the points in to my personal file management (everything now has an ISO date at the start for example).

EDIT: Should note that the project number was used throughout the business - for invoicing, purchase orders, etc and was stored in a database along with the client details, as a client might have multiple projects with us. However, that side was dealt with by admin - as engineers, we just had to use the folders we were provided.

3 Likes

The problem with aliases is that the person doing the filing has to know to put the aliases in the secondary folder(s). Otherwise if it is only in the Sale folder tree, and I look in the Revenue folder tree, I won’t find it.

Tags are the better solution. If the document is tagged with “Sales Figures” and “Finance Revenue”, the sales manager and the accounting manager will both find it in the place they each expect it to be, regardless of the folder it is filed in.

Of course, the person creating the document needs to but the tags on. It helps to have a structured set of tags, and an agreed upon method to add new ones.

A non-trivial exercise for sure.


A real world example. We use Jira at work to track development items. The labels (Jira’s word for Tags) “Sprint11”, “sprint11”, and “Sprint 11” are all different labels. And recently led to some confusion as to what was in Sprint Eleven. :slight_smile:

1 Like

Full text search is far from a magic bullet.

If I’m looking for research h material on banks, I don’t want material on my own bank accounts to show up.

Some terms are just so broad or common, that even in combination, it’s very hard to drill down to what you’re looking for. And of course, I don’t always remember the unique terms, people or dates that would pull up a particular document – that may in fact be why I’m looking for it!

Structure can be a very useful tool to avoid those problems. So can tagging (an art unto itself).

1 Like

So, you want to have more structure, because you are not able to do a useful search, but don’t want to think about to structure your notes?

Of course you have to use Spotlight with some useful search terms, as all Search Engines. But it will get you your informations, if you do so!

No. I said structure can be a useful approach to solving this problem, not that it is the only useful approach.

In your previous post, you denied that structure would be a useful approach, because you don’t wanted to take the time to think about where to file a note!?
So, you just wanted to mention structure as useful, because I said it is not, in a time where you could find almost everything with Spotlight?

No. I said I don’t want to have to stop and think about where something goes in the moment. I didn’t say structure wouldn’t be useful for everyone.

The two comments you’re quoting leave a lot of room for coexistence. For example, I could create a note without thinking about where it goes, then move it later. (The Johnny Decimal system suggested above included putting the decimal marking in the note name, which I don’t want to do when creating a note quickly.)

I could also never impose any structure whatsoever on my own notes, but still recognize that it’s a useful approach for at least some other people.

Productivity techniques are rarely absolutes.

2 Likes

Thank you to everyone who has responded thus far! Not only do I appreciate your input, but I enjoy reading other’s thoughts and opinions, and always learn something from them.

Thank you for link, @Cindy. I will be reading it as soon as I finish typing this overly long response!

Some things that come to mind after reading replies:

dates and tags
I tend to think of file system based dates as being very fragile. There are too many different dates maintained by the file system (creation date, modified date, accessed date) and other dates that come up in other file system metadata (Spotlight’s database, “md”) or metadata in the file itself (eg PDFs, image files), so it is always a question as to which date time stamp should be used in a given situation.

Secondly, I have found that dates are not always maintained in a robust manner. Some tools, for example, when copying or creating files do not preserve the dates across this action (I’m looking at you, SynologyDrive) and that messes up a scheme based on file system dates.

Further, relying on for example a creation date may in fact be incorrect. If you download your 12/31/2022 bank statement on 1/1/2023, it’s creation date will be the latter, not the (correct) former - although if it’s a PDF, then the creation date for the PDF could be 12/31/2022 if the bank generates the PDF on the statement date, but could be 1/1/2023 if the PDF is created on the fly and the creation date is not corrected.

This is why I had the idea of tagging files with year or month and year as relevant. Essentially I am maintaining this data through a process that I fully control and can therefore rely on, albeit at the cost of much extra work.

I have written a utility that automates the tag creation, using a hierarchy of methods to decide the “correct” tags to apply based on my own practice. I can post more on that if anyone is interested, but it is dependent on my own practices and may not be of use to others.

@drezha I name a very large percentage of my files with a date stamp at the beginning of the file name as well. I use yyyy-mmdd as the format, because I have found that I don’t need the resolution of having the time in the file name as well. I use this for a lot of my filing, eg bank statements, bills, etc, and I generally will name files in a folder this way as I create documents - sort of another way of just numbering them sequentially, I suppose. I have KM text expansion to insert the current date. I also have written my own utilities which can rename a file prepending the date using metadata (so if it’s a PDF the embedded date is used) or file system date information, and my Hazel rules that process my Inbox folder will actually rename files based on dates embedded in PDFs and so forth. I can see the utility of this for a larger business or operation, of course.

search
I totally agree that searching is becoming a much more prominent part of my workflow, using Spotlight and HoudahSpot. That being said, the ability to search is highly convenient but does not preclude my wanting to create a versatile and useful file system hierarchy as well, since both approaches are useful.

@Ulli If search were actually that robust, then I agree you might not need a file system hierarchy or structure at all. [See the lengthy “Digression” below.] Alas, for me at least, not all PDFs are OCRd, and sometimes search just doesn’t find what I need because I was not clever enough to name the file with something I remember months or years later.

Does this approach make sense?
@JohnAtl I agree with your points.

On the JD website, they talk about the utility of the numbering scheme. Two points they make, one which resonates with me, one I am less certain about.

Firstly, the idea that if you have a folder named 10.01 My Bank Account, you can use the 10.01 part in notes, email subjects, etc, to link back to this category, seems to me to be very useful - although I don’t know for sure I would wind up using it enough to make the rest of this worthwhile. That’s part of why I am exploring and asking for thoughts.

Secondly, but less compelling, is the idea the if you have regular folder names, and sort by name, if you add a folder “Guava” to a group of folders named “Apple”, “Banana”, “Mushroom”, the Guava folder now sorts into the middle of the other folders, while if you add 30.04 Guava to 30.01 Apple, 30.02 Banana, 30.03 Mushroom, the sort order of the existing folders does not change. Whether that is better or worse is not clear to me, so I am on the fence for this.

I do think that naming the contents of 30.04 Guava to start with sequential numbers does make some sense to keep all the files in the folder sorted by order of creation (see notes above for why dates do not, in my opinion, work well for this). Whether this is useful or not I am still pondering.

[Digression, feel free to skip! I recall reading some years ago about a proposed system in which there was no hierarchical file system structure at all, just a flat collection of all of a user’s files [Can you say DOS 1.0?]. The idea was that the UI was a depiction of a “stack” of files, with the most recent created/accessed/used on the top and proceeding in reverse chronological order. The concept was that the most likely file(s) you would access in the near future were the files you had interaction with in the most recent past, and so it was most efficient to make those files readily available at the cost of longer search time for finding older files by scrolling through the “stack.” This certainly parallels the concept of the Recents entry in the Apple Menu, for example, but taken to an extreme.]

I also agree, @JohnAtl, that naming folders intuitively is important, but I would think I could name them intuitively inside the JD system as well.

There is a non-intuitive component to the JD system in that the numbers do not inherently mean anything at all. As a result, you have to keep some sort of note or database so that you can determine, when you are looking for “My Bank Account” that the prefix is 10.01, so there is that level of overhead and inconvenience. That being said, it would be easy to have an Alfred workflow that, in response to a keyword, listed the top area folders, and as you select, drills down in to the category level folders to allow you to find things quickly in that manner, and that of course ties in to your important point about still giving meaningful names. The same workflow could also search the folder tree for matches to any string typed, so that if I typed “bank” it would show me every folder with “bank” in its name, or if I typed “10.” I would now see all the folders under 10, eg 10.01, 10.02, etc, allowing me to select the desired folder to be opened in Finder. In fact, if I decide to go with this scheme I will certainly write this workflow. I already have something similar which is the way I access virtually every folder, but it has a bunch of other features (searching for tagged folders, for example) and the search only matches from the beginning of the name, and it also lists files, not just folders, so I will modify it….

The difficult problem of categorization
@MevetS, you bring up a good point which is not an issue of the JD system, but of storing data in general - what to do when data logically belongs in more than one place. This is true whether your folder structure using the JD system or any other. That’s what DEVONThink has the various types of references and aliases (I forget exactly what they call them).

I think the best solution if something needs to be on two places is to use a file system alias or link. Yes, metadata help here, but if a file is in Sales Figures but not in Finance->Revenue, if you look in Finance->Revenue you won’t see it no matter what metadata you have.

I see metadata, eg file tags (or keywords) as being orthogonal to the file system, allowing a secondary way of aggregating data (sort of what Hook is doing?). I use this all the time; it’s part of what is behind my idea of attaching year and month tags to files, so I can search for “My Bank” tag:2022 and find of the my bank’s statements for 2022, for example.

I use this commonly in practice. For example, I have a SmartFolder in Finder where the search criteria is being tagged with “active.” (I call the SmartFolder “Active.” I am clever that way!) When I am working on something I apply the tag (I have a button on my StreamDeck for this!) so I can easily see all the stuff I am actively working on. The file itself lives whether it needs to be in my current file system structure. When completed I remove the active tag (yep, another StreamDeck button).

All that being said, I get where you are coming from as far as tagging, and if it is done religiously and reliably (and with careful attention to not messing up the lowercase/uppercase thing!) it does solve the problem. Effectively you are using metadata in the form of tags to replace filing, and all of your files could in principle just sit in one big folder. See Digression once again!

Keeping up with the system
@tf2 I agree, it’s a pain when I create a note to have to add the category. On the other hand, I do think about the title of the note so that I can find it easily in search later on, and if it’s important I would have to accept the overhead of finding the correct category designation. I could see using an Alfred workflow similar to finding the folders that allow me to drill down the tree and then past into the active document the proper code. I agree, it’s getting labor intensive and the question is can I make it easy enough that I would actually be reliable in using it?

Ultimately you can argue to just create notes and then add the structure later. That probably works for some people - maybe the same people who religiously go through their OmniFocus tasks at the same time every Friday afternoon to organize for the upcoming week. I find that I have a tendency to let a lot of stuff accumulate in the Inbox folder that I should take time to properly file away, but instead just sits for months. Most of the stuff that falls into that folder gets auto filed by Hazel, but that assumes it’s a recurring document (eg a monthly bank statement), not a more one-off or infrequently created document.

I tend to wonder if I had a JD type scheme, would I be more reliable when I dropped a file into the Inbox folder about adding a JD ID to it and Hazel could then detect those files and move them automatically into the JD file structure? I don’t know. If you read Brett Terpstra’s postings on his auto filing system based on a tag structure, it’s pretty interesting and I actually wrote my own version of it that could use these tags to auto file. However, I found that actually creating the tags was cumbersome, even with KM macros to make it easier, and I fell out of practice. I don’t know if the JD system would be easier and therefore more likely for me to use, or not.

As @karlnyhus says, I also try very hard to create file names that will allow me to find the information later, but that’s just the point: I often cannot remember a year later the clever keywords I put in the file name. That’s kind of the point of the JD system - you don’t have to be clever, because you put the effort into creating the structure and find the proper code based on the category.

1 Like

This is where using tags can allow for better search within an existing file structure. You don’t have to worry exactly where a file is in the hierarchy as long as it’s tagged properly.

My experience - and please don’t take this as a knock on JD if it works for you - is that JD is, if followed as specified, reductive to the point of not being useful.

I have 50 customers with data in play at any time. These are website projects with image assets, notes, code snippets, etc. stored in local folders. I’m not working on all of them on any given day, but they’re all “in play” in the sense that I might get a call to bring back their project and do more work. I might have hundreds of files for a single project.

Per JD, which is supposed to be useful for business, I get 10 top-level folders, 10 sub-folders, and that’s it - no more folders are allowed. Per the spec:

An important restriction of the system is that you’re not allowed to create any folders inside a Johnny.Decimal folder.

That two-level hierarchy is supposed to contain all of my data for my business. It’s clearly meant for that, as the examples on the website are for business data. And it just doesn’t. Not even close.

It also doesn’t take into account the fact that if you “simplify” your categorization, you could have hundreds or even thousands of documents in one of these folders. That means that information can be not just two clicks, but two clicks plus a really, really long scroll away.

Basically, I can tell you that if my life was so simple that all the information I needed to organize fit in a Johnny Decimal structure, I wouldn’t be trying to think about how to organize the information. :slight_smile: If it works for you, more power to you. If I’m missing something obvious, please clue me in. But I just couldn’t see how it would even apply in my case.

4 Likes

This is really well thought out. I don’t think I’d do it this way – realistically, I don’t – but why not try it out? I expect that’s the only way you’ll really know.

And if you combine the numbers with meaningful folder and note titles, well, you risk nothing -/ you can still keep the meaningful names even if you abandon the numbering.

2 Likes

I think automatically generated mnemonics and reference handles have potential. Since there is no inherent meaning in the Johnny Decimal numbers, there isn’t any reason that they couldn’t be created and expanded automatically, and service/share extensions added to context menus to use the number. A classification engine would save time suggesting associations in other apps. All this would be complementary to using search-friendly terms.

1 Like