The problems
Hierarchies are not obvious
First let me point out that a hierarchy is not the most obvious or best structure for storing files. It is still based on library categorization systems, where a book can be in only one place. I file could be indexed in more than one place (and sometimes is).
A tag system as used on this-site, Gmail and elsewhere, that allows you to give multiple tags to a file, is better. E.g Tag something as education, computers, filesystems, cats, boxes.
Tags should be arranged hierarchically, not files. However as educators there is little we can do about this.
Microsoft Windows, Mac OS X, Android, and iOS hide things
Of the big four major proprietary Operating Systems (Windows, OS X, Android, iOS), Microsoft Windows hides the directory structure the least. Apple is probably the biggest villain here. They made an active decision starting with the iPod and iTunes that directories needed to be hidden, and the world has been moving that way ever since.
What I say in this section applies generally to all 4, but I have given specific example for Microsoft Windows.
MS-Windows has some strange non-folder folders (Desktop
, Documents
, Videos
, Music
), sort of like symbolic links but not. This causes problems of understanding. For example, I used a tool and known that it has saved to Images
, but took over 10 minutes to retrieve the file, as I did not know where on the filesystem it was.
Recent versions of MS-Windows have dropped the ⬆ up arrow (they then brought it back again), in file explorer.
It only has ⬅ ➡ left and right arrows. This makes it difficult to navigate and experience the hierarchy.
Recent versions of MS-Windows, by default hide file extensions. This may not affect understanding of hierarchy but does affect understanding of file names. (While I agree that using file extensions to encode file type is a bad idea, hiding them under the carpet is just making it worse.)
Microsoft wants to store pictures with pictures, music with music, spreadsheets with spreadsheets. I want to store teaching stuff with teaching stuff: A class may have a presentation, a work sheet, some images, some source code, etc. it all needs to be kept together.
Some solutions
A teaching metaphor
I have taught some year 7 pupils (age 11 years old), by showing them a set of slide and telling them a story. The story was about how you can but a box in a box, and a box in a box in a box, and several boxes in a box. Boxes have names/labels, cats have names/collars. You can also put a cat in a box, but you must never try to put a box in a cat. Boxes are like folders/directories, cats are like files.
You can ask students: “Can a box be in more that one box?”, “Can a cat be, fully, in more than one box?”, “Can a box and a cat be in the same box?” …
If using Microsoft Windows
- Disable hide file extensions
- Do something about these Libraries (non-folder folders): In my virtual machine with Windows 7, I have disabled all of the libraries.
Learn the filesystem and the operating system
I would teach the Unix command line (UNIX, GNU/Linux, BSD). It does makes it easier to see how things work. Nothing is hidden, but things are often nicely abstracted. “It is so simple that, if you come up with a metaphor to explain how it works, it probably is how it works.” — miss-quoted from one of the founders of Unix (Thomas, Ritche or other).
I would also recommend using the dolphin file browser. Dolphin has an integrated command line, where directory changes are synchronized in both directions. This makes it easier to switch back and forth between text (command line) and graphical view and/or controller.
You are currently in your home directory. Type cd «somedir»
and press Enter.
See the change in the graphical part of the display.
Click on a directory
See the change, in both GUI and command line
GNU/Linux with KDE, has a great GUI, and command line. Intuitive, simple, and follows the principle of least surprise.
GNU/Linux is more available (When compared to some other OSs e.g. macOS, Microsoft Windows): You have the freedom to download it. Run it. Distribute it. Study it. Modify it.