the Future of Your File System
It might just be that in a few years from now, we will all have a different mental model of how the computer handles our data. A way that is easier and feels more consistent and solid, then our current system.
Lately there have been interesting developments, let me sum up some of them:
- WinFS, the totally new way of storing things is now officially not in Vista, but parts of the technology will be;
- Spotlight is approaching two years, and the 7th of august is likely to show us Spotlight v2. This is interesting, because Apple now has had two years to watch users interact with spotlight;
- Beagle, file searching on Linux is maturing, look at SLED 10 for instance;
- For windows we have google desktop search, and msn desktop search, and some others;
- Leaftag, tagging for Linux can be expiremented with;
- tracker, an alternative for beagle on linux.
An indexing system that allows users to search their files, a la google for the internet, is now fully here, everybody can enjoy that.
categorize first, searching is second
But I would argue that the approach of searching to enhance our file system is the easy step, and only a first step. Searching services have existed on the internet for a long time. Bringing this to the desktop was merely a question of powerful computers, which today we have.
I think the next step is categorisation; bringing implicit and explicit categorisation to the desktop. Think about tagging, think about time based views, or document type based views. Not from a searching interface, but from a browsing interface. Just like your 'My Documents' folder is just there for you to open, a folder with the recent 20 files you worked on can just be there, or the recent 20 Word documents you worked on.
Indexing and searching can not provide that. Smart folders, or stored queries, are helpful; but the information needs to be real time. Incremental searches or fuzzy updating results are not acceptable. Also these engines cannot index data that is not there, think about tagging, or other information like a file received from this contact.
For this to happen, it needs to be the file system that can give you a listing of a tag, just as easily as it can give you a listing of a directory. Same for type of file, or date ranges and more. This is what I call a richer file system.
Todays file systems can only give the contents of a directory. Which means other queries need to come from a different service, which makes it slower, possible slightly out of sync and very service specific.
How then can we ever handle USB sticks, data on our portable devices, phones, digital camera's? Without a richer file system, these will always be second hand citizens. Requiring the indexer to come along first, before we can interact with in the same way as our main file system.
Plus, searching alone is not enough: what if you don't really know what you are searching for? Or if you cannot seem to get the search results down, because you are searching for something very ambiguous, or the content you are searching for does not let itself be indexed easily (Photos, Videos)?
Then you are back at directories as your only tool, this is where categorization will help a lot. And once you have a richer file system, the search can definitely use that information.
how
But the really hard part to figure out is the new UI and the new metaphors and interactions. WinFS was supposed to be the big thing here, but Microsoft couldn't figure out in time how to actually make users interact with it.
Technically they have some nice ideas, all data in containers, explicitly and implicitly related, and then you can have a multitude of views on that data. Great for application developers. Not easy for users. Partly because you cannot tackle the problem from a technical point of view; the problem is not technical, it is social. It is all about the user interface, the users understanding of it, the users interaction with it.
And just to make that even harder, you need to think about how to interact with other systems, like networked drives, and legacy systems like cdroms; hierarchies will not just go away.
And programs need to use these new features, your email program needs to annotate attachments, your web browser needs to annotate downloads, etc.
What I think/hope the future will bring:
- no more save dialogs, your document is always saved, you just give it properties, if you wish. Using the richer file system you will always be able to find back your document.
- Files come with extra annotations, like, received over email from this contact, or copied from that place. And you can add your own, like tags.
- You can browse files, like you can today, but you can get to the same file in different ways. Think how the iPod can reach a music file by artist, album, genre.
- Sharing, encrypting and such is all a matter of dragging certain properties to a file. Basically you tag a file as public, and everybody accessing your computer over the network can see all files that you tagged public.
- Its all about the users files (aka documents), operating system files and such are stored differently and do not show up for the user, except when the user wants too go there
why not keep it as it is today?
A real and valid question at this point: is the current approach of directories for storage and then adding searching, not just enough? It is simple, but not too simple. It is easy to understand, but still powerful.
But the answer to that one, for me, is easy: No.
You can see this in the need for iPhoto, F-Spot, Picasa, Adobe Photoshop Album, Flickr. Lots of data, and it needs to be searchable, categorizable, browse-able in ways directories can never provide.
Same for media content: iTunes, Media Player 10/11, and a lot of others.
And companies need to arrange their massiva array of documents in systems like Lotus Notes or any of its competitors.
For some data, timeline views are great, look at life blog, or any of the above foto managers.
no save, it is just saved
And my personal goal with a richer file system: no more save buttons. (I should make that a slogan, with a cute logo and a website.) What you see on screen is stored in the computer, no separation between content on screen and content on disk.
This is the reason why your mum calls you in the evening, almost crying, "The computer ate my document". It didn't eat it, it is just in "My Computer\My Documents\letters\" but your mum didn't notice that when saving, and now she can't find it anymore.
The reason Word not just stores you document, is that it doesn't know where to store it, and how to name it. So how will you find it again? But the last saved document should be trivial to find: using a time line view.
Or, if you are loosing track of Word documents like this, then you are not writing a whole lot of them. So what about just viewing all your word documents?
These two tasks should be easy, easy for the file system at a technical level, and easy for the user to do in the interface.
see the future, today
- Look at iTunes, iPhoto, F-Spot or any of those managing applications for specific files. These concepts can also be applied for all your files.
- Leaftag is interesting, as it allows the user to categorize, not just search. By tagging in this case.
- Gimmie is a system where you recent things are more obvious and more persistent, also read this blog post about Gimmie. Interesting as it shows alternatives to current desktop interactions.
- beaglefs and more, some kind of people based browsing approach. All Powered by Beagle. This was Beagles goal in the first place, implicit searches for your dekstop: Dashboard.
- Distributed and sharing storage iFolder, a great way to share data between your devices, or between people. Systems like this could leverage categorization and searching a lot. Also think about distributed version control systems, like Git (Which is especially interesting, as it is not so much geared towards source code). Getting traits of this in your desktop would be great.
- Reiserfs future plans includes more then just directories and files.
- zfs is a file system it can span multiple physical volumes, self repair, snapshot, and does not need to store hierarchies fundamentally.
- LowFat document management from a different angle. Also note Jeff Raskins ideas on storage, like the zoom interface. And on editing and not saving in archy.
- My personal experiment in this field: Database file system for KDE.
- Look at the semantic web ideas. RDF and more.
Last modified: 2007-11-19 20:16 GMT