January 2, 2006
Don Park recently made an interesting observation about how his family uses the computer:
When I observe how my wife and son uses the family computer, I can't help noticing how little use they have for the desktop. They look bewildered when I open the Windows Explorer. To them, file open or file save dialog is where the files go. My Documents? It's just an icon they never touch.
I've observed the same filesystem phobia many times in many different users, including my wife. When you observe the same problem across so many users, you have to wonder-- isn't the real problem the filesystem itself? Jef Raskin has a lot to say about this in The Humane Interface, starting with filenames:
File names are bothersome when you are about to save work, because you have to stop in the middle of your activity, which is trying to store your work away, and invent a file name. Creating names is an onerous task: you are required to invent, on the spot and in a few moments, a name that is unique, memorable, and within the naming conventions of the filesystem you are using. At that moment, the question of a file name is not your locus of attention; preserving your work is.
File names are also a nuisance when you have to retrieve a file. The name you thought up was probably not particularly memorable, and you probably forgot it after a few weeks (or less). I for one, can rarely remember a file name unless it is quite recent. Even looking through lists of filenames is frustrating. Just what is in that file labeled "notes ybn 32"? The name seemed so clever and memorable when I created it. Then, too, many files are nearly the same. How many different, creative, readily remembered names can you think up for letters to your accountant about last year's taxes? Filing them by date may be useful, but how many of us remember that the letter about the deduction for the company truck was written on August 14?
Raskin's modest proposal to solve this conundrum is nothing less than the complete elimination of the filesystem:
There should be no distinction between a file name and a file. A human mind can more effectively use a fast, whole-text search engine, so that any word or phrase from the file can serve as a key to it. (Eventually, we'd want more: a request for "a letter about dragonflies" would [search] for something that had the form of a letter and looked not only for the word dragonfly but also related terms and expressions, such as Odonata-- in case dragonflies had been referred to by their scientific name-- and if no instances of such letters were found, the search would look for nonletter documents, and so forth, extending out to networked computers and the internet.) You do not remember the content of "Letter 12/21/92 to Jim" when you see that title, but you do remember that you once wrote to Jim about the blue Edsel that ran across your eyeglasses. A search on Edsel is likely to find only one or two entries on your whole system-- unless you are an Edsel fancier, in which case you would probably choose another pattern on which to search. An unlimited length file name is a file. The content of a text file is its own best name.
Raskin actually shipped products that lacked filesystems entirely in the mid 80's -- the standalone Canon Cat and the Apple //e add-in card version, the SwyftCard. Both were critical if not popular successes:
This discussion is not theoretical: on the SwyftWare and Canon Cat products, the elimination of file names, directories, and the various mechanisms usually provided for manipulating them proved one of their most successful features.
I remember reading about the SwyftCard when I was a teenage Apple //c owner and not quite comprehending what it was, or what it did. Like the Canon Cat, it was clearly far ahead of its time-- maybe too far ahead to sell. If you're curious about the LEAP interface used in both products, there's a Windows port called "Archy" available at the Raskin Center.
Raskin isn't the only notable UI figure to have serious misgivings about the filesystem, though. Alan Cooper derides it for an entire chapter of About Face, Rethinking Files and Save:
The implementation model of the file system runs contrary to the mental model almost all users bring to it. Most users picture electronic files like printed documents in the real world, and they imbue them with the behavioral characteristics of these real objects. Users visualize two salient facts about all documents: First, there is only one document; and second, it belongs to them. The file system's implementation model violates both of these rules. There are always two copies of the document, and they both belong to the program.
Every data file, every document, and every program, while in use by the computer, exists in two places at once: on disk and in main memory. The user, however, imagines his document as a book on a shelf. Let's say it is a journal. Occasionally, it comes down off the shelf to have something added to it. There is only one journal, and it either resides on the shelf or it resides in the user's hands. On the computer, the disk drive is the shelf, and main memory is the place where editing takes place, equivalent to the user's hands. But in the computer world, the journal doesn't come off the shelf. Instead a copy is made, and that copy is what resides in computer memory. As the user makes changes, he is actually making changes to the copy in memory, while the original remains untouched on disk. When the user is done and closes the document, the program is faced with a decision: whether to replace the original on disk with the changed copy from memory, or to discard the altered copy. From the programmer's point of view, equally concerned with all possibilities, this choice could go either way. From the software's implementation model point of view, the choice is the same either way. However, from the user's point of view, there is no decision to be made at all. He just made his changes and now he is just putting the document away. If this were happening with a paper journal in the physical world, the user would have pulled it off the shelf, penciled in some additions, and then replaced it on the shelf. It's as if the shelf were to speak up, asking him if he really wants to keep those changes!
Alan proposes a less radical solution than Jef: instead of doing away with the filesystem, do everything you can to hide it from the user. This includes automatic saving with no prompts, automatic versioning, etcetera. The end result is a rebranded File menu:
Cooper closes the chapter with a single design tip: disks are a hack, not a design feature. We can't afford computers with 50 gigabytes of non-volatile main memory, so hard drives and filesystems are a necessity for permanent storage. But just because us programmers are stuck with the annoying two-copy filesystem model doesn't mean we have to mindlessly subject users to it, either.
Posted by Jeff Atwood
Now that computers also serve as media centers, Raskin's ideas have to be re-evaluated. The new Palm OS has a hierarchical file system because you can store over 1gb of data. Audio files are typically not edited (at least not on a palm) and come in groups (an album for example). Folders seem like the best way to work with media files.
This doesn't mean that we shouldn't work on better solutions, it just means that the no filesystem solution is not enough. For now, I'm using an old Palm as well.
Palm OS added filesystem support with version 4.0 because it needed to communicate with the rest of the world -- that was added with external media support, and flash cards have filesystems. A lot was done to make this hidden from the user, but ultimately the need to power users to work with filesystems that hadn't been built by Palm OS won out.
I realized this as well when one day I noticed that one of my (non-IT) coworkers placed her files everywhere. To her, it just didn't matter. The filesystem wasn't something to be organized, because, as you mentioned, it really has nothing to do with their task at hand.
It also explains somewhat why people "get" web apps so easily - hey, when I hit "Save" on the intarweb, it saves it somewhere - I don't really care where, just so long as I can get it back sometime later.
besides, it would be easier to type grep -irl "world war 2" ~
That said, the problem I've always had with the idea of ditching the user-controlled file system is that I often forget what I've written! "It was a short story idea... oh, did I use a black protagonist or a hispanic one? Gosh, it was only a half completed thought... I can't think of what I wrote in there! And was it last week? Oh wow, maybe it was three weeks ago."
Or I can just go into my folder and start doing a linear search, and maybe the filename will job my memory.
Or, what if I have to go to someone else's computer and find something? At least if it's all in My Documents, I have a fighting chance. (The thought I had was a kid trying to sort out his family's affairs after his parents died. He has the password, but he's lost after that.)
Now, I wouldn't mind an interface more akin to a room (Yes, I know, MSBob tried it, but I'm thinking less cutesy.) You have a filing cabinet with drawers and these contain your documents. Then you have the junk drawer where anything you download goes. You have your jukebox where your music goes. A toolbox has all your system utilities...
We have struggled with this issue since our inception.
Attempts to introduce an auto-save feature were met with howls of protest (well, maybe not howls, but one user said he was being subjected to the tyranny of the developers).
The difficulty was compounded by the fact that our application uses multiple documents that are kept in one project folder. Allowing people to do a Save As... would have created naming issues akin to what Raskin describes.
The solution was to provide users with the ability to choose the location where their project folder was stored. The name of the folder is chosen by the user but the docs inside the folder are auto-named.
This approach seems to have satisfied everyone. It provides users with the power they wanted while avoiding the naming issue.
I think everybody commenting here misses the point! It is not "how should the file system change?" It is "what will replace the file system?" Why the big interest everywhere in search technology? The hierarchical file system is a dinosaur about to breathe the last breath.
Yes, I understand the frustrations of developers and trying to accomidate end users, but maybe we're all looking in the wrong direction. We're wanting the OS to take the control (human at that) and figure out what us imperfect users wan't. There isn't enough desktop computing power on the market to do that.
The averge user who doesn't understand Windows explorer has NO business messing around in system folders. Don't even mention the word "directory" if you don't want the "Deer in the Headlights" look. OK, you say, Windows already has these locked by default. Well, why not a two-tier approach, all files such as internet cache and useless data that can be cleaned eaisly be confined to a specific directory.
User: "I need to clean juk files on my computer."
IT Guy: "Oh, open explorer and delete the tmp folder, everything will be just fine."
Mind you, software companies would and will want to hide some user info that may need to be accessed somewhere else on the users hard drive, but we could encourage standard coding practices to help.
To futher expalin what I mean (I ran out of space).
maybe what we want is a two tier explorer. One for documents (normal users)and one for system files (Advanced users/administrators). We basically already have these, but they need to be enforced by default and not part of some group ploicy.
The proposed solution (that the contents of the file become its name) isn't really adequate. While it may in fact make it easier to search for files and simpler to save files, it makes browsing through the filesystem quite difficult. This is why each file needs needs additional metadata on top of the existing file contents - to allow for easier content discovery.
it makes browsing through the filesystem quite difficult
When was the last time you "browsed" through the internet, eg, you used a YAHOO or DMOZ style directory?
That said, some metadata is effectively free such as username (author), date/time, and the application used to create the file. We definitely want to make that searchable as well.
The real difficulty -- which nobody has referred to quite yet -- is images and other binary files. Sure, a file with a bunch of text contains its own best name, but what about a PNG file?
Don't even mention the word "directory"
And another pet peeve of mine-- is it "directory" or is it "folder"? Better still to solve the problem once and for all and do away with both completely, I think..
[Part 1 of 2]
Alan Cooper and Jeff Raskin are making different complaints here, and neither of them wants to get rid of the filesystem itself. (I'm mostly going by your account, as I haven't read either /THI/ or /About Face/ yet.)
Cooper is talking about the distinction between the file itself - the book on the shelf - and the private, temporary copy of it which an application works on in the first instance - what Emacs calls a buffer. He is unhappy with the way in which applications gratuitously expose the distinction between the two things to users. But as long as you still have an shared abstraction of books (files) on bookcases (mounted disk partitions etc.) which different applications/processes and users can all see and access modulo permissions, then you still have a filesystem - that's what a filesystem is. It's the file *buffer* that Alan Cooper wants to hide and minimise, in order to *expose* the underlying file itself. *
Similarly, Jef Raskin's rejection of file names is not a rejection of files themselves. It's not the existence of a common library of books that offended him here, but how the library is catalogued. IOW, this complaint is not about file data but about file metadata. (Yes, filenames are file metadata too - they are information about a file that is not part of the file itself.) **
His criticism of filenames quoted above is dead on. The whole business of having to bestow a name on every file you create before you can create it is like something out of a Monty Python sketch:
Greengrocer (Michael Palin): Good morning, sir.
User (John Cleese): Good morning, my good fellow. I wish to buy a banana.
Greengrocer: Certainly, sir. [He places a banana on the counter.] That will be sixpence, if you please, sir.
Customer: Ah, excellent. A satisfactorily ripe and shapely banana. Here is your sixpence. [places sixpence on counter]
Greengrocer: Thank you very much, sir!
[The Greengrocer rings up the banana on the cash register. The Customer moves to pick up the banana, but the Greengrocer swiftly moves his hand over it.]
Greengrocer [beaming smarmily]: And what would you like to call it, sir?
Customer: Call it?
Greengrocer: Yes, sir. What /name/ would you like it to have? [He reaches underneath the counter and produces a packing label and a fountain pen.]
And so on. ("Oh, I'm a-fraid there's already a pineapple called Gregory, sir.") But the alternative Raskin proposes is not a good idea. (It's a typically Procrustean approach from the man who once wanted to allow only one file per disk.)
Eric K, the user is going to have to learn an interaction. If it's grep, or spotlight, or click click click, it's an interaction.
The ability to quickly find data you want exists. Peter's interactions are a false friend. In practice using Natural Language seeming interfaces are not nice. Consider that it took Peter something like 200 characters to do what I write in like 20.
Very interresting topic, but yes replacing the file system seems a bit too radical. :) But most people dont understand files, folders and most certainly they dont understand maintaing versions of documents. Nice to see a differnet view that the filesystem itself might be too complicated. I always thought that people where too stupid? :D
I would suggest doing some more intelligent way of mainting the users documents and not the users files. I never liked the Desktop Folder, My Documents Folder, My Pictures Folder, etc. I can see its uses, but as a developer I still have to look into "C:\Windows\System.. " "C:\documents and settings\.. " but it is as you mention logical since the developer needs to know and operate the operating system. But I cant remember how many times people ask me "where can I find my mail on my c drive, is it under c:\program files\office.. " or under "C:\documents.. " or maybe they dont understand why attached document from a mail is saved in a temp folder because they forgot to choose "Save As.. ". And dont get me started on the window search functionality, I dont really get why it is in the oprating system?
It is not only the average windows user who looks around, everybody using windows sometimes find themself in a windows folder outside the local desktop folders.
Lets say its only a standard office and browser enviorment. I think the best solution would be to track everything the user does. I think the "last opened documents" is a great feature, but It should be MUCH more advanced, but ofcause not more defficult to use. But the user should be able to do something like :
User Could you open the paper I wrote about Worldwar 2?
Computer I have 20 documents containing that topic, when did you write it ?
User I wrote it last sunday, before I whent to school
Computer I have 1 document from that day, and I have kept it in 3 different versions. The last version seems to be larger, contain lesser spelling errors, was printed 2 times before closed 8.00pm and was that last version you worked with. Do you want to open it?
User yes, that must be the final version of my paper.
..computer opens the document worldwar2paper13452.doc
Computer Was that the corret document ?
.. computer renames worldwar2paperfinal.doc
This dialog should of cause be done in a pleasent way and I am sure it could be done graphically. But the idea is to let the computer keep track of the users actions, since that is one thing it does better then us.
Hi some guy,
I dont think you understand my point anonymous coward. ( hehe sorry, just felt like a \. reply you gave me)
Anyway, searching files is as you say very easy achived by searching through all files in all (sub)directories and you can even speed that search by indexing like some fanzy google desktop. But what about searching through files that are encoded differently or what about searching pictures?
And what if my tekst about World War 2 was something like:
World War II, also known as the Second World War, was a mid-20th century conflict that engulfed much of the globe and is accepted as the largest and deadliest war in human history. The war was fought between the Axis Powers and the Allies. The Axis initially consisted of an alliance between Germany and Italy, which later expanded to include Japan and Eastern European countries such ....
What good will a search query on "World War 2" do to me ? And even better, what if I cant remember what I excatly words I wrote, because I just wrote a draft? And even better, how do I find the document if I deleted it? Or what about you made a nice little script, but you cant remember where you put it. So I should just do a:
grep -irl grep
I am sure you have more then one file containing the grep command. But besides that, you seems like someone knowing a filesystem, but my guess is that you have used several hours, where you from time to time misplaced a file or had to rearrange the file structure in your usr folders or something like that. And by doing so over and over, you dont have to think about it anymore, and place the files at a location where you can find them again... but noob users just dont know that.
Have you tried Photoshop ? I really like the the History functionality. Every step you take through your painting it remembers and you can see a full list of every step you take. Like "Select rectangle, paint, airbrush, crop, .. ". The functionality if ofcause not perfect, and is as far as I remember only kept trough editing process. But what if the operating system kept something like that? Of cause it should not register every key you pressed in your first person shooter, passwords you typed, everytime windows defragmented a file, etc.
My point with all this, is to let the computer understand more of what the user is doing, instead of the user needs to know so much of what that computer does.
One problem with the filesystem is that there are two things stored there: the computer's stuff, and my stuff. The "my documents" thing is an attempt to mitigate that after the disasters of having all the user's (eg) Word documents in c:\Word\Dox and the Word program files in c:\Word. As it is, knowing what to back up is an art, and even finding their files for some of my friends is nigh on impossible.
Flip side: having the metadata/whole document search is all very well, but you need a lot of it. I have one friend who emails word programs to herself because her mental model in based on Outlook folders and archives. At least the latest Outlook doesn't lose its email database too often.
A live history is very useful - one of my favourite options is "undo after save?", and I can't understand why anyone would ever turn it off (if it was persistent, even better). Bring on the return to the VMS filesystem!
I hate to use buzzwords, but with all this discussion of metadata, I'm surprised no-one has mentioned tagging (a la delicious).
Audio files are already managed using tagging-like metadata, and, for me at least, it would solve a lot of problems to do with structuring of one's file hierarchy ("Binaries go together, wait, an application's files should go together, this file is shared between two projects, dammit!")
I feel pretty strongly that if the general populace 'get' tagging, pretty soon we will start see a general adoption of this approach.
My 2 cents.
This reminds me of an ICL product that was around in the late 70's/early 80's: CAFS or content addresable file store. Its goal was similar although it used a query language to obtain results. See the wikipedia entry for a synopsis of what it was about. Content Addresable File Store
That is an excellent sounding "personal assistant"! I typically use the journal function in Outlook just to review excel documents. But that doesn't help you if you do not save the document you are working on! I had written a bunch of code in a workbook before the holidays and was able to find the workbook containing the output; but was unable to find the workbook I was using to develop the code.
Now I am thinking about writing some code that automatically saves any workbook that I try to "discard" if it has VBA code in it. Now that would be useful!
Re tagging: Nobody is going to tag my internal document. And if they did, just as Peter mentioned, it will be filled with WWII, World War II, etc vs. World War 2 ambiguities.
Peter: I demonstrated how to use an existing file system to find a text document dealing with world war 2. This is what you described (apart from the inclusion of revision control).
If you want me to design and implement a full fledged revision control file system with search in a blog discussion section, you're out of luck. But, if you offered a lucrative contract to design and implement such a system, I would certainly consider getting a team together and working on it. :D
Luckily for you, comparative advantages leave it up to OS implementors to write that stuff so we can all have it cheaply. :)
Peter, that functionality exists. You just use:
find ~ -name '*' | xargs fgrep -il 'world war 2'
Very interesting article :) The observation about people not understanding Explorer much less My Documents, etc. is very true. I was trying to explain to my accountant the other day how to move some files from his old computer to new one and ran into the exact same issues.
OS X's Spotlight feature removes almost all need for using the file system on my mac. If I can remember the name of the file or any of the contents or the date or something similar, I just type it in spotlight and the file is listed.
Disks are kind of a hack, and not having to save file changes would be good. I am thinking that the change should be in the file system and not the applications themselves. We have loads of disk space now, and can easily afford to save a different copy of a file automatically each time it's window is closed, with the file system keeping track of the changes and which is the most up-to-date file.
Jeff, I think if you watched Mac users, back in the pre-X days, you would have seen quite different behavior. The Finder (Windows Explorer analog) works better; more people "got" it and took advantage of it, even with a 32-character name limit. There were a lot of reasons for this - notably metadata of file type and creator, which eliminated the need to put cryptic extensions on the names, and a Find that behaved in the natural way (by name) by default, and a general sense of, "here is the starting point." I knew Mac users who had the same kind of blindness to the file system, but they were much rarer.
Raskin was a brilliant man, way ahead of his time, and his early insights make me receptive to his later ideas, but I think he was wrong on this one. Don't eliminate the file system; make it work better.
find ~ -name '*' | xargs fgrep -il 'world war 2'
The article is about hiding the details of the filesystem from users.
Do you think that a user who wishes to have the details hidden from them so they could more easily access their files would actually be the type of user to want to key in a command that's 38 characters before you even count the search term itself, and containing such implementations-specific nonsense words as "xargs" and "fgrep" and "il" which mean absolutely nothing to a casual, nontechnical?
Personally, whether I want the details hidden from me or not, I don't want a 38-character-long Find command.
Filesystems will probably always be with us, just like command lines. But in the future, we will look on file-systems much like the command line today. Obscure and vestigial remains from a brutal past.
Users have problems with the document/application split as well, although this is less of a problem now thanks to the "Create new" menu.
We now consider undo/redo to be natural. When Ctrl-Z doesn't work, it's a bug. There is nothing that says the undo stack cannot be persisted along with the document. The document can safely be saved automatically and continuously.
Think about the Drafts folder in Outlook. You don't have to create filenames for items you save - they just appear there with all the text/images intact.
You described the Palm OS. On the original Palms, the title of a "Memo" is the beginning of its contents. Notes are saved as you modify them; even if you turn off the machine before clicking "Done".
I think the original Palm OS is fine... I wonder why they screwed with it and introduced --yep, You guessed it--- a hierarchical file system... complete with folders and file names. Totally non-Palmish. Fortunately, the latest OS is so buggy, I returned the thing and got me an old Handspring off Ebay.
And another pet peeve of mine-- is it "directory" or is it "folder"?
A directory is a directory. A folder is a GUI object that represents a directory.
For example, "Desktop" at the top of a Windows Explorer treeview of the file system is a folder, but "C:\Documents and Settings\Administrator\Desktop" is a directory.
First and foremost, millions of people have become accustomed to Windows Explorer and its counterparts for the other OS's. So we must all accept that the existing filesystem interface cannot be scrapped to invent new data storage/retrieval model.
I agree with Daniel, and feel tagging is the best way to improve existing filesystems. Of course, like SomeGuy said, the problem with tagging is about the standardisation of the tags, and for this the OS developers must have some predefined tags for the user to start with.
The tags themselves would be like metadata for the files, and would need to be embedded with the files for easy sharing.
Also I feel search is going to another key ingredient of any future OS, and a killer filesystem would be one which integrates a fast, efficient and non-obtrusive indexing mechanism.
People who are saying that the metadata is unnecessary, and that the OS should look within the file contents... well, what happens for a password-protected document then ?
Ok I love filesystems. I don't know why anyone would want to get rid of them. All the problems listed with them seem to be user issues. I don't use the My Documents or anything like that but that's because I keep my apps on my system drive and my data on other drives. If you had to search everytime you wanted to open something that would take forever and you would have to have more clutter on your screen. Beagle the search program for my linux box already searches within the files for the context of my search. But even though I use linux I still think the windows file system makes tons more sense which means i think it's better than the mac filesystem also. It only makes sense to have everything seperated by drive then application folder. Not saying that I prefer windows to mac or linux it's just a better filesystem. I could do without extensions but then that would confuse even more people. It's so nice to know that my mmc plugins are in the system32 directory and that I can go straight to them when I need them no pesky searching involved just instant gratification. If you can't remember what you named your files or where you put them you need to be more organized. If you can't remember enough about the file to find it with the current search programs then it must have not been that important in the first place. Don't blame the filesystem the PEBKAC.
Hierarchical filesystems are useful for archiving, not for day to day work. Desktop search apps are a step in the right direction, but unfortunately flatten time in favor of "space". Outlook's journal timeline features are sort of useful, but flatten space in favor of time.
When working on a project I may be dealing with hundreds or thousands of files many of which have vastly different metadata. For example, frame 1024 of the animation I just rendered for client approval vs. frame 1024 of the test animation I did for myself that I liked, but knew the client wouldn't, but which I wanted to reference for a different project...
Even with an intern/production assistant dedicated to asset management, after a week the associated metadata loses sync with the real world.
Even in the early 21st century the best filesystem I have is my desk. While not searchable via keywords, tags or other metadata, I can find material immediately. Can't help but wonder if the real problem with computer file management is that the display itself is too small - even dual 30" monitors don't supply nearly enough room, but what if my display were as large as a wall?
Very nice replies above, but since our man CH has already made a new blog post, I guess this one is closed.
Choosing a filesystem is in most cases the choise of the underlying operating system. The choise of the operating system is often compared with religion. What you have grown up with, what you know and what you understand. Probably like several other people in this thread I have used several different operatingsystems and I enjoy using the filesystem in both development and standard cases.
As said, if it works dont mess with it. But I have seen so many cases with amatour computer users where the normal systems just dosent work. Maybe a bigger leap in the differece between home edition and professionel editions of the operating systems could be a good solution. But as someguy said, it is good that the creaters of the operating systems will fix it for us.
LOL. I've been wondering the whole time reading this when someone was going to mention Linux. Yes, it (imho) organises the filesystem in a much better way. Sometimes there is confusion with /bin, /usr/bin and /usr/local/bin but if you need to care about those specific ones you are deffinately classified as a system administrator (or power user at the very least).
As far as I can recall WinFS was supposed to address many of the issues mentioned here, and I've heard people claim that ReiserFS 4 (not yet in mainline Linux distributions) can already do a lot of what is suggested here. I may well be wrong on this though.
Having thinking about, and covering this topic myself recently, I have to disagree.
Besides the fact that the distinction of where the file is stored is immaterial (that is, a disk or nvram won't make a difference from a UI perspective in any sense of the word), a file system is open-ended enough to support any form of organization.
In my own writings, I asserted that the stricter requirements on organization provided by modern-day operating systems is to blame, combined with so much abstraction by the OS to keep users from having to comprehend what the filesystem is for to provide themselves with an organization scheme.
The end result is really chaos - users who have crammed 400-500 documents in the "My Documents" directory and don't understand why that receipt template they wrote in 2000 is so hard to find. If you want to look at an analogue, look at people's non-virtual filing systems: while their collections of books and magazines, and other media might be horribly disorganized, their information on their taxes has efficient organization applied to it that rivals most large corporations.
Why? Because the IRS and any other organization that needs information on their income is going to smack the crap out of them if they don't. In these days when what a computer contains is sometimes more important than paper renditions of the same data, why should people be encouraged to take organization any less seriously?
What's funny is that all these discussions on removing the methods that traditionally make up a filesystem don't even consider backups, access control, or anything beyond the "please spoon feed me" mentality.
I'm not for punishing users by any sense of the word, but actively encouraging people to think less doesn't really help anyone get anything done better or faster. What we really need are systems that make it easier to organize data quickly and effectively, not systems that render organization pointless.
Let me know when spotlight or google desktop search can find all files on the disk that have to do with english class, spring term, 2005, without any messing around with the filesystem or metadata for the files beforehand, as those would constitute standard operations on a file system.
the (non-)distinction between shelf and self has been implemented in *nix relational databases for neigh onto 20 years. it's memory mapped files; generally one for the data, one for the indexes, and one each for before and after images.
that M$, not my friend, wants to implement winFS as database/OS (not really a new technology; AS/400 and predecessors were built just that way) is a recognition that RDBMS really is better XML and its cousins (which are Older and More Primitive Technology).
the IBM mainframe doesn't have a filesystem as PC/Unix users see it. Multics introduced the concept. both it and unix were designed to a word processing (document) paradigm. and thus we have descended into hell (the assertion/assumption that the world is hierarchical). it's not linear, either. but that's for a thread on statistics.
This concept has been considered before in earlier days with simpler file systems - pre windows - and there are inherent problems.
However, a variant approach is the 'black hole' method where files are saved to or dragged onto a virtual drive/icon, similar to the trash can.
This Black Hole is a script driven manager that decides where files are to go based on preference, version, content, time/date, template-fitting, job type, replication/backup etc, effectively removing the manual side of naming and storing files.
The eventual location is still going to be a known destination and folder set for the techies. The user can still use his applications to the read from the Black Hole, which responds in kind to the requesting application, delivering information about files according to most recent date/version info etc, also via preference and scripting. His fall-back position will always be the actual source directory if the BH isn't playing ball for him.
This was drawn up in 1993 but Windows and PCs back then weren't really lending themselves to the kind of storage, object and processing needs that such a concept needs.
There must be enough Linux geeks out there to implement this kind of thing, if nothing else to show that there is something that Linux can do for the common man that Windows doesn't.
Maybe its been done, I don't know.
On the other hand, the geek in me is quite happy that users can be fundamentally clueless about even the simplest of things, as so work is abundant... The man who has worked for 20 years with PCs but still can't pop up a DOS box and enter just one command - I call him "Boss."
I agree with Christian Mogensen above, with regards to the hiding of the filesystem. Ever since I started using Linux, I've been impressed with how compartmentalized everything is. Log files are here, user applications are over there, system applications are in this other place, personal data right there, and config files up here. Linux has a ways to go before it can be considered really user-friendly (though my Ubuntu install is pretty intuitive), but I can see the home folder being one big flat directory where all the documents are stored together. Then a search/tag/AI interface can be built on top of *that*.
This is an extremely interesting discussion and I like reading the various viewpoints.
In real-life I am a disorganized mess. The pile around me builds as I move from one task or project to the next; closest items represent the most current contributions to and components of the most current nightmare; older and less-relevant stuff is underneath or at the fringes. One can easily determine ratio of relevance between mess and project by distance from PC or top of pile. Occasionally my mental OS overloads and I must reboot-- stop all work, reduce the mountain of crap down to a bare desktop and start over.
My PCs and server are a different story. I have a hierarchal storage and retrieval system with meaningful names that is better organized than anything the IRS could imagine (nod and smirk to previous post). In a few clicks I can find documents going back several years on any subject. My PC organization is the envy of my more mortal friends (heh).
On the other hand, my wife is very organized in real life. Before she moves to a new project, she cleans up and puts away the detritus from the last one. My side of the room is chaos; hers is order. I am in awe of this. And yet, on the PC she can't find a document she constantly updates from one day to the next. She can't even find Microsoft Word unless I stick a prominent link to it in the Start menu (actually a link to said document that launches Word). When I began beta testing Office 12, she had a meltdown upon encountering the revamped (and dramaticlaly improved IMO) interface. She balks at using it. I need to remmeber to change the default application launch back to Office 2003 before she does something irreversible to the PC in a fit of pique...
Anyway, any new file system development should take into account the differences between the ways people work. IMO I should be able to select the file system that suits MY working habits, associate it with MY profile, and take comfort in knowing that every application on the system can't work that way, too. Everyone else can do as they please with their own profiles. La de da.
OOps, I erred in the post above: "knowing that every application on the system can't work that way, too" should be "knowing that every application on the system CAN work that way, too"
Interesting idea...but STUPID.
Every time developers try andmake things idiot-proof all they do is create better idiots.
Novice users have already been way too isolated from basic fundamental concepts that they really have no idea what they're doing. He even mentions that many users already are clueless, so his solution is to make them even more clueless tomorrow?
With everything that files entail nowadays, MP3 files, pics of family, web pages, email attachments and how often people want to copy, print, send, share, edit the ideas he has seem unfathomable.
Inevitably every user eventually ends up having to learn what/where/how files are all about when they want to...find a file they downloaded...print a copy of that picture of grandma...copy those cool mp3's to their new widget...send something to a buddy. The harder you make it for them to find, understand and access the more apt they are to get frustrated.
To me the worst crime of recent history to keep new users in the dark was when XP stopped placing the My Computer and Windows Explorer Icons right on the desktop. I bet everyone reading this has been asked to help by a newbie friend or family member to perform a very fundamental task like this and has seen the look of desperation and bewilderment on their face becase the newbie has never been introduced to the basic ideas of what files are, where they go and how to manage them.
Great discussion. There is an answer to all those problems of not finding back documents, laziness of users, etc.
1) Hierachical file structure as a tree is outadated. Nowadays, all the files should be put end to end on the disk, with metadata, and what's the name of this : D-A-T-A-B-A-S-E :-)
2) this "new FS" will be good only if the user is OBLIGED to enter informations. Otherwise, they'll do like in the past, but instead of saving in the default location with basic name, it'll be saving with default content of all the metadata... So we oblige users to fill at least a file name and a few other params. Other ones like date, last revision, keywords, resolution (if image) etc.. will be done automagically by the system.
3) Think of how organized users save their documents. You have main themes (f.ex games, docs, professional..). Then sub-themes (for docs for examples: my mails, my letters, my excels sheets).. Then all sorts of sortings (by author name or albums for MP3s, by genre or year for divx movies). So the new FS have to propose tagging the file with "common" tags (personal or profesional, names of persons the doc is written by or intended to, topics, actors in the movie, etc etc...). each tag will suggest other tags. For example if you add the "movie" tag, it'll suggest you to add the year, actors..
On top of those common tags, let's add "custom" tags for power users.. and we'll get a wonderful DB.
4) We add a support for history of documents
5) We use a visual on-the-fly 3D representation of docs. When you enter, you see boxes with words (one per tag, biggest ones are shown). Click on a box, the room is filled with all the main tags of the docs having the 1st tag, and so on..
6) Downside of this: the sarch engine must be intelligent enough so that if you tagged "music" instead of "mp3" he finds anyway.. AI !!
My 222 cents :-)
Example: MP3, Lagoona, dream = in 3 clicks I got it
2 things. There's a word processor called Yeah Write! (http://www.yeahwrite.com/) which inverts the whole filesystem thing. Instead of requiring you to enter a filename, the program saves the file constantly. You can't lose a keystroke. The interface is that of a filing cabinet. You click on a drawer and the drawer opens. The open drawers has a series of tabs, each identifying a different kind of document eg. journal, memo, letter etc. You click on a tab and start writing your document. Since you never have to save it, you don't need to worry about filenames. The first line you write becomes the 'tag' or filename internally.
You organise your files by creating new drawers.
I'm not sure if you can create new templates or if you have to buy them.
Yeah Write! isn't perfect, but it is different and very easy to use. In fact, it's hard to misuse.
It incorporates some of the ideas discussed here, except for version control and search.
My ideal filesystem would automatically keep versions of all documents. The last one saved would be the current one, of course, but you should be able to pull any version and make it current.
The post above with the 'find' command, wasn't really being facetious. It's more that sometimes a command can cut through all the bullshit more quickly than a GUI widget.
I agree that the computer should do more work for us. It "knows" its limitations better than us. More work needs to be done on making computers aware of themselves.
I've often thought that computers should introduce their capabilities to the user. "This is what I know how to do. Out of that list, what do you want?" Icons help, but icons require the user to understand what the icon means first. The user must also understand the concept of icons. Sometimes a simple menu works much better.
On the AS/400 system, every screen has a complete help system behind it. I know green screens have gone out of fashion nowadays but it was very hard to get lost on an AS/400. It was so customizable.
I always want a computer to learn how I work, and set things up for me. I shouldn't have to do things twice. It should have monitored what I did the first time and automatically created a path or menu or workplace or whatever to make that available to me the second time.
So it should know if I write a letter and then run spellcheck, the next thing I want to do, is to print. If I do it five times in the same sequence, it should know that I'll do it again. Why not? What else is it doing while it's waiting for me to finish the letter?
If a guy pulls up the same spreadsheet every morning, it should just pull up the spreadsheet the first time the mouse is moved. If he does email first, bang! email first.
File saving and searching has changed dramatically because of Google Search and Windows Desktop Search. Simply put the file name has less and less relevance when the file content itself is indexable and fully searchable. I no longer care what my file name is or even what type of file it is.
I only care about the contents whether that happens to be data or the metadata ... although someone still needs to solve the issue of video and picture tagging.
One more point ... FileSystems are not just storage locations. They also serve as metadata for related items. That is, one could have a C# project, several supporting documents, visio files etc, all with data that is related but the relationship may not include relatable keywords. Well in this scenario I would still like to associate these file with each other.
I could do it through tags within the documents but why would I when I could put them in a folder structure that implies that they are related.
Folders and files are good, I think our problem is searching, and searching by file name is dead!
Very good discussion.
I recently started using a writing project management tool called Scrivener (LiteratureAndLatte.com). It auto-saves when the keyboard is idle for more than 2 seconds, a great feature which stopped me from losing data. This is only a great feature because Scrivener ALSO does many levels of undo. (Writers often make changes and then decide the original version was better. Auto-save without multiple undo is worse than no auto-save.) Scrivener can also snapshot files, so you can save a version, do days of changes, and then grab content from the original if you need it.
Scrivener eliminates the necessity of having filenames by keeping documents for a project inside a "project binder" (actually a folder). You can thus have an idea, create a new document to write it down, and NOT name the document. I had no idea how onerous creating filenames was until I stopped having to do it. In other programs I will sometimes postpone saving my work because doing so would require breaking my flow of ideas to create a $#% filename. And if I use the default filename, I have to go back and fix it later.
Another great Scrivener feature is the ability to do a search, then chain all the relevant documents together into one long document to skim through the contents.
As a writer, I love the idea of being able to search by content. In real life outside of Scrivener, it hasn't worked so well. Until recently, I kept incremental backups of projects I was working on in my Documents folder. Since I've owned a Mac since 1987, the eventual result was a folder with over 300,000 files in it, most of which were incremental backups of OTHER files. This made content searching virtually useless. (Imagine you googled something and got 300 hits of different versions of the same Wikipedia page. Ack!) Instead, I relied on filenames.
But filenames and folders suck, for a lot of reasons people described above. Even with aliases, it is unnecessarily difficult to have a given document grouped with other documents of project A, and also with other documents of project B, and also with other reference documents on the same subject.
I like the database-with-tags idea a lot. To work for me, it would need an automated way to search ONLY for the most-recent version unless it either doesn't find the wanted tags in the current version, or I include older versions in the search.
I also do psychological research that involves perceptions and strategies. People think about and interact with technology using widely varied strategies and mental models. Based on their information processing style, strategies, and mental models, people need different interfaces to make sense of information. Think multiple intelligences. For instance, some people need to SEE files to remember them, whereas others can tuck them away in folders and simply remember that the folders or the categories they represent exist.
Think of a physical desk. Some people organize a desk by piling stuff on it, some by filing everything away and having a minimum of stuff on the surface, some by sorting stuff into pigeonholes, and so on. The desk provides a work surface, but doesn't require the user to use it in a certain way. A desk that REQUIRED piling, or filing, or pigeonholing, or handing everything to a secretary for them to deal with, would suck for every user that didn't use that exact working style. And also for users that DID use that style most of the time, but occasionally need to do something else.
Computer interfaces need to be like the desk, and provide a variety of interaction options, EACH of which is simple, comprehensible, and easy to use. I think we're a few years away from that, though... ;-)
While i have read "about face" and completely understand that hdd's are a hack and not part of the best implementation for a computer i tend to disagree with the "hide it from users" paradigm, of course some information should be hidden but the file system is very simple to understand, most 10 year old children have an understanding of how it works. What's needed until the current file system is replaced is better training, i have found many people who work in an office eight hours a day have no concept of what a file or folder is but a few hours training would explain it adequately and if a user is unable to understand such a simple concept after that they have no business being anywhere near a computer in the first place.
I mean really it's not rocket science, files go in folders which you can make rename and delete and when you open something you are opening a copy and it is a copy till you save it. is it really worth catering to people who can't understand this.
The problem is not with the file system but with the users. Unfortunately, many users simply do not spend adequate time learning how to navigate and utilize the file system. I don't think we should compensate for thier shortcoming(s). A file system definately has its place on the personal computer, whether it be the current model (which is somewhat old) or a new design. How much an application wants to abstract the file system is an individual/team choice. Certainly, most users have no concept to what it is. Searchable content has always been a problem which some companies are attempting to solve with products that abstract out the file system.
Most people just surf the web and do email, in those cases, I think an appliance without a file system or a hybrid system would be a better choice (not a PC) for them, but we shove computers packed with bloatware down thier throat at Circuit City, Best Buy, etc. A simpler device would serve the masses in a better capacity.
Hierarchical data in many folders is faster to find than just loads of linear data in one folder. This is logical and it is commonly used in search algorithms. One problem I have come across is when I have lots of files, versions, updates and patches, scripts, config-files, scrap folders, work folders and so on for ever. Then I do not remember what was the hierarchical ordering system I was using and how was it applied to folder structures and files. Also I am not sure, if this structure is applied into all parts of my folder structures. From time to time I find better ways to organize files, but there are lots of previous files and their copies. Now, I could write up the organization method. Then when I change it, I would have to manually restructure all my folders and files. Maybe future operating systems could help me in that work so that it keeps record of the organizing algorithm that I have created. The OS could also apply it to the folders on command when I change the algorithm. Also the file system should be able to be locked according to MyFolderPlan v 3.4 so that the folders stay clean and organized.