Skip to content

File Systems: from office analogy to obsolecense

July 16, 2011

An opinion on the rise and fall of file systems APIs.

In the dawn of operating systems, there was a need to design a hardware and data structures to store persistent information generated (or used) by user programs. We know the rest of the story: tapes, floppy disks, hard-drives and now solid states, always driven by the OS’s file system implementation over the I/O driver API.

Files and directories/folders, organized as a hierarchical  trees (or directed graphs, if you consider links/shortcuts) were designed as an analogy to the file cabinets in offices of that time. This structure fundamentally never changed, and features such asynchronous writes, extensible meta-data, journaling or anti-fragmentation block sharing, were developed basically to increase performance and reliability.

All operating systems flavors always exposed file systems both as an API (for programmers) and through the (in)famous shell application (directly to users, programmers or not). The change from shells to visual file explorers can be seen as a natural consequence of a change in the perception of who was the REAL target audience of personal computers: non-programming users…

Initially computers came with only basic software: OS + file system + process management, a shell, and a programming language compiler, so the “user” could develop programs to automate his/hers personal tasks and help solving problems. Sometime during the late seventies/early eighties, the success of local software houses showed the existence of a huge market for off-the-shelf software products. The visual desktop (MacOS, Windows, Unix’s X window managers) was designed to resemble a real working desk, but there, somewhere in the corner of the room, the file cabinet analogy persisted.

However, criticism always existed, and together proposals for getting rid of this analogy: David Gelernter’s Life Streams were based on the perception (I’m not convinced of this) that humans organize their life experience as a timeline, and proposed to organize information (aka fine grained file objects) this way. This project never took of, but it’s an interesting read anyway. User interface super star Jacob Nielsen even proposed a nerd-friendly interface to replace the desktop analogy: Anti-mac interface. I think both ideas really missed the point.

What actually happens is that files are not really important, data is not the key concept to our daily lives, but processes are. This means that file system interfaces are a bit like XML, a very good machine-readable format, but an awful interface to be directly exposed to the users. However, our digital lives were always dominated by the applications we use to help us with daily tasks: writing texts, listening to music, etc.

Evidence to show this importance is everywhere:

  • Most of non-technical users I know always use the recently-opened documents list, or even open the application first, and looks for the document through the “Open File” explorer interface;
  • Most mac users don’t even know where their music files are, since it is much easier just to open iTunes and use its context-designed interface based on music meta-data such as artist, record, etc;
  • Have you ever felt the need to know where are the Google Docs files stored? Me neither…:)

Based on this, I now completely understand Apple’s strategy of not exposing a file system interface to their iOS devices. The same happens to Google Docs and this analysis of their strategy for G+. In both cases, there are options to import/export “normal” files (through iTunes, and upload/download in case of gDocs), so there can be a smooth transition from the “old” paradigm. These options might always exist (even if only through hacks), since power users always want more control, but the thing is that for most users, dealing with files is not necessary at all.

I’d like to hear from anybody if you have evidence to the contrary (or supporting it). Now that cloud services are so much in evidence, is the normal user finally get rid of the FILE?

And please, I’m not defending Apple’s or Google’s policy in general, just observing a tendency in how people organize their personal content.

Advertisements
No comments yet

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

%d bloggers like this: