in tech

Why the file system will never die

Today, traveling in the bus, I had some time to think and my mind wandered towards a discussion on twitter about the impending demise of the file system in the operating systems of tomorrow. This is, of course, fueled by the mobile operating systems like iOS, Android and Symbian where apps have all the access to different files within themselves but the use does not have direct access to them. One of the biggest issues with this is that if the functionality is not there, these files are not available to other softwares that the user installs and that which perform similar tasks to the default app.

To deal with this scenario and to get my mind racing, I thought of amusing myself with building a standard that will define a file-less AppSystem. The prerequisite is that all apps should be able to access files within other apps. So I created, in my mind, the FileSystem-killer OS that replaces file systems with app systems.

Here’s what I came up with –
AppSystem Standard v0.1
1. There will only be apps as a resource to the user.
2. There can be multiple apps that perform the same or similar tasks.
3. The user is allowed to install any app that they choose
4. The apps will primarily have access only to files within their own sandbox
5. Apps will treat files as objects. Available object types will be defined based on the apps that the user installs. For example, if the user doesn’t have the Adobe Reader or another PDF app installed, the OS will not recognize PDF files and will discard those files upon download
6. The OS will have an underlying framework for all apps to share objects. If there are apps that are defined for a particular object type then they will have access to all those type of objects in the whole system. This framework, in essence, is the file system killer that I talked about up above.

When I was building these standards in my mind, I thought, “Hey, this is very Do-able! All I need to do is to rewrite a large part of the OS. Even better, I can work on the Mac OS X or Windows to remove the Finder or Windows Explorer respectively and replace it with this framework.

Better still, I could start with Linux, the most open system of them all. I could re-write a Linux kernel and as an example could add a simple PDF or JPG viewer which as an example. Then I started thinking about how to go about it. I’d need to open up the terminal, remove the GUI file system so that the user doesn’t have access to it and create a simple viewer app.

That’s when it hit me.

How will I write the apps and re-write the kernel, how will I do it?
Well, I’ll open the Terminal and start hacking.

Hacking at what?
The files.

So what am I accessing?
The files.

How?
Uh…. Ummm… Using the file system?

Yes. You can really have an OS without a file system. You can’t get enthusiasts and hackers and programmers to look at their work as based on objects or projects or apps because in the end, the smallest indivisible unit that any OS understands is the file. When I jailbroke my iPhone, the first app that I downloaded was iFile – a file explorer. The essence of looking at any information in any OS is looking at the files.

Also, when you think about it, all apps have access to the files on the disk and there is another little app that users can use to look at common properties of files or manage the deletion or organization of files – the file system.

The file system is a two pronged approach – a framework to allow all (seriously, ALL apps) access to files and an app that the ordinary user can use to look at all types of files independent of their type. Thus, the file system cannot die, because it already is all that we need from an App system.

Writing this, I am reminded of a dialogue I heard or read somewhere, don’t remember the source –
“NASA is such a waste of money. They should just remove it!”
“and do what?”
“Well, can’t they have one agency or consortium of private companies that sends people to the moon and launches satellites while there should be a separate government agency that works with Universities to launch all kinds of experiments. That way we’ll know that the first is a source of income and the second is a sink.”
“What do you think NASA is? It is exactly that. It is a government agency that launches experiments in conjunction with Universities and also, till now, launches people to the moon.”

The lesson – Just because you think that the current system is bad, doesn’t mean you need to replace it. Sometimes there is no real alternative to the current system because it is the best, or at least, better than the rest.