Us web-developers have been doing this for years... Just think about the web-apps you've written, they normally store the data in a database right?
True, and in some ways, we may be ahead of the curve, but the difference is that it is usually on a fairly narrow pre-definition of what type of information the user will be saving and retrieving.
What I am talking about will be a little more of a challenge, because it is a shift in paradigms with the complete user environment. The challenge is to allow the simplicity and ad hoc nature of saving to files, but breaking away from the metaphors of "files in containers", and "containers in containers" that we have in present-day filesystems. We need to find a way to allow the user to have freedom and flexibility of saving any type of data, but still to have an underlying organization that is largely hidden to the user, and which enforces relational database rules. I believe the application that would manage this needs to have some AI capabilities, to continually refine the user's data and relationships, as well as the views, queries, and data integrity rules that would allow users to define what is most important to [b]them]/b].
The current heirarchical filesystem is an ancient construct, which forces you to go through every level of a structure to get to your final data inside a folder. This is especially bad in GUI applications where you have to click and expand a tree repeatedly. (I have ranted against the tree concept already in this forum). The only workaround we have for this limitation is the concept of "shortcuts", which also come from the Stone Age of computing.
Come on! the average personal computer is a thousand times more powerful than the first ones available in the 80s. In all this time, developers have tried to use up this power simply by adding features to software. Now the average user-level application has literally a thousand commands, widgets and menu items, but we still save files in the same old, tired way.
The time is more than ripe for this to change. I think if such a thing were done right, then computing might just become fun again. At present we only have a couple of basic GUI widgets for displaying the filesystem: the navigational tree, and the folder-inside-folder view. Then we have a form to do file searches, but it is only the most basic of searches, where we can look for certain filenames, and filename patters, or for certain patterns of text inside files. That's it. Think of all the cool widgets we could come up with for the whole user environment if the whole data store is relational.
Would this work? Well, anyone who has administrated Microsoft Exchange will tell you that all Exchange/Outlook folders, shared data, etc... is all in a database, which can be queried at will. It's been done, and whatever we may say about the bugginess and vulnerability of Outlook/Exchange, the user interface is a success. I know businesses who have migrated their whole document management environment into Exchange for this very reason. This is a very primitive implementation, though. Users must still navigate folders for most things, but administrators and developers can build advanced search forms and categorization on top of this, which far outstrip any simple filesystem method.
Any KDE developers out there listening? Please take this rant as a petition. We know that some of you must have been thinking about this already, because the QT tools, and the KDE widgets themselves are now database-aware, so why not just take the step, and do this for the whole user environment, while Microsoft is still figuring out how to do this just for Office? And please, don't use MySQL. Use PostgreSQL, or at least something that attempts true data integrity.
OK, ok...
bash# killal -HUP rantd