Why today’s file systems are inadequate

My mother is an average computer user. Not a power user, not an IT pro, just an average user. She teaches at college and does research. Her computer needs are mostly limited to email, reading scientific papers off the internet or in PDF form and using a word processor to write her own papers and question papers. Occasionally she does some light graphics work, mostly just labeling photographs. She has a large number of files on her folders, once again mostly scientific papers or notes related to her work. Every once in a while she forgets where she put a certain PDF document, as well as what she named it. She remembers what it was about and has a vague idea about when she saved it. Then she comes to me and I have to go look through her dozens of folders, with Google Desktop search as my pal, and after a good deal of pain, I finally stumble upon the culprit.

What does all this have to do with file systems? Well, everything. Today’s file systems work in a strictly hierarchical manner, one file goes inside another. While that may be very good for some sorts of things, it certainly isn’t the best for everything. On top of that, there is currently only one way to find a file: it’s name. Which means that if you’re someone like my mother whose typical PDF has a name like “RNA acceptor protein reaction mechanism in Axolotl Mexicanum” and if you forget the filename, you’re pretty much stuck. Sure tools like Google Desktop can help you even if you remember a fragment of the filename, but that is still a stop-gap measure to the filesystem’s underlying fault: a total lack of flexibility. Does a picture of my mother’s regenerating newt go in her “Regeneration” folder, or in her “Current Project” folder or in her “Animal studies” folder? Or should she make copies and place one in each folder? If she makes a change to one, she’ll have to remember to copy it again. Sure she could make one copy and use a link or shortcut, but I think that might be too complex for her to handle.

Then there is the question of versioning. Anybody who has had to write a long detailed document, will know about what I am about to describe. You start on day 1 with an innocently named Doc1.doc, then on Day 2 you add another paragraph and it becomes Doc2.doc, then the next day you go to Doc3.doc and Doc4.doc, so on and so forth. Keep track of the versions of your file is boring and repetitive, it’s something a computer should do. Sure there are a number of excellent version control systems out there, but why they are all fairly complex to use. Why isn’t versioning handled by the place where all the versions are kept, namely the filesystem?

The typical file/folder view of data doesn’t easily fit everyone’s needs. If you’re a novelist, how do you write your next book? Is the whole book one big file? Does each chapter get it’s own file? What about the various notes and random ideas that you deal with? How many files do they go into?

Today’s filesystems are inadequate because they force us into a strict relationship with our data, a relationship that most people are not very used to. While they do get the job done (for the most part) there’s lots of room for improvement. Tomorrow we take a look at some of the changes to filesystems that can make them a whole lot easier to use as well as how close we are to implementing those changes.


Published by

Shrutarshi Basu

Programmer, writer and engineer, currently working out of Cornell University in Ithaca, New York.

2 thoughts on “Why today’s file systems are inadequate”

  1. On top of that, there is currently only one way to find a file: it’s name.

    That is not true, even since the age of basic filesystems, you can already search for files based on type and date.

    I know that Windows can search for files which contain search terms as well. Something similar can be achieved on *nix systems by intelligently using grep.

    I agree that sometimes, the concept of directories and files wouldn’t suffice. Which is why I’m very thankful of the symlink function available on *nix systems.

    However, if you break it down, even the “tagging” concept you’ve examplified in your post. It’s still categorisation.

    Perhaps you should also analyse the document tracking behavioural pattern of the user. And once you do, I think you’d probably feel as what I do; The current directory and file structure is the absolute basic anyone will need.

    Any other “features” are merely preferences which can be (and usually would have already been) solved via third party tools and/or behavioural change.

    The same thing with how computers work at the absolute basic level; the binary system. How can 0s and 1s be enough?

    The logic is not to use a system that provides “enough”, but instead a system that provide what’s “necessary”. Anything beyond that is redundancy.

  2. I agree that the directory structure in use, is the basic one would need, but as I’ve tried to make clear, it is not optimal. I’m trying to look at the situation of an average computer user i.e. my mother. She isn’t the type to go looking for third party tools and it wouldn’t be right to force behavioral change on her. Tagging, again is categorization, but is much for flexible than simple directories. I’ll explore this further in the next post.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s