Ok, here is a short article about how I would construct a file system of tomorrow, and, more important, how it should interact with the user.
If someone reads this I would be thankful for comments 🙂
The file system of tomorrow
Some days ago I talked with a friend about organising files and the hierarchy of typical file systems.
We agreed that actual solutions are not really intuitive and that a database based organisation would be much easier to use.
I do not know very much about databases and how to implement a database based (as you see I’m not a native English speaker, isn’t there a better word?) file systems, but I had some thoughts about that and maybe there is someone out there who can implement some of these ideas.
The basic idea is not new: there must be abstraction between the physical place of every file on the one hand and the organisation of the user files on the other hand. One possibility is to manage all user files in a database.
Sure, we have Desktop Search Tools (and we are waiting that beagle or Kat gets more stable and usable), but these tools are only for searching. Finding the files is just a solution to a part of the problem. We have to improve the file management overall.
My idea now is that all files are sorted by categories. Every file is assigned to several categories and gets a time stamp. This makes every combination unique, and that’s what you need to identify a file.
For instance, imagine you want to save a file within a word processor like KWord: you open up the save dialogue, and instead seeing something like a hierarchy of the file system you just see an input field with just one line. You now start typing in something similar to a file name, like “letter to Carlos for habitation in Sweden around August”.
Now the words are allocated to different categories which exists or the user is asked to define a new category or to allocate to a category.
An example: After you typed in the first word “letter”, a bubble (similar to the new kicker bubbles in KDE 3.4) pops up to mark that this word belongs to the category “letters” and the bubble turns slightly green to indicate that there are no problems with this word.
The next word is “to”, which is ignored because it is to short. That applies to “for”, “in” and “around” too.
But after that comes “Carlos”: a slightly red bubble appears (maybe below the line) which says that there is no category and that there must be something done: either assigning the word to a existing category, “names” for example, or creating a new category like “friends”.
For “habitation” we will get a slightly green bubble which shows that the category “vacation” has been found and “sweden” gives us a green bubble which says that Sweden is a state.
“August” comes up slightly blue because you have to choose the category: the program can not know if you mean the month “August” or your German friend called “August”, so you have to choose between these possibilities.
At the end of the line there is a separate space with the file type “KWord” and with a slightly black bubble which indicates the file type as the category “KWord files”.
Below the input field you will see files which match similar combinations of categories to give an overview if your “file name” is only unique by the date of Creation or by the combination of categories.
If you know want to open this file some days later, you can choose open from KWord to see such a line again to input your query – and maybe this line can be present right on top of the desktop so that you do not need to open applications first: It could be a merge between the file management and a central search tool.
It doesn’t make any difference where you get your input line, the same thing will happen: you do not remember the exact name of the file, but you know what it was about, so you input something like “sweden letter carlos August visit”.
Now every time you type in a new word a bubble comes up, slightly green when it recognizes a category, slightly blue when you have to choose a category, and slightly red when it comes to visit, indicating that this word can not be found in any category.
While you are typing in the words search results will be shown below the line so that you can choose which file you want to load.
If you do not use the input line from within KWord but use the desktop type in line, than you can choose a file type category, too.
The advances of such a system should be obvious: you do not have to remember what the exact file name is, and you do not have to remember where you had saved your letters – these things doesn’t matter.
The context of the files is more important, and that’s what you normally know much better than the exact file name.
It improves the management of your files, too, when you replace the classical file manager with a category manager.
Some problems come up, when you want to export such a file – what’s about the file name? What’s about the categories? How to import?
One solution could be something like a container format: the container would include all categories and the file itself.
So if you want to save something to removable media you could choose something like an export button below the input line, if you want to open it it would ask you if you want to import the categories or if you want to assign the file to new categories.
And, maybe, every ex/imported file would automatically get a new “exported”/”imported” category.
And the disadvantages? Well, I think that there are just a few for the user himself. Sure, that wouldn’t be easy to code, but I think it can be done. And the improvements are exceeding.
Somehow or other there will be a change of file management, and the questions are when and who, not if. So I hope that a Open Source Operating System will be the first which comes up with such a file management for the user and that the standards around this will be open. It is time that Free Software sets the pattern for the future desktop.