top | item 1829005

A Call For A Filesystem Abstraction Layer

17 points| senki | 15 years ago |algorithm.com.au

12 comments

order
[+] rlpb|15 years ago|reply
I think we already have an abstraction: it's "My Documents" (or the equivalent). "Normal" user applications just need to simplify their interfaces so that users actually end up keeping their files in there. File managers should have a simple interface so that users can work with files in there (and the interface should be simple enough that they actually do). File managers still need the current ("advanced") interface for power users who need to mess with the system.

The Preferences argument made by the author is the same in my opinion. ~/Library/Preferences should be hidden by default. The user should be able to clear preferences from within Photoshop itself, or some sort of general preferences manager.

None of this needs a new abstraction layer, just some incremental UX work within individual applications.

[+] meric|15 years ago|reply
My "Documents" folder is so full I've started a new folder at ~/<user>/Work/<year> to store my stuff. I go into my Documents folder and I feel overwhelmed by the sheer number of old files. I'd like an iTunes-like interface to control my documents.
[+] derefr|15 years ago|reply
This goal isn't really that far off. Modern OSes already have a composite, relational metadata index built by the system Search indexer; if an Explorer/Finder-alike simply hid all the hierarchical detail, and presented the already-relational information relationally, as a set of libraries (with rendering plugins so, for example, iTunes could display your song library prettily within the file manager itself) you'd already be 90% of the way there.
[+] drblast|15 years ago|reply
Filesystems are confusing because they force a hierachy, and we all know that real-world data isn't all hierarchical.

The best filesystem abstraction is GMail, because you can tag things and search them. Instead of saving my photos to /home/user/Christmas/2009/DecoratingTree/ I should be able to label a group of photos with those tags and filter by them later.

For the novice, the operation would go like this: Show me all things related to "Christmas..." wow, that's a lot of stuff, now limit those results to "2009"...and just show me photos. Ah yeah, there's the one of the kids chewing on the tree light wires.

"Tagging" files in this manner would require no more effort than organizing them in directories, and it's a lot more intuitive.

I've been meaning to write an application that works like this for years, but something else has always taken the priority away. If you want to work on it send me an email and I can dig up the code.

[+] thasmin|15 years ago|reply
The problem with tagging is that it's a laborious process and prone to errors which accumulate over time to make the system very inaccurate.
[+] kabdib|15 years ago|reply
... and that's the way we did it on Newton.

Well, more or less. No file system, just databaselets and indexes and search.

Ironically, it's harder to reflect actual heirarchies when you have a set of flat, easily searchable records like this. What you probably /really/ need is a multi-edge graph with queries.

[+] vicaya|15 years ago|reply
No. The existing Filesystem abstractions conflate namespace APIs and storage APIs and handle both poorly. It's time to break'em apart!

What we need is storage atom/fabric APIs that provide individual namespace (tagging, hierarchical or whatever) and storage (dedup/sync/versioning/replication or whatever) components to enable applications to innovate UX for each domain.

In the next a few years, we shall see the passing of traditional Filesystem APIs and blossoming of new storage APIs.

[+] scrrr|15 years ago|reply
Windows 7 has an abstraction layer for Documents ("Library"). Otherwise a good Desktop search can provide an additional layer.
[+] dfox|15 years ago|reply
All windows versions since 95 actually have pretty complex abstraction layers (IIDL -> user-space path, user-space path -> kernel path) between real kernel-level filesystem and what user sees in Explorer (To faciliate things like "My Documents" and also to provide illusion of drive letters and current directory). I assume that OS X's finder also has some abstraction layer (to do things like Library->Bibliotheque).

Also it is relatively simple for application on either system (including generic unices) to find suitable place for their data. Making some OS-agnostic abstraction has fundamental problem in fact that different systems offer different types of standard locations (Unix has $HOME and dot-files, while in windows you have My Documents and three distinct Application Data directories and lot of specialized directories like Pictures, Saved Games etc.).

[+] olalonde|15 years ago|reply
I would go even further and call for the death of "files". Of course, files/filesystems will always exist under the hood but I think it is conceivable that in the future, filesystem operations become increasingly unneeded. There will be an iTunes/web app. for documents, books, software, etc.
[+] leppie|15 years ago|reply
Directories, not folders. Only Windows got folders.