Why files exist

“Whenever there is a conversation about the future of computing, is discussion inevitably turns to the notion of a ‘File’. After all, most tablets and phones don’t show the user anything that resembles a file, only Apps that contain their own content, tucked away inside their own opaque storage structure. This is wrong. Files are abstraction layers around content that are necessary for interoperability. Without the notion of a File or other similar shared content abstraction, the ability to use different applications with the same information grinds to a halt, which hampers innovation and user experience.” Aside from the fact that a file manager for Android is just a click away, and aside from the fact that Android’s share menu addresses many of these concerns, his point still stands: files are not an outdated, archaic concept. One of my biggest gripes with iOS is just how user-hostile the operating system it when it comes to getting stuff – whatever stuff – to and from the device.

About The Author

123 Comments

File abstraction is an odd thing. Just because it is in a file doesn’t mean that it is interoperable between applications. Frankly once it is in a file it can be accessed outside the scope of the application. You may only want an application to see portions of the data from another application.

One interesting example is Facebook which has a mechanism from the web, IOS, and Android to allow the user to grant certain information to be shared to specified application. This mechanism gives the user more control over their data than simply having it in a XML file where any application running with your ACL can access it.

“… in every user interface study we’ve ever done [â€¦], [we found] it’s pretty easy to learn how to use these things ’til you hit the file system and then the learning curve goes vertical. So you ask yourself, why is the file system the face of the OS? Wouldn’t it be better if there was a better way to find stuff?”

-Steve Jobs

Exactly! Thus, wouldn’t it be better to teach Ebonics and end public education at the sixth grade? — much less of a learning curve!

It is difficult to understand how people can idolize someone who promotes such moronic notions. Files and directories are fundamental to computers, and hiding such a basic organizational model from the end users only makes them utterly helpless and ignorant. Such a complete reliance on software to find and organize everything on a computer really wastes more time in the long run and causes much more frustration when any problems occur.

And, really, it is needless to hide the file hierarchy system, because there is hardly any “learning curve’ — any child or elderly person can grasp the concept of files and directories within about five minutes.

Files aren’t fundamental to computers at all. Fies are a manifestation of human requirement for orderly storage of data. If you look at the physical file system on most OS, files are never stored exactly as you see them in your file manager. A computer file system doesn’t give a toss that blocks of data thought of as a contiguous file in the human world, so long as it can be retrieved when required, thats all that matters.

But a Filesystem is an entirely human solution to the problem of data storage. Storing data does not *require* a file system. This is the leap you are making, and you are wrong. File systems only suit those systems that want to expose data storage to a human. Hierarchical file systems even more so. Look at the way Palm did it with Palm OS. There was no file system, all “files” we’re actually databases of resources, these lived in memory and were directly edited, not cached. The original Mac had a file system, but what you saw was only half the picture. Again, a file was forked, had a data fork and a resource fork and OFS had no hierarchical notions at all.

The whole notion of files and storage comes from the original sequential storage on magnetic tape. Where there was no option but to store as a single block of data.

Also, to address your claims about fragmentation – nice try. No, look at the physical storage on a hard drive at an inode level. It’s rare for an entire file to be a contiguous block of inodes. Depends on the file system dynamics, but a file could be split across multiple sectors quite easily. Especially something larger than a few hundred megabytes.

Go read a book. The Domonic Giampaolo one is a free download. Google it.

But a Filesystem is an entirely human solution to the problem of data storage. Storing data does not *require* a file system. This is the leap you are making, and you are wrong. File systems only suit those systems that want to expose data storage to a human.

No. File systems primarily exist to allow both humans and computers to safely and effectively deal with large, complex groups of data and code.

You are correct, that storing data does not require a file system. Most hand calculators store computation data between each entry.

However, it wouldn’t be wise to try storing a large amount of complex data without files, such as one needs when (for instance) digitally editing a feature film. One static electrical discharge (or other data corruption) and ZAPP! — there goes your entire project and all the hours you worked down the drain. Plus, without files, how would you store (and transfer from the camera) all of the gigabytes of the many takes of footage?

Hierarchical file systems even more so. Look at the way Palm did it with Palm OS. There was no file system, all “files” we’re actually databases of resources, these lived in memory and were directly edited, not cached.

My phone uses Palm OS, and I guarantee that it uses a file system, with actual files that can be stored on mini SD cards.

The original Mac had a file system, but what you saw was only half the picture. Again, a file was forked, had a data fork and a resource fork and OFS had no hierarchical notions at all.

The whole notion of files and storage comes from the original sequential storage on magnetic tape. Where there was no option but to store as a single block of data.

No. Punch cards and punch tape were storage, too.

Storage in files and directories became a necessity once data and programs got too big and complex.

Also, to address your claims about fragmentation – nice try. No, look at the physical storage on a hard drive at an inode level. It’s rare for an entire file to be a contiguous block of inodes. Depends on the file system dynamics, but a file could be split across multiple sectors quite easily. Especially something larger than a few hundred megabytes.

Not that it matters to our discussion, but it certainly is not rare for an entire file to in a contiguous block of inodes. This contiguous state is often found when a drive first sees use.

Furthermore, give me a blank drive and when I copy into it the entire contents of another drive, almost all of the files will be contiguous.

No. File systems primarily exist to allow both humans and computers to safely and effectively deal with large, complex groups of data and code.

You are correct, that storing data does not require a file system. Most hand calculators store computation data between each entry.

However, it wouldn’t be wise to try storing a large amount of complex data without files, such as one needs when (for instance) digitally editing a feature film. One static electrical discharge (or other data corruption) and ZAPP! — there goes your entire project and all the hours you worked down the drain. Plus, without files, how would you store (and transfer from the camera) all of the gigabytes of the many takes of footage?

“Storing data does not *require* a file system. This is the leap you are making, and you are wrong. File systems only suit those systems that want to expose data storage to a human. Hierarchical file systems even more so. Look at the way Palm did it with Palm OS. There was no file system, all ‘files’ we’re actually databases of resources”

Why is everyone nitpicking the terminology? Frankly I don’t care if you want to call it “files” or “content”, “directories” or “folders” or “drawers”. “File system” or “database” or “repository”… call it whatever you will, I don’t care about that and I doubt tupp does either. It’s not the terminology that’s important, it’s the ability to separate/organise things to keep them them from becoming a jumbled mess containing everything.

From a typical user perspective, why should one care if documents reside in a “file system” or in a “database” (pedantic note: a file system IS in fact a kind of database)… Users should be completely oblivious to the inner workings of the OS. You surely agree here, so what is it about hierarchical organisation that’s putting you and others off? It’s illogical to argue that hierarchies are bad for uses on account of the fact operating systems also use them internally.

From a typical user perspective, why should one care if documents reside in a “file system” or in a “database” (pedantic note: a file system IS in fact a kind of database)…

The problem here, at least to me, its that afirmation of a filesystem IS in fact a kind of database.

The problem is not filesystem, the problem is the hierarchical filesystem from 50 years ago.

A filesystem can be hierarchical OR it can be a database filesystem. Its still a filesystem, but with a very different way of approach to organize things.

What i really hate is this hierarchical filesystem that exists today.

Arguing that files are important is like arguing in a company that a document ( specific piece of paper on a drawer ) is important when you have the original content and you can print it anytime you want.

What is important is the content. I guess people here may be misunderstanding one another. Because what specifies today a “content” on unix today is a file. ( good ) …. but the old one folder has many files hierarchical filesystem is problematic ( bad ).

Then we have to use tools like git , databases , tracker for gnome / strigi for kde , ID3 tags for music ….. this just so that we know what that “content” ( file ) means.

Of course, iOS must be a system that really hates when you take content out … or content out of Apple environment. That is very bad … but if it by file sending , by email … by whatever … dont really care : Just give me the content.

And my content … dont let it be something that just indicates to the computer the inodes that it uses on the harddrive. Let me save it in a way i understand and organize things.

In the end of the day … even if i had that … i would call it a .. FILE !

Sorry I wasn’t clear, One of the early prototypes at Apple before Steve took control of it.

From the book itself.

even deeper locked-in idea is the notion of the file. Once upon a time, not too long ago, plenty of computer scientists thought the idea of the file was not so great.

World Wide Web, Ted Nelsonâ€™s Xanadu, conceived of one giant, global file, for instance. The first iteration of the Macintosh, which never shipped, didnâ€™t have files. Instead, the whole of a userâ€™s productivity accumulated in one big structure, sort of like a singular personal web page. Steve Jobs took the Mac project over from the fellow who started it, the late Jef Raskin, and soon files appeared. UNIX had files; the Mac as it shipped had files; Windows had files. Files are now part of life; we teach the idea of a file to computer science students as if it were part of nature. In fact, our conception of files may be more persistent than our ideas about nature. I can imagine that someday physicists might tell us that it is time to stop believing in photons, because they have discovered a better way to think about lightâ€”but the file will likely live on.

The file is a set of philosophical ideas made into eternal flesh. The ideas expressed by the file include the notion that human expression comes in severable chunks that can be organized as leaves on an abstract treeâ€” and that the chunks have versions and need to be matched to compatible applications. What do files mean to the future of human expression? This is a harder question to answer than the question â€œHow does the English language influence the thoughts of native English speakers?â€ At least you can compare English speakers to Chinese speakers, but files are universal. The idea of the file has become so big that we are unable to conceive of a frame large enough to fit around it in order to assess it empirically.

Lanier, Jaron (2010-01-18). You Are Not A Gadget: A Manifesto (p. 13). Penguin UK. Kindle Edition.

The second are I have highlighted is the exact mental trap that you are falling into.

Sorry I wasn’t clear, One of the early prototypes at Apple before Steve took control of it.

This description sounds like prototype which had the sole purpose of merely demoing Apple’s version of the Xerox/3-rivers GUI. The file and folder icons were there (just like the Alto and Perq), but there was no content, hence, it had no “files.” The intention for the actual OS was to eventually have a file system.

From the book itself.

Sounds like a fundamentalist about to quote scripture.

The text that you quoted and highlighted is B.S.

Also, why don’t you come up with some original thought, instead of quoting someone else’s conjecture?

Way to the miss the point about how certain existing ideas make you only think in terms of those ideas and disregard other ways of thinking.

Well you are clearly not able to think higher order or laterally.

There are some very abstract ideas that you are unwilling to accept. Also between you and the book’s author I am willing to take his ideas over yours as he was a virtual reality pioneer and I doubt you have done anything novel of note.

You kept on dancing about the fact that a file is still a human made concept that is still stuck with the following analogies

hardrive == cabinets

partitions == drawers

directories == manilla envelopes and similar

files == documents.

It not about pragmatism, you keep on missing the point to the point it seems intentional.

I quoted the book because it talks about these limiting ideas, however you said it was bullshit when I frankly do not agree and quite a few others I have spoken about the subject think it is something to at least “think about”.

You kept on dancing about the fact that a file is still a human made concept that is still stuck with the following analogies

hardrive == cabinets

partitions == drawers

directories == manilla envelopes and similar

files == documents.

The file is a “human-made” concept. Likewise, a computer lacking a file system is a “human-made” concept.

All the analogies that you listed are valid.

So, what? What exactly is your point in that regard?

It not about pragmatism, you keep on missing the point to the point it seems intentional.

Please state the point — precisely.

I quoted the book because it talks about these limiting ideas, however you said it was bullshit when I frankly do not agree and quite a few others I have spoken about the subject think it is something to at least “think about”.

Okay. So you imply that files and directories are limiting. Please state exactly how they are limiting, and please propose a specific alternative. You can quote from a book, but it needs to say something specific and relevant.

Nothing is limiting anyone from explaining the operation of a non-linear video editor that doesn’t use files. I still openly await such an explanation.

You appear to be arguing about metadata and its use in finding a desired file.

The file explorer lets a user gain access to any file on the filesystem provided they know how to traverse it. If you had a relational database, that would not necessarily make it easier for the lay person to access the file(“data”, content, the actual important bit of stuff) that you the user are trying to access in all cases. The limits placed by the file system can help the user provided they are exposed to the filesystem. This article is talking about the design of apps hiding all the meta-information that allows you to find the data you are looking for and not providing an easy way to get access to them for use by other applications. This is app centric vs. file centric design. I much prefer file centric so that I know where my MP3s are so that when it comes time to backup data or have them used by another application, I know the metadata or directory that the data is associated with. Are you able to easily find any data using your file explorer or must you use the app? It’s all perspective and which mental mapping best suits a situation and/or person. BFS had a nice blend of having a hierarchical filesystem but also allowing arbitrary attributes to be added to specific files and have these indexed for fast queries. This allowed different apps to access the same data by having a global store for most of the generic, not app specific metadata such as time duration, bpm, artist, etc … of a sound file. The names of the persons in a photo or its location. The date, sender, etc… of an e-mail. All the stuff that would be tracked by a relational database. A big problem is that the metadata is usually not transferrable between apps and the way to access the metadata that is needed to find a file is that app itself. The iOS app design being discussed is that apps have their own databases that have the information which would be best stored with the file in a global fashion. Try going through an iPhoto library via the explorer to find a specific picture. It’s like going into a messy professor’s office to find a specific document. Unfortunately, the mental map, metadata, indicating where that document is, is only in the professor’s head. He knows exactly where the document would be. But, you, not having his way of thinking cannot find it. If you went into an organized person’s office and were trying to find a document, there may be an easy to understand way to categorize the document so that it is easier to find.

The hierarchical filesystem is trying to be the organized person. The relations are simple and categorical to try to foster easy access to the data. But, the single categorization does not always apply to everything. Maybe the property an item is organized by is subjective or not very precise. Things can break down rather quickly.

I would prefer to have the hierarchical file system with the option of adding arbitrary attributes that are accessible by all apps rather than just a single one. For the cases where I can most easily use the file system, that would be the mode of interaction. For the cases where a query is more appropriate, that would be preferred. Neither is perfect in all situations. However, the concept of the file itself is needed to allow applications to share data easily.

“I would prefer to have the hierarchical file system with the option of adding arbitrary attributes that are accessible by all apps rather than just a single one. For the cases where I can most easily use the file system, that would be the mode of interaction. For the cases where a query is more appropriate, that would be preferred. Neither is perfect in all situations. However, the concept of the file itself is needed to allow applications to share data easily.”

Yes yes yes! I don’t get why this is even being debated. It is a win-win for everyone. If somebody wants to use exclusively meta-data, then nobody’s stopping them. But why declare that users shouldn’t have folders if that’s what fits their needs?

We need filesystems combined with standardized OS metadata facilities to make them both an integral part of the operating system environment as well as applications. Meta data saved in one app should carry over to other apps. We need an archival standard that allows meta data to be sent over to other users as well. Metadata should be indexed and instantly searchable.

The first version of the Macintosh didn’t have the concept of files at all.

Of course it had files. I used one. What do you think you put in the “trash can?”

I think he may be referring to early prototypes of the Macintosh when Jef Raskin was still on the team. I recall a story conveying that Jobs didn’t like Raskin’s interface ideas very much, including a “document-centric” approach (as opposed to file/application-centric) and easily learned keyboard commands in place of a mouse.

If one looks at the Canon Cat, one gets an idea of a system in which the file structure is made irrelevant to the user in favor of a different, document-centric approach. The Etoile project is also aiming at a document-centric environment, as I understand it, but will also have utilities for exporting your work as files.

All of this is really only tangentially related to the linked article, which seems to be more about apps locking in your data in annoying ways. A document-centric system needn’t make it impossible to extract and move your data around different “apps.”

All this said, I like the “Unix way” of “everything is a file” for the transparency it provides. I also like the document-centric design philosophy for its kindness to the mind when one just wants to work on documents, graphics. The great both/and principle…

No. They are fundamental to the user in the first place. Files are an abstraction of organization criteria (such as directories), carrying meanings such as carrying information or containing a hierarchy.

But you validly can do more with files than just see them as a means to access stored data. Files are also means to access hardware infrastructures, such as the device files in UNIX: Writing to a port takes nothing more than writing to a file. Using this abstraction method, even “mounting a network” is possible as shown in Plan 9. That way, files can be seen as an abstraction of hardware, a means of the OS to access resources and address functionalities.

The concept of files is present on nearly all kinds of computers, even though the practical implementation at file system level is quite different and usually not portable (as the content of the files, generated by programs, is often also not portable). Still this concept of files and directories, even if they have other names (e. g. datasets and libraries) can be found everywhere. Put a UNIX guy infront of a z/OS mainframe or an AS/400 interface – he will quickly see the similarities, even though there might be a “database file system” responsible for actually storing and retrieving the data. Then take a z/OS hacker and put him infront of a KDE session. Even though he sees a graphical representation, he will conclude what files and directories are. No big deal you say? Try the same with any output of our “modern” educational system. 🙂

[…] and hiding such a basic organizational model from the end users only makes them utterly helpless and ignorant.

What you describe here is a resonance effect: Today’s users are hardly able to figure out the concept of files and directories, as they do not use them. They even don’t use programs, let alone an operating system. They “do stuff” – and that’s it. OS, programs and files are just means to get stuff done, but “the authorities” (advertising, education, commerce) tell them that it’s not needed to know anything to utilize a computer to get stuff done.

Of course, those who first learn those basics are highly superior to those who rely on a pre-chewed widget wizard with magical charms that finds their stuff when they need it. You can see that in reality where “professional” secretaries “organize” the company’s correspondence in files like “Letter 1.doc”, “Letter1.doc”, “letter 1(a).doc”, ” letter2.doc”, “letter 3 .doc” and so on. Of course, finding information within such a mess is more complicated and more time consuming than utilizing the concept of files and directories in the first place. Those candidates also store the companies e-mail in the Inbox (which grows to over 100,000 messages locally stored, without any backup). Trust me, I’ve seen it. It hurts.

Files confuse the average user. Directories confuse them even more. Don’t try to change (or improve) things, this also confuses them.

Di I sound impolite? I hope I don’t, because it’s not meant to be a harsh unjustified statement, it’s just based on my individual observations. That’s why I say “average users”, because novice users have the chance to learn and leverage the concept of files for their benefit. But that learning has to be done at the beginning of an “IT career” (and because IT is ubiquituous, for nearly everyone’s career).

As you said, files basically are a model to the user. Learning a model and not confusing it with reality takes some prequisites: the ability to see the difference between them, on many levels (language level, visual representation level): the icon is not the file, the file is not the actual content of the file. Dealing with a model requires the presence of the concept of abstraction, something representing something else. The same way this concept is used on OS level (file /dev/console represents the system console), the user can utilize the concepts to increase comfortability, productivity, speed and security when using a computer.

Depending on file systems and their features, “plain files” may even be limited. Document management systems allow “tagging” of data (not represented as files anymore – they might be files, but they can also be binary blobs within a large database file). Even though it sounds complicated, it can be implemented easily by any half-baked Linux hacker using “plain files” and a few tricks.

You are surely familiar with “enterprise” document manangement systems. They use files “in a hidden way”, and claim to care for everything. As long as it works, it’s a real benefit for those who cannot understand the concept of files and directories. The “fun” starts when it stops working. Maybe you end up with a 2 TB proprietary binary blob database, with no chance to get your data out of it.

Such a complete reliance on software to find and organize everything on a computer really wastes more time in the long run and causes much more frustration when any problems occur.

True, but the average user has been taught to think: “The computer will do it.” Maybe you can remember the times when DOS had file names in the 8.3 manner, and other operating systems (much older, see mainframe era) also had restrictions in what you could put into a file name. At this time, people were able to organize their stuff even within that very limited environment. Some of them even knew their files “by name”.

But today, dealing with “bare metal abilities” is highly discouraged (by “the authorities”) and more and more made impossible by the software manufacturers. The more advanced, yet simplified the interfaces for interacting become, the more the file concept steps into the background, even though it might still be present at the bottom level, hidden and locked.

And, really, it is needless to hide the file hierarchy system, because there is hardly any “learning curve’ — any child or elderly person can grasp the concept of files and directories within about five minutes.

That might have been correct 20 years ago, but sadly, this is not the truth anymore. While “unspoiled” young people actually have the chance to learn this, the majority seems to be learning-resistent and memory-freed.

Moving within this concept requires a kind of “language”, to name files and directories. There’s typically a grammar based on the file system way of doing things, and vocabulary to be supplied by the user (the actual file names and directory organisation to be created). Expecting the “point & grunt” generations to learn that language is something hard to consider. And if those knowledge is not present, the whole concept of files cannot be adopted as a tool to do something (because it is “only” that – it can be a powerful tool if applied properly, and a pain in the ass if not). Educated decisions are often helpful, again something that is hard to consider for the discussed audience.

I want to say: There’s nothing wrong with files per se. They are intended to be used by a certain audience with specific needs and present knowledge. But they aren’t for everyone. Those who cannot use them will have to deal with whatever kind of “desktop search” (extend it to remote services, social networks and the cloud) to find what they’re searching for.

In order to gain market share (which is the main purpose of innovation, as it seems), you need to hide all “unneccessary” elements. If you don’t do it, your product will be regarded “too complicated”, because it deals with files and directories and transitions their use to the user, instead of “protecting” him from all that “annoying” stuff.

That might have been correct 20 years ago, but sadly, this is not the truth anymore. While “unspoiled” young people actually have the chance to learn this, the majority seems to be learning-resistent and memory-freed.

I’ll bet you USD$1000 that I can pick any normal youth from 10-17 and teach them within 20 minutes where to find a file in a directory hierarchy.

I’ll bet you USD$1000 that I can pick any normal youth from 10-17 and teach them within 20 minutes where to find a file in a directory hierarchy.

I’d be happy to supply you with a German of “generation smartphone” and see how you do. Then let’s check what has been kept in memory two weeks later. 🙂

I don’t want to argue that it’s possible to teach those knowledge (with some work), but obtaining that knowledge by oneself is more and more the exception here. From my own experience, I have certain “favourite candidates” who need constant teaching of where they did store their offers and invoices. We’re talking about adults obviously. Maybe the situation is not that bad in the lower age area, and maybe even less desillusional outside Germany.

Still: “What should I learn this for? I don’t need it! The PC does all by itself!” 🙂

I’d be happy to supply you with a German of “generation smartphone” and see how you do. Then let’s check what has been kept in memory two weeks later. 🙂

Has to be English speaking kids — I don’t speak German.

Oh, that might be the next problem: English is such a no-go in IT meanwhile. English error message? Pure confusion! But it’s “hip” and “clever” to use pseudoanglicisms and wrong translations. I don’t even talk about the growing inability to use the own native language properly… 🙂

We will check two weeks later to see if they can perform the same file managing tasks, without help from me.

What do you say?

I say this ability is lost if it isn’t practiced regularly. Things only stay in memory when used for a specific time. I just wanted to suggest this imaginary experiment to show how futile it is to teach anything to the “generation smartphone”.

In fact, I have worked with kids (education and psychology) and they are smarter than their “professional counterparts” occupying precious workplaces they aren’t qualified for. Children don’t have massive problems learning, trying and exploring new things and concepts. Adults are much more comfortable with what they “know” (even if it’s not even enough to get their paid job done). The development of the brain (seen from a neurological and psychological point of view) might have its effects here.

There’s a famous saying: “Was HÃ¤nschen nicht lernt, lernt Hans nimmermehr.” (what little Hans doesn’t learn, that Hans will learn nevermore) So if you introduce concepts like files and directories very early, maybe showing different representations (e. g. on Mac OS X, on KDE, on the command line) and encourage kids to actively use this, whatever stuff they do with the PC, it’s a good chance to provide them a fundament which makes them superior in later jobs to those who did not have this kind of education.

No. They are fundamental to the user in the first place. Files are an abstraction of organization criteria (such as directories), carrying meanings such as carrying information or containing a hierarchy.

Of course, files are fundamental to computers. The file system sees the “abstraction” and uses it — that is very, very basic to almost every operating system.

The OS uses those files, too.

Today’s users are hardly able to figure out the concept of files and directories, as they do not use them.

Of course, today’s users use files — they are often just “hidden” from them (for their own protection).

They even don’t use programs, let alone an operating system. They “do stuff” – and that’s it.

Of course, they use programs — they are just too utterly ignorant to realize that they do.

The preponderance of people who don’t realize that they are using files and programs is the precise problem about which I am arguing! These are such basic simple and fundamental concepts that anyone could learn in five minutes, and then they would not be so helpless.

Outfits such as Apple, Microsoft and Gnome encourage such helplessness.

True, but the average user has been taught to think: “The computer will do it.”

Yes! And that’s WRONG! It only takes a few minutes to learn the basics, but it helps SO much.

Of course, files are fundamental to computers. The file system sees the “abstraction” and uses it — that is very, very basic to almost every operating system.

The OS uses those files, too.

Maybe I did a bad expression. Of course you’re right characterizing files as a common means of the OS to access data and address functionalities. This tradition of abstraction is present for many decades of computing now.

Of course, today’s users use files — they are often just “hidden” from them (for their own protection).

That doesn’t relativate their lack of recognition what they do, and that’s why they cannot use the concept imminent to files to boost what they’re doing.

They even don’t use programs, let alone an operating system. They “do stuff” – and that’s it.

Of course, they use programs — they are just too utterly ignorant to realize that they do.

It’s primarily a question of terminology. They don’t use programs like “I start Firefox to go to Facebook”; it’s rather “I visit my friends.” The concept of files and programs is not present in average IT-related conversations anymore. Abstraction and simplification has had this effect.

GUI representation (hiding files and changing interactions, e. g. by a task-centric interface vs. an object-centric interface) also has this effect.

The preponderance of people who don’t realize that they are using files and programs is the precise problem about which I am arguing! These are such basic simple and fundamental concepts that anyone could learn in five minutes, and then they would not be so helpless.

Yes, I fully agree. It doesn’t take much to learn that concepts, but many are actively refusing to learn anything (because “the authorities” told them there’s no need to), and those “special candidates” need constant handholding and help getting their stuff done.

Outfits such as Apple, Microsoft and Gnome encourage such helplessness.

Not neccessarily. As I described, the file and directory concepts are still in there, and if you know them, you’ll recognize them. That’s so great about abstractions: They are familiar even though the current implementation might be different, both at file system level and within a GUI. Users who know the power of file names and hierarchical directories can utilize this idea even within a Gnome environment.

Those environments can also be used even to teach the concept. As I said, it doesn’t depend on a specific implementation or interface.

Well. I’m willing to bet that Jobs once again was bending the truth a little. The fact is, once people learn to use files, they get far more powerful and difficult to control. It makes it harder to sell another app for every simple operation.

Disagree entirely. As much as I also think it would be nice for people to take the time to learn this stuff, it’s hardly critical in life. A proper educational foundation gives you technology independent valuable timeless life skills. Such as reading good (sic) or being able to solve algebra problems (Or indeed being able to speak like someone who has read a book at some point in their lives.)

The vast vast vast majority of people using computers now really don’t understand their file system well. Maybe you hang out with far more intelligent people than me, but I’ve hit a mental brick wall when I start explaining the file system to people (usually the elderly, kids are good at grasping new ideas). It’s glazed eyes and vacant smiles all the way.

If Apple (or anyone else) can provide a useful computing tool that removes the need to express the file systems in the traditional way then why not.

How many people understand that exposure is a combination of aperture and shutter speed? They still take pictures just fine though. I’m vaguely aware about how my car works – you put the expensive fluid in the hole and turn the key. At one in point in time, it was necessary to know a lot more about it if you wanted to own a car.

Files and folders aren’t fundamental to computers. Computers are simply computation engines that take input and produce output. Files and folders are merely a useful abstraction but kludgy abstraction for input. I personally welcome a better solution because finding things on my fs is a pain even though I’m anal about organization.

I read a lot of scanlation Manga. I get this on my iPad with no external data transfer. In the old days, I had to use iTunes etc, but now I do this:

1) open iCab, download file.

2) select file when downloaded, rename from xxxx.zip to xxxx.cbz

3) select file and “open in”

4) select comicbooklover in menu (I have at least 5 options here)

6) open file, read, enjoy.

I listen to a lot of podcasts. How do I do this without iTunes? I use Downcast, though the Podcasts app can also do this now.

Music – iTunes match. I simply match my music collection once. Apple upgrades my shitty MP3’s I got from grey sources to iTunes quality. I then select what I want on the device whenever and wherever I like.

I edit an office doc on my iPad. iCloud syncs it. I grab it from iCloud at work.

My iPad backs up to iCloud automatically.

I’m not really sure what else I’m desperately trying to get on or off my iPad. Video? Sits in iCab or Dropbox. “opens in” VLC. Errr… There isn’t anything really. Movies and pictures go to camera roll, projects go to iCloud or at a push I use the iTunes file transfer. It’s rare though.

There’s a bit of a problem with your example here. You do need to know about files to accomplish this. Else, how would you know to rename the extension from .zip to .cbz? You may not need external data transfer but, if you had no idea how files and their extensions worked, you would not be able to do this. Not only would you not be able to know what to rename the file to, but you wouldn’t even have a concept of renaming that file’s extension if you were ignorant of how files worked. Hell, you wouldn’t even have the concept of downloading in a web browser and transferring to a local application if you didn’t know about files. This is why files are so fundamentally important, and must be learned by all who use computers. Even if most applications don’t make you deal with a file directly, you will inevitably find times when you must deal with them.

The problem with files is that they are too low-level. Quite often they are not the “user shareable thing”, but guts of the application exposed to a daylight. Users don’t care about files. They want photos, songs, videos, letters, whatever. They don’t care if a video with subtitles is two files or one. And most people are not capable of organizing their files into sensible hierarchies. So while I’m a file format geek myself, I’m all for hiding files behind a higher-level abstraction, that’s uniformly taggable, searchable (by metadata, not just “file name”), annotateable and viewable without a deep knowledge about the program that produced each one. Sure, standard file formats must exist and all programs should be given access to files (subject to user controllable access policies), so that it’s possible to share stuff between apps; but just exposing files to the user doesn’t solve the interoperability problem anyway.

Children do not care to learn reading, writing and arithmetic, but we teach them anyway, so that they are not helpless and utterly ignorant. It takes less than five minutes to teach someone the meaning and hierarchy of files, directories.

They want photos, songs, videos, letters, whatever.

Yes. They want their files.

And most people are not capable of organizing their files into sensible hierarchies.

That is because they didn’t take five minutes to learn about files and directories.

It takes less than five minutes to teach someone the meaning and hierarchy of files, directories.

Oh sure, it takes much less than a minute to explain what file and directory are, unless you’re using Unix command line to do this. The problem isn’t knowing what they are, the problem is using them. Humans are not very good at generating and memorizing hundreds of names. It’s hard to organize random stuff into hierarchies (where do I put photos from a 2011 friends’ wedding — 2011, Friends, Weddings?) — which is why, for example, tags are wildly popular on the web — first web catalogs tried to use hierarchies. Most email clients support either tags or virtual folders that allow many to many relationship between files and directories.

Have you ever tried to manage a big photo archive, or music archive, or video archive? Pretty much the only way is to automatically rename/move files based on metadata, usually keeping metadata in some database for quick access. At this point files and directories cease to have any useful purpose.

What I’m saying is that OS should provide standard services for managing contents based on metadata, rather than giving users files and leaving management to 3rd party apps, which do this in a million incompatible ways.

Yes. You object to the things I didn’t say. I wonder if you’ve actually read my comments or you’re just channeling your righteous anger at Apple. (Note that I didn’t mention Apple or their products anywhere before.)

How does one transfer “content” from device to computer, from one platform to another?

If you want to share stuff, you can have content-specific ways of doing it, like uploading to Youtube or Flickr, posting on Facebook or whatever. Sending by email is one of the universal options. Note that email doesn’t have a concept of files — attachments are just parts in multi-part message. Also note that sharing can do on-demand conversion to some standard format, if for some reason the content was stored in a different format. If all else fails, you should be able to access the raw bytes and do whatever you want with them.

This has nothing to do with the point that I’m making. My point is that files, in the sense of Unix files, should not be the user interface to data. It does not work. Even if you know everything about files, it’s still annoying to use with non-text data. Files were simply not designed for this. The move to “apps” is just admitting that fact — we failed to teach computer to organize content in a generic and sensible way; instead we teach users that they need to use a photo app to view their photos. Of course, this leads to interoperability/sharing problems you’re complaining about. But the apps approach is the reverse of what I say.

I cringe at the idea of being held at the mercy of a company, ANY company that does not support basic interoperability via files.

Where did you read that in my comments? Files can be created on demand when interfacing with systems that require it.

Yes. You object to the things I didn’t say. I wonder if you’ve actually read my comments or you’re just channeling your righteous anger at Apple. (Note that I didn’t mention Apple or their products anywhere before.)

Check the context of the article:

One of my biggest gripes with iOS is just how user-hostile the operating system it when it comes to getting stuff – whatever stuff – to and from the device.

…And then the next thing you know we hear: “Oh, but the user doesn’t need that anyway” (or words to that effect.) Coincidence?

How does one transfer “content” from device to computer, from one platform to another?

But I transfer files all the time, and the company I work for transfers gigabytes of files on a daily basis via various protocols: SMB, ftp/sftp, http and so on.

It’s not particularly difficult (although it can be difficult to do it right in the corporate setting.) Even Windows lets you setup a share for a home network with a few mouse clicks.

If you want to share stuff, you can have content-specific ways of doing it, like uploading to Youtube or Flickr, posting on Facebook or whatever.

So .. I have to rely on a 3rd party company to share my … content?!

What about the various privacy and security issues that arise from this?

Don’t get me wrong, they are nice services for the target audience, but there is no way in hell I would share a REALLY private video, photo or business document via YouTube (or equiv. service.)

Also note that sharing can do on-demand conversion to some standard format, if for some reason the content was stored in a different format.

If all else fails, you should be able to access the raw bytes and do whatever you want with them.

What if the application chooses not to provide this feature? Or decides to restrict it in some way?

How do you get access to the “raw bytes” if not by files?

We had seen this in the past from certain providers of music content. You no longer have any rights over the property you have purchased. Others decide when and how you get access. What a loathsome solution.

This has nothing to do with the point that I’m making. My point is that files, in the sense of Unix files, should not be the user interface to data. It does not work.

It doesn’t work for who? Who are you talking about? It works for millions of computer users everyday! How can you possibly come to this conclusion?

It sounds like you’ve read this somewhere and are just repeating it.

The concept of files and folders being your “content” and “storage area” is absolutely intuitive and is explained to newbie computer users with-in minutes. I’ve never met anyone that has struggled with this concept.

I cringe at the idea of being held at the mercy of a company, ANY company that does not support basic interoperability via files.

Where did you read that in my comments? Files can be created on demand when interfacing with systems that require it.

You don’t have to state it explicitly, It’s the logical conclusion – IF I can’t access my “content” directly, I am at the mercy of the company to provide the relevant export features. You merely assume that files can be created on demand.

BTW such scenario with files seems to be a largely solved problem, judging from my experiences with official Google Talk win32 client, when setting it up with “computer illiterates” (often distant, guiding them during a phone call; the point usually being comfortable & inexpensive VoIP with somebody far away, but it’s also nice for transfers) – strangely and sadly, not only that specific IM client didn’t become very popular, it’s also essentially retired…

What a load of rubbish. Shut your computer down for a few hours a day, find a girlfriend and have some children before you start talking such sh!t.

Oh, right. Kids LOVE to go to school!

You’re an idiot.

No they want their things… they have no idea and don’t care what they are…

Only the complete morons like you do not realize that what they want or care for are actually files.

Of course, most such users could easily educate themselves if they can merely read and understood a three-sentence explanation. However, I doubt that you are capable of comprehending any concept that takes more than one sentence to explain.

… file is just an abstraction to make things understandable to humans.

You really are a dim bulb.

Files help both humans and computers manage large and complex groups of data — that’s why 99.999% of computers use file systems. Even though some OSs hide files from the user, the OS still needs to work with files.

That is because they didn’t take five minutes to learn about files and directories.

It’s because computers are their tools, not their life, like a computer is obviously yours.

I’m sure that you can’t afford to take five minutes away from all of the brain surgery and rocket science you’re doing.

Judging from your propensity to launch pathetic personal attacks, I’m guessing you are some kind of social retard.

Someone who is exposed to files would probably know the location of an incompatible file and might be able to find a solution for converting that file and making it useful.

The same person who you claim hasn’t bothered to learn how to use files and folders?

What? Why are you asking a question that contains its answer? Are you not even capable of having even one rational thought?

Er… yes… they do. I have 3 myself. All our friends that have children also have chidlren who like to go to school and want to learn. I guess your from the sattes… you sound stupid enough to be. Try living in a country where the teachers have an idea what Pedagogy is, then maybe hildren there will love school to. I guess in american schools having to walk through metal detectors, getting beaten up for not liking sport and shot at by social outsiders would put you off from going.

Only the complete morons like you do not realize that what they want or care for are actually files.

No they are actually binary data… the “file” you see is just metaphor used by the OS

You really are a dim bulb.

People in glass houses….

Judging from your propensity to launch pathetic personal attacks, I’m guessing you are some kind of social retard.

LMAO…. look at your post… talk about a double bind… please educate yourself before you open your arsehole next time.

What? Why are you asking a question that contains its answer? Are you not even capable of having even one rational thought?

You obviously learnt about irony in the same school as Alanis Morissette. Are you not even capable of reading what people have said. There was no answer in my question, and if it was the answer then it wouldn’t be a question. Thank the good old US of A for your great education. You have been to school right?

PS: That was a rhetorical question… I’m sure you know that I don’t expect an answer

Only the complete morons like you do not realize that what they want or care for are actually files.

No, what people care about is what is stored in the files. If this abstraction is called files, or objects or containers or whatever is not really important.

Files help both humans and computers manage large and complex groups of data

Sure, but files might as well be called something else.

The main reason we are using “files” and “directories” rather than something else is out of tradition and that it maps well enough to our physical world to make it easy for us to understand.

Even though some OSs hide files from the user, the OS still needs to work with files.

No it doesn’t. The OS will work fine without files, it just needs the binary data and a way to locate it. Abstracting this binary data into files and directories is mainly for making it easier for users and developers to work with the OS.

Children do not care to learn reading, writing and arithmetic, but we teach them anyway, so that they are not helpless and utterly ignorant. It takes less than five minutes to teach someone the meaning and hierarchy of files, directories.

Utter bullshit.

Some children don’t care about those things, but given the right motivation most will be willing to learn.

I never had much interest in stories when I was a child but I did have much interest in how things work, so my parents were kind enough to buy me books explaining how things worked (from racing cars to how caves were formed).

Lets make a very generalist bullshit statement that isn’t base on any facts at all. It all depends on what motivates a person.

Users largely don’t give a rats ass what directory something is stored in. They don’t care the name of the file, the extension, the metadata associated with it. They don’t care. They just don’t.

Perhaps that is generally true, but as I have stated elsewhere in this thread, whether the user cares or not has no bearing on whether or not they should be able to discern the difference between a file and the hole in their ass.

Also, I guarantee that when an utterly ignorant user will suddenly become keenly interested in files and directories, at the moment that he/she is desperately trying to find the presentation or term paper that was misplaced on the drive (for whatever reason).

Now, there’s a lot of things people don’t care about, but still should take the time to figure out. Files are most definitely not one of them.

Again, whether or not that is true has no bearing on whether or not they should take five minutes to learn the meaning of a file and a directory.

In the end, the more transparent this is to the user the better.

Sure. If one wants everyone to be utterly helpless and ignorant.

They don’t care that pictures come from iCloud, or Facebook, or the Pictures folder, or their SDCard. They just care about viewing their pictures. Users don’t care about a status update coming from Twitter, or Facebook, or Google+ (Lol, okay, no one uses that, but still..). They care about what their friends are using.

It really doesn’t help to repeat what users care about. Yes. Many users care about all the things that you say, but they also suddenly care about finding and securing their files when something goes wrong.

Regardless, they should be taught the basics in five minutes.

The future of computing is around a seamless integration and uniform presentation of all the information in a users life.

Everyone has a right to their opinion.

Files, Directories, Filesystems are all an impediment to this grand idea.

No. Files, directories and filesystems are fundamental to such an idea. Without these items, you can’t have “seamless integration” nor “uniform presentation.”

Perhaps that is generally true, but as I have stated elsewhere in this thread, whether the user cares or not has no bearing on whether or not they should be able to discern the difference between a file and the hole in their ass.

Also, I guarantee that when an utterly ignorant user will suddenly become keenly interested in files and directories, at the moment that he/she is desperately trying to find the presentation or term paper that was misplaced on the drive (for whatever reason).

Then it is the job of the OS to not misplace it. Find it. Surface it to the user. We shouldn’t be punting the failures of UX design to the user.

Again, whether or not that is true has no bearing on whether or not they should take five minutes to learn the meaning of a file and a directory.

Of course it does. People value their time. Just because you keep saying “five minutes” over and over does not make it right. If, like you said, a file is lost somewhere on the system, it often can take more than five minutes to find it.

User frustration should not be a selling point. Why? Things can be so much easier.

Sure. If one wants everyone to be utterly helpless and ignorant.

I’m sure you’re helpless and ignorant about a lot of things in life. This holier than thou attitude you’ve taken is a fucking bullshit.

People don’t value productivity because they can’t wrap their heads around something. They value it because they shouldn’t have to.

It really doesn’t help to repeat what users care about. Yes. Many users care about all the things that you say, but they also suddenly care about finding and securing their files when something goes wrong.

Things shouldn’t go wrong. Files should be secure. The user shouldn’t concern themselves with the implementation details of things. Its archaic and wrong.

No. Files, directories and filesystems are fundamental to such an idea. Without these items, you can’t have “seamless integration” nor “uniform presentation.”

They can exist, the user doesn’t need to know about them. Users don’t need to know the inner workings of their car to get to work. That would make life harder.

Way to go!

You’ve contributed nothing to the discussion, except rehashing the same (wrong) bullshit you’ve said to other people in this thread. I’m positive that I can read, so spare me.

That approach might be limiting. If a user wishes to do a certain action in a specific way, should the OS interfere and disallow it explcitely, or should it silently do something different? However, if the whole interaction process can be designed to work without such worries, the better! It doesn’t imply that the user is separated from the results of his actions. An intelligent interaction concept takes that into mind,

In the world of apps, we already utilize this idea. There is no manually downloading of some file, extracting it into some directory, finding it again, and then executing a program that installs another program to a different directory, which we then start to open files. Installing an app is much easier – as it should be, because it can be made easy. Similarly, you can say the same about easyness for installing a program on a UNIX or Linux system with a package management system. Instead of selecting from a list of icons, you simply name the program you want to have installed, e. g. “pkg_add -r opera”. “Behind the curtain” some program deals with files and directories, but it’s not neccessary to know about that to get the job done.

We shouldn’t be punting the failures of UX design to the user.

Fully agree. Certain GUI concepts are really faulty by design, and help desks have to deal with it on a daily basis.

Of course it does. People value their time.

But they often don’t realize time as a resource worth investing in, to grow it. Every handcrafter needs to know the content in his toolbox, and he needs to practice using the tools. It’s not sufficient that the box is present to get the job done.

Things shouldn’t go wrong.

But they do, in reality.

Files should be secure.

But they aren’t, in reality.

Security is a process, not a state. The weakest element in the chain often is the user. Operating systems and services can help, but cannot make things 100 % “idiot proof”.

The user shouldn’t concern themselves with the implementation details of things. Its archaic and wrong.

It is, just as it is archaic and wrong to burn coal to make electricity from it to light the room, throwing more than 75 % of energy away in this process. 🙂

Still those archaic concepts is what even modern web frameworks are based upon, their innermost workings are, if you look at them, archaic. There are many layers of abstraction to hide that compexity from the next levels. The end user of a product will not notice them, even though they are in there.

They can exist, the user doesn’t need to know about them.

But in many cases, it does benefit them to know. I’m not talking about any specific implementation, but about the general concept. It can even be transitioned to reality in a non-IT related context: Instead of putting all things “linearly” on a long shelf, they can be put into cardboxes labelled with a category name. Dealing with this method (selecting from a category to find an object that belongs to that category) can make life easier.

Note that it doesn’t apply everywhere. There are other concepts, such as tagging: Here one wouldn’t even talk about files and directories anymore, but instead of objects which have certain properties, and there is no hierarchical ordering in the first place. It’s obvious that there are many ways for an implementation of that concept.

Users don’t need to know the inner workings of their car to get to work. That would make life harder.

Thanks you brought up a car analogy. Because people love car analogies, here’s the conclusion:

In order to participate in traffic, it’s not sufficient to buy a shiny car. You need to know how to operate it, where to accelerate, where to brake, how to shift gears. You need to know where tu turn the lights on at night, and how to add fuel. But that’s also not enough. You need to know the traffic rules, the funny signs and colorful lights, the arrows on the street and the policeman waving his arms at a crossing. And it’s still not enough. You actually have to prove that you know all this. Even worse, if you fail to drive your car properly, it’s possible that you will not be allowed to drive it anymore (e. g. after driving while being drunken and causing an accident).

I’m not saying what kind of traffic situation we would have if we’d apply “IT attitudes” in traffic. 🙂

But I agree with you that — again using the car analogy — things shouldn’t be made more complicated than they need to. A certain level of complexity will always be present (please differ complexity from complicatedness). To deal with this complexity requires learning. It’s not wrong to learn things. Never.

Users should not have to know about file system mechanisms and other low-level information. But it will help then to organize their stuff if they have any concepts at hand, be it the hierarchical concept provided by files and directories, or a tagging concept using some database mechanism. Please note that files and directories do not exist “per se”, but that it helps to utilize them. They are here as a useful means promoted to the “upper levels” (to be used by the user), not only be present at the “lower levels” (operating system and application internals).

That approach might be limiting. If a user wishes to do a certain action in a specific way, should the OS interfere and disallow it explcitely, or should it silently do something different? However, if the whole interaction process can be designed to work without such worries, the better! It doesn’t imply that the user is separated from the results of his actions. An intelligent interaction concept takes that into mind,

Where possible this kind of friction should be avoided. If the OS can (in what it deems to be safely) perform the users intended action, then so be it. Keep them in control, until their own control jeopardizes the integrity of the system as a whole.

I think complexity and control don’t inherently coincide with danger though, so I’m also unopposed to burying the complex concepts, but not burying them too deep.

Any power user who wants can dip into the fray and get dirty with a command line shell and manipulate objects in the OS in their primitive states.

Windows 8 for example, for all its glitz and glamor and abstractions .. is even more powerful when used in tandem with Powershell scripting. I’m a huge fan of that kind of stuff.

But they often don’t realize time as a resource worth investing in, to grow it. Every handcrafter needs to know the content in his toolbox, and he needs to practice using the tools. It’s not sufficient that the box is present to get the job done.

Sure. They should be able to learn it, if they are so inclined. However I think presenting it as a default to users is a bad choice. Not every user particularly cares for such things. For the ones that do, great, knock yourself out.

Security is a process, not a state. The weakest element in the chain often is the user. Operating systems and services can help, but cannot make things 100 % “idiot proof”.

Well, I didn’t mean it to be 100%, what I mean is, as much as possible, OSes should strive to ensure the integrity of themselves and the data they are responsible for.

I’ll again use the car analogy, every owner of a car shouldn’t need to be a mechanic just to drive. If something goes wrong (and car manufacturers should strive to reduce this) they can always visit a mechanic who does care for the details.

It is, just as it is archaic and wrong to burn coal to make electricity from it to light the room, throwing more than 75 % of energy away in this process. 🙂

Still those archaic concepts is what even modern web frameworks are based upon, their innermost workings are, if you look at them, archaic. There are many layers of abstraction to hide that compexity from the next levels. The end user of a product will not notice them, even though they are in there.

Yes, I don’t think we should remove them. They’re time tested and work well. Just from a user interaction POV they’re completely unacceptable.

But in many cases, it does benefit them to know. I’m not talking about any specific implementation, but about the general concept. It can even be transitioned to reality in a non-IT related context: Instead of putting all things “linearly” on a long shelf, they can be put into cardboxes labelled with a category name. Dealing with this method (selecting from a category to find an object that belongs to that category) can make life easier.

Note that it doesn’t apply everywhere. There are other concepts, such as tagging: Here one wouldn’t even talk about files and directories anymore, but instead of objects which have certain properties, and there is no hierarchical ordering in the first place. It’s obvious that there are many ways for an implementation of that concept.

I was just about to mention that. Instead of users spending time throwing everything in folders, just let them organize it in a way that feels natural.

You can organize it by date and location (included, say in image data) and you can do facial recognition to organize it by people and friends. You can let the user annotate it with key words and when his friends comment on the photo you can sort it by number of comments.

There’s so many ways to automatically visualize data in a much richer fashion than we do today, without resorting to forcing users to throwing things in folders.

Being thoughtful and out of the way should be guiding principals to this.

Users should not have to know about file system mechanisms and other low-level information. But it will help then to organize their stuff if they have any concepts at hand, be it the hierarchical concept provided by files and directories, or a tagging concept using some database mechanism. Please note that files and directories do not exist “per se”, but that it helps to utilize them. They are here as a useful means promoted to the “upper levels” (to be used by the user), not only be present at the “lower levels” (operating system and application internals).

I agree, I think there’s a lot of room for improvement on how we present data. There’s so much information out there, and we present it in a really dumb way a lot of the time.

Things like http://flipboard.com/ are awesome because they present data that already exists out there, in new and exciting formats.

You have described the dumbest of the dumbasses when it comes to computer users. It is exactly those people you are describing who should be denied access to a computer until they are willing to LEARN a thing or two and quit considering their computer to be no more complicated than a fucking rock. Even setting up a landline telephone or toaster and using it requires just a bit of knowledge to use… why should a computer be any different?

Just as people are denied the ability to drive a car until they have reached an age that they can learn the basics of driving, and prove that they at least know the rules before given the legal right to drive by themselves. Of course, these people often drive like inconsiderate assholes and break all the laws anyway, but at least they were taught and (hopefully) understand the basics of driving.

You are the dumbest of dumbasses and shouldn’t be allowed to post. You see how stupid your logic is?

Well, his logic isn’t all that flawed, in the sense that if you are the dumbest of dumbasses and don’t know sh*t about anything, you can’t expect things to work exactly as you want. I don’t think we should disallow dumbasses to use computers, but should we lower our standards to their level because of their incompetence? I see problems with this.

The more complex a tool is, the more you need to know to use it to it’s fullest potential. Yes, you can have a “dumbass-mode” on it, but then you will only use it to level “dumbass-level”. (Think of this as only using the “green square mode” on a modern day DSLR, it works, takes decent pictures, but you are not taking advantage of what the camera really can do).

With smart design and user-centric focus you might raise this this level a bit, by you cannot get the dumbass-user to use a tool with the same proficiency as the power-user… ever.

Computers are among the most complex multi-purpose tools widely available today. But education hasn’t kept up with availability.

Yes, the files and directories metaphor might be outdated and there might be better ways to do it. Still, you cannot let the OS decide everything. In fact, doing so might create even more problems than today! If a dumbass user writes a second letter, should the OS decide that it should overwrite the last letter written? (they are both letters) If you change a misspelling in a letter, should that be considered a new document, something to overwrite the last document or should it be version managed? (Good luck trying to teach version management to dumbasses). If a user downloads a file from one server onto the device, and then downloads another file from another server but with the same name to the same device. Should the first one be overwritten? (Well, perhaps the device can detect what server the originating data came from and “do the right thing” that works for that specific scenario). What if it is the same server? What if it comes from the same server but the data has changed? (your bank statement for example). If you keep multiple versions of a file in multiple states, how will the OS decide what version the user really needs?

What I am trying to say is that the OS can NEVER anticipate every possible type of situation and for every possible user take the correct action. One user might expect it to work in one way, and another user in another way. You can have self-learning systems, which works well until one user borrows a device from another messing everything up. Remember that OS:es are created by humans, and no human is perfect, ergo no OS is perfect.

So it all comes back to the user knowing what to do and how the OS reacts to different situations. This should be consistent and intuitive. That is what design can do. Just blaming everything as being a UX problem and never take the user into account doesn’t solve the problem, it is just hiding from reality.

Also, removing the decision power from a user might be problematic. What if the designer of the system never realized that a user might want to use a tool in a certain way? Should the tool disallow the user to use it then? (Perhaps if the consequences would be catastrophical, but if they are harmless or even beneficial?)

To sum it up: Yes, files/directories might be outdated with modern ways to use devices and there might be better ways to do this. No, uneducated users cannot expect to get the full power out of everything. Yes, this is an extremely complex problem that I doubt will ever get a solution that everyone agrees on.

You are the dumbest of dumbasses and shouldn’t be allowed to post. You see how stupid your logic is?

The type of people you described absolutely refuse to use their brains at all costs and therefore *have* no logic. So, your point is? Just that you’re advocating pure, 100% ignorance, laziness and stupidity?

Users care about movies, pictures, music, their social updates, their news, their friends.

Not true.

You’re asserting that users are all the same. They’re not. In fact, for every user there is theorically one needs set.

In my case, as a computing devices user whose job is to develop programs for computing devices, I *do* care about others stuffs than movies, pictures, music, social updates, news or friends. While I may care about those, I often care *more* about data format and organisation.

And so far, file abstraction is the minimum feature I’ll expect. If it sports also indexed meta-data, hierarchy, crypting, auto versioning of data, I care even more.

Now, maybe *most* users don’t care about files, but not all. Every user don’t care that much about what other users could care, except when it could reduce the features set they needs.

So, hide my files as much as you want, I won’t care that much until 1) they’re just hidden anymore but out of my control or 2) I’ve no means anymore to see and use them the way *I like*, not the way someone else think (or want, for its own reason, not mine) they should.

My data. My way, my choice.

Or say bye-bye to my money.

And each time someone says that the ultra-user-friendly devices makers knowns better than me, I reply: since when I’m a kid again and these makers are my parents!?

I like files, or more importantly, I like content, whether made by myself or someone else. I like to move this content as freely as I like between my devices in the simplest way possible, without having to rely on some OS-specific application like iTunes or iMatch ($25 a year?!!) or Fangle-Dangle-Air-Transfer. I don’t think there’s a way to do that between my Linux/BSD box and an un-jailbreaked iDevice. If there is a way, please enlighten me.

No, libimobiledevice or some Mono-infested Banshee don’t count. They break each time there’s an update to iTunes or iOS and take months to catch up.

I think a problem here is that “files” is just one model of representing data on a storage device. There’s nothing inherently magic about a hierarchical database of storage indexes that makes them more “true” than any other form of representation. In fact, i think the rigid adherence to the “file” concept is holding everyone back, casual and seasoned users alike.

One example already mentioned here is organizing photographs. Things you care about is when the picture was taken, where it was taken and what and who was in it. It’s not really relevant what tree structure it is in.

Another example is versioning of files, similar to how it works in OpenVMS. It’s something that’s tremendously useful when you’re editing code and it’s trivial to implement (just save a new file automatically with a new version number). However, since we’re so stuck on the UNIX/Windows concept of a simple hierarchical file system, there’s no room for extending the current paradigm.

Rather than building layers of obfuscation on top of a hierarchical file system a file system should have a more flexible indexing system supporting tags to allow you to represent your data in whatever format is most well-suited to the work you have ahead of you. This should be done without adding another layer of complexity (no matter how popular it is to add complexity to avoid fixing the fundamental problems).

The sooner we realize that we have a problem and that it needs to be addressed – the better.

I wouldn’t deny the benefit of tagging/meta data. For sure, it’s definitely a useful means of working with files. However one should not assume that metadata and directory hierarchies are mutually exclusive, they are not. A lot of the file-systems-are-bad posts may be wrongly assuming that they are. There’s no reason one can’t have both at the same time.

A hierarchy is a natural way of organising and keeping related things together. It’s why we have things like bookmark folders, email folders – these weren’t invented for the computer’s sake but for the direct benefit of users to be able to organise their stuff. It gives a kind of “spatial” locality to an otherwise chaotic pile containing everything. Hierarchical organisation isn’t something we invented for computers either, but is something we learn to do at a very young age. When we go to school, we have subject-specific folders and notebooks, which is better than keeping everything in one big pile – meta tags or not. Directories offer a clean/logical separation of things that don’t belong together, that’s hard to express with tags alone.

There may come a time when school students go all digital, hopefully they’ll have access to a platform that allows them to organise things in a way which is most suitable without being locked into a dogmatic paradigm.

Let’s not write off hierarchies as a useful organisational tool, ok?

Note: I treat “file” as a synonymous term for “content”, they mean the same thing as far as what we’re talking about.

However one should not assume that metadata and directory hierarchies are mutually exclusive, they are not. A lot of the file-systems-are-bad posts may be wrongly assuming that they are. There’s no reason one can’t have both at the same time.

I agree. I would argue that a flexible tagging system could be used with great benefit to build other systems such as hierarchies though. We’ve been building tagging systems on top of hierarchies for decades now and none of the solutions have been completely satisfactory.

Also a good flexible tagging system could be used to make multiple file representation systems simultaneously in those cases where it’s not a clear-cut choice what the best representation strategy is.

A hierarchy is a natural way of organising and keeping related things together.

Here I have to disagree. A lot of studies have been made on this and a natural way of keeping related things together is to put them in piles. This is why real desks often look the way they do, rather than stuff being always tucked away neatly in drawers.

I have no idea how a pure pile-based file system would work though

A lot of people do have problems with tree-like file systems today. If it comes naturally, why do people evidently have a problem with it? Veteran computer users are a bit too quick to discard opinions from fresh and untainted users of computer-based products.

Don’t get me wrong, there are very good uses for hierarchical organizational layouts but different usage tasks have different requirements. The trick is to balance the needs of people looking to use data in different ways. Forcing everyone to use the same approach regardless of their needs is not optimal either.

There may come a time when school students go all digital, hopefully they’ll have access to a platform that allows them to organise things in a way which is most suitable without being locked into a dogmatic paradigm.

Amen to that.

Let’s not write off hierarchies as a useful organisational tool, ok?

Never! Let’s also not write off other organizational models as inferior to the tree.

“We’ve been building tagging systems on top of hierarchies for decades now and none of the solutions have been completely satisfactory.”

Well, I think microsoft has done a horrible job in particular with metadata, so I hope your not referring to them. Yet truth be told, they’re the only ones who *could* make metadata a useful integrated function of windows. This says nothing of the inability to make metadata an integrated feature of an OS built from scratch to combine hierarchical storage and metadata tagging.

Heck even linux suffers from legacy posix stuff, look at how little support our file managers have for extended file attributes. The lack of integration totally discourages their use.

“Here I have to disagree. A lot of studies have been made on this and a natural way of keeping related things together is to put them in piles. This is why real desks often look the way they do, rather than stuff being always tucked away neatly in drawers.”

To me, this seems to be an example of disorganisation that should be discouraged. Even in the physical world I would hope that these guys are using manila folders or staples to keep documents from becoming a royal mess. Fundamentally though just having multiple categorised piles offers some weak organisation, just don’t shuffle all the papers into one bin and then expect to make sense of it later.

“I have no idea how a pure pile-based file system would work though”

Well, perhaps a quasi equivalency could be to treat a physical pile on the desk like a virtual desktop on linux. A pile could be a task/document, or set of them that are related to one another, just like the virtual desktop. The main problem with virtual desktops is that they’re neither persistent nor are they labelled for future retrieval. Like a pile, I ought to be able to leave a virtual desktop untouched for weeks and then come back to it again later. Also, I ought to be able to hand the whole pile over to someone else.

Actually, this sounds like an awesome idea to me.

“A lot of people do have problems with tree-like file systems today. If it comes naturally, why do people evidently have a problem with it?”

Maybe MS Bob was before it’s time? Today it might get a more receptive audience…Not even kidding, if the aim is to dumb down devices, why reinvent the wheel?

“The trick is to balance the needs of people looking to use data in different ways. Forcing everyone to use the same approach regardless of their needs is not optimal either.”

Yes, but the thing is hierarchical storage is a superset of having a giant heap of things. There will be those who choose to keep everything together in one place, but so what? I don’t see how the support for hierarchies has hurt them at all. If ever they’re ready to start organising stuff, the hierarchy should be there for them.

“Never! Let’s also not write off other organizational models as inferior to the tree.”

This says nothing of the inability to make metadata an integrated feature of an OS built from scratch to combine hierarchical storage and metadata tagging.

I think such an OS does need to be designed from scratch. A smartphone or tablet platform that deals less with text and more media would be a good candidate.

I don’t see what’s so special about hierarchical file systems though. Hierarchical storage needs to be able to be extended in flexible ways too and the best way to do it is just to base the whole thing on tags. Locking yourself into an overly simplistic hierarchical system is a problem too. It’s all just ways of finding pointers to data in a database anyway.

Heck even linux suffers from legacy posix stuff, look at how little support our file managers have for extended file attributes. The lack of integration totally discourages their use.

I’ve been very frustrated with this example as well. While that’s just one operating system, i think similar things happen on all platforms.

Fundamentally though just having multiple categorised piles offers some weak organisation, just don’t shuffle all the papers into one bin and then expect to make sense of it later.

I don’t think we should underestimate the visual advantage aspect of sorting into piles either. If you put things in a subdirectory it’s invisible. “Out of sight, out of mind.” With piles you get visual cues for what’s there. I’ve seen both new and experienced users use their icons on the desktop in this way. In some ways it’s a very rich way of organizing content.

Like a pile, I ought to be able to leave a virtual desktop untouched for weeks and then come back to it again later. Also, I ought to be able to hand the whole pile over to someone else.

Actually, this sounds like an awesome idea to me.

It’s a great idea. Having persistent information about piles would be very useful.

“A lot of people do have problems with tree-like file systems today. If it comes naturally, why do people evidently have a problem with it?”

Maybe MS Bob was before it’s time? Today it might get a more receptive audience…Not even kidding, if the aim is to dumb down devices, why reinvent the wheel?

MS Bob was antiquated from the start. The idea that we can show some friendly familiar pictures to solve our data management needs is preposterous.

Part of the problem in this whole discussion is that some people on both sides of the debate think that it’s about “dumbing down” as if people who don’t use computers for a living are less smart. They aren’t.

“The trick is to balance the needs of people looking to use data in different ways. Forcing everyone to use the same approach regardless of their needs is not optimal either.”

Yes, but the thing is hierarchical storage is a superset of having a giant heap of things. There will be those who choose to keep everything together in one place, but so what? I don’t see how the support for hierarchies has hurt them at all. If ever they’re ready to start organising stuff, the hierarchy should be there for them.

There are many potential supersets of having disorganized data on a disk and i would argue that the best fit depends on the type of data and what type of work you could potentially perform on it.

Editing source code for instance is a royal pain on a standard hierarchical file system. I need to use a separate system to keep track of the changes I’ve made such as CVS or GIT (or a clever IDE program) because the file systems on Linux, MacOS or Windows don’t support versioning. Some file systems do, but not these and I can’t extend them. While i certainly can see the use of organizing my project into hierarchies i may end up with complicated hierarchy structures just to compensate for the shortcomings of the file system.

“Locking yourself into an overly simplistic hierarchical system is a problem too.”

But I don’t see how supporting a hierarchy necessarily comes at the exclusion of alternate metadata/searching mechanisms? They seem to be complementary.

Of course in existing operating systems, metatags will always be second class citizens, which is unfortunate. But when designing a platform from scratch I think the problem is solvable.

“Part of the problem in this whole discussion is that some people on both sides of the debate think that it’s about ‘dumbing down’ as if people who don’t use computers for a living are less smart. They aren’t.”

Well, I wouldn’t have suggested they were, but it was kind of implied when somebody claimed folders were too difficult. I feel that’s exaggerated, but even if it is too steep a learning curve, there’s no reason new users would *have* to learn about them before they had a need for them anyway. So it seems silly to me to argue “steep learning curves” as a justification for eliminating file folders, as some people have.

“Editing source code for instance is a royal pain on a standard hierarchical file system. I need to use a separate system to keep track of the changes I’ve made such as CVS or GIT…While i certainly can see the use of organizing my project into hierarchies i may end up with complicated hierarchy structures just to compensate for the shortcomings of the file system.”

Who hasn’t been there?

However this same problem would happen under a tagging system which lacked versioning as well. The solution is obviously to incorporate versioning.

Q: How do you work with large multi-source projects on a platform that doesn’t expose any kind of a file hierarchy?

The trouble with transparent/automatic versioning is garbage collection – when to delete old copies. For source code it’s not a big deal, but with photos & video…it can quickly escalate resources. It could be configured differently in each application, but that’s inconsistent. What are your thoughts?

However this same problem would happen under a tagging system which lacked versioning as well. The solution is obviously to incorporate versioning.

Absolutely, but part of of the problem is also that we won’t know in advance what kind of user scenarios might appear in the future. What we need is something that is completely extensible in every possible way.

Q: How do you work with large multi-source projects on a platform that doesn’t expose any kind of a file hierarchy?

You could complement or replace the file hierarchy by a basic project hierarchy. That may seem like splitting hairs but it might make things more easily managed. I won’t deny that software is developed in hierarchies to some extent and that there may be a benefit in that.

The trouble with transparent/automatic versioning is garbage collection – when to delete old copies. For source code it’s not a big deal, but with photos & video…it can quickly escalate resources. It could be configured differently in each application, but that’s inconsistent. What are your thoughts?

People keep saying that this is a problem but in reality on systems like OpenVMS it very seldom is. OpenVMS doesn’t have an automatic mechanism for doing a “purge” of old versions (at least that i know of) but a couple of solutions could be used. (I usually just ran a scheduled job to back up old versions of important stuff and just purged the rest.) With a more flexible tagging system however you could specify purges of old versions depending on the type of file you were dealing with.

“What we need is something that is completely extensible in every possible way.”

We’ll, just as a hierarchical tree is a superset of a flat pile of stuff, the next superset of a tree is a fully connected graph. We could certainly build it, but it’s going to be that much more complicated than the tree.

None of this is an impediment to metadata tagging, so I don’t think the extensibility argument is a reason to not support trees.

“You could complement or replace the file hierarchy by a basic project hierarchy. That may seem like splitting hairs but it might make things more easily managed.”

More easily managed than what? The point is we have a reason to keep these files separate from every other file on the system. In other words it seems to be reinventing the folder.

“People keep saying that this is a problem but in reality on systems like OpenVMS it very seldom is. OpenVMS doesn’t have an automatic mechanism for doing a ‘purge’ of old versions”

Well, the only reason I brought up “automatic” versioning & garbage collection is that otherwise normal users may find it difficult to do manually. Of course knowledgeable people could configure things how they want to, but that just raises the barrier for use and we’ll end up with many users not benefiting from the feature.

Even if it wasn’t automatic, at least the versioning feature would be there, so I agree that is better than what we have now.

He seems to spend a lot of time sounding annoyed with file hierarchies, and at the very last, he gives a brief, vague, hypothetical alternative to using files and directories (which actually sounds like merely breaking-up files into smaller files).

It certainly would be interesting to hear how exactly he would propose accomplish a complex task, such as shooting and editing a feature film, without the use of camera files and without a non-linear video editor application.

It certainly would be interesting to hear how exactly he would propose accomplish a complex task, such as shooting and editing a feature film, without the use of camera files and without a non-linear video editor application.

If we go back to the iOS, you know, your original complaint target: things that make sense as being files are still files. What no one has is a hierarchical file system. You know what? I’ve edited 10 or more videos that use iMovie, Avid or Reeldirector on my iPhone and iPad. Never needed a file viewer past the camera integration and music library integration. The files all just appear in the right place. Learning curve is zero. This is what consumers really want, not complexity.

Equally, my mail, calendar and notes all appear in apps. There are no files. Why does there need to be?

This is the issue with the argument. Tech people assume that a file system is the best and only way to present logical blocks of data. It’s not.

This is the issue with the argument. Tech people assume that a file system is the best and only way to present logical blocks of data. It’s not.

Try getting some photos off or on your iPad. Look at regular folk trying to figure out the god-awful mess that is iTunes. Most iOS users I know – scratch that, ALL iOs users I know just email stuff to and from the device. Is that progress?

You know how it works on Android?

1. Plug device in.

2. Drag shit onto it.

3. The end.

This is not complicated, and it’s an operation EVERYBODY knows how to do because it’s exactly the same as USB sticks, which EVERYBODY understands. On iOS, getting files to and from the device is a nightmare, and there’s no indication Apple is doing anything at all to make this easier.

I’d like to give iOS a chance. It’s got some great developers making apps for it, but I can’t do diddly squat until Apple actually gives me a way to move my content over to the phone/slate without iTunes or iTunesMatch or whatever it’s called.

Till that’s possible, you can rave about “file-less” systems all you want, but I’ll still call it defective by design.

It’s a possibilty I can’t just ignore without risking a sleepless night wondering if I made the right decision.

I also have the SD card reader and I use it, on holidays like I am now, off load pictures from our camera. Photo Stream makes them appear on my other iOS devices and Macs when I get home. From my iPad I could put some on Twitter or Facebook, send them by email.

When a website only allows upload via a file requester I guess it becomes more difficult, but if you really need to upload pictures, I mean REALLY need, you must better pick the tools for the job. If you are a journalist or a professional photographer a MacBook Air or Pro is a much more obvious pick than an iPad.

By the way, I was responding to the linked video of Ted Nelson’s comments on files, in which he calls them “lumps.”

things that make sense as being files are still files. What no one has is a hierarchical file system.

I guess that I can live with the news that IOS actually uses files. However, I am glad to know there most certainly (without a doubt) are none of those horrible folders and subfolders to be found in precious IOS!

You know what? I’ve edited 10 or more videos that use iMovie, Avid or Reeldirector on my iPhone and iPad. Never needed a file viewer past the camera integration and music library integration. The files all just appear in the right place. Learning curve is zero. This is what consumers really want, not complexity.

Wow. Dr.Mabuse was right about the standard Apple fanboy response being “Oh but the user doesn’t care about that.”

Also, I just have to ask: What learning curve? Are we talking about all the studying it takes to merely grasp the notion that files are just documents and apps, and that they can be organized in directories and sub-directories? My! That would be too much effort for an IOS user!

Incidentally, I can see a few problems with this IOS blissful ignorance scenario. First of all, sh*t happens. For instance, what will the clueless IOS user do when a file gets borked in the middle of a transfer? She’ll be S.O.L.

Furthermore, let’s say you edited a pilot for a TV show with all of the project files and footage thrown into the root directory with all of the other system files, mp3s, Word files and apps — in one big mess.

Your client says, “That’s a great cut for the show! Before I leave in a few minutes, I need the file of the show plus all the of the close-up and medium shots of the two leads in scenes 3,4,7, 12,and 34, because the trailer editing department needs to this footage for a promo that runs this afternoon. Oh, and by the way, please make sure that it is organized with appropriate file names, in folders named by scene and shot type.”

How are you going deliver those files to your client in 5 minutes, with all of that mess?

This is the issue with the argument. Tech people assume that a file system is the best and only way to present logical blocks of data. It’s not.

No. Not tech people, but anyone who wants to get a job done efficiently. A pro video editor in the above scenario would be a “creative” type. However, he better be organized and have his sh*t together, otherwise, he won’t get hired again.

Actually, I’m typing this on an iPad on which I’ve organized my apps into… Folders. I think Steve Jobs invented folders in iOS 4 as a way for iPad users to… Organize page after page of apps, which were too hard to find without a folder… Hierarchy.

Except that he was careful to keep the hierarchy to two levels, so that my Media folder can’t contain a Photos folder. So I named that Media – Photos.

Because users don’t care about organizing their files and apps in folders.

Nice video. I think he’s hitting the nail on the head, although he’s only giving a small hint at the end what could improve the situation.

The way how I see it is the following: every user has an intuitive idea what a file is. Ted calls it a “lump” and I tend to agree. From the users point of view a file is just a piece of information belonging together. May it be a calendar entry, note or a text document. What counts is that the user want’s to manage this piece of information, that is share it, copy, delete, edit, you name it.

The real problem for the users start where he has to name these pieces of information to find it again. File systems as we know it have only one scheme: hierarchical with distinct file names. Even that alone brings many problems that I don’t need to re-enumerate. But even more severely the file name is also the only way how to get back your information. If you forgot the file name or someone else renamed the file you won’t get back your data again.

Now mail applications are typical examples how an application hides the inadequacies of regular file systems and provides you an interface which is much more suited to the problem domain. But even there every mail is typically a file but the underlying file system does a poor job to get this organized. So we really need file systems, just the traditional schemes suck.

I thought very long about it and I’m working now since three years on a project in my spare time which may provide an answer these issues: http://www.peerdrive.org. Right now the focus is more on regular file access and synchronization but it has all the building blocks that Ted describes at the end of his video: a system where you can address and store small lumps which can be arbitrarily connected and the support to track the history of these pieces and make these changes addressable too. If PeerDrive really works remains to be seen but working on it has been a lot of a fun until now… 😉

Honestly I do not like files. ( its important to understand what i mean by files )

I CARE ALOT about files, and i mean really alot. The ammount i waste in organizing files, I would say i am the person that most care about files i know.

That said , I do not like its current implementation.

Its not the “file” that is important , but the content. I dont care if file is named A,B,C or stored in tar, tar.gz or etc. I dont really care at what type of file.

What i would really like was to be able to store and retrive content ( what is a “file” ? ) in a more “Database” way.

That , along with a “Git” way…. would be the way i would like to have my content stored.

So a way to have my content stored with links to another content, that relate to another content and be able to search and cross it with other contents ( Not hierarchical ). Also a way to be able to have a latest version of it, but have older versions, be able to share with other people , push and pull from and to other people.

To me the concept of files always has been related to how a computer works, not as intuitive and helpfull to a user. A way to solve a computer problem, not a user one.

So … give me a database/git based “filesystem”, and i would say goodbye to files anyday.

To better understand this post, i am criticizing files as “hierarquical files” implementation with no information as to the content other than filename and foldername it is on.

Please, if you are going to insult or just say you are much smarted than me … please dont reply, its not the point of this post, to make me look smarter or dumber.

I couldn’t agree more and this is exactly what I’ve been working on since the last years: PeerDrive (www.peerdrive.org). You may want to have a look at https://github.com/jkloetzke/peerdrive/blob/master/doc/introduction…. but the documentation is unfortunately still lacking at the moment. The ‘search’ part is still completely missing, yet, I’m already using it to organize and synchronize documents at work with my colleagues.

I only care about files when I write makefiles. But thats because the tools are oldfashioned. The IDE and compiler should be more integrated. Files should not exist, only semantic constructs stored in a DB. This is necessary for efficient incremental compilation anyway

With 64 bit address space and SSD the unix filesystem has become obsolete. The APPS should provide services that let you pull out resouces and keep the device synced with cloud storage.

So, instead of dragging a folder that contains all of my email to another system or to a backup device, I have to write a custom application in command-line shell to extract my email from an app? Each email app no doubt using their very own extra-special DBUS or COM function interface?

And that is assuming that they bothered to document their DBUS functions. Which they often don’t.

I have exactly these complaints about Evolution on Gnome. But at least Evolution still saves email in text-based files, in directories.

Well, we have to think about what is acceptable to average-joes. They trust the cloud. No backup neccessary with high replication datastores… Though in the first decades you’ll probably be able to get db dumps. Lack of documentation did not limit the popularity of MS Word doc-format. Trends are run by the masses, they are quite happy if it looks like it is working most of the time.

I also dont think mass-storage and high perormance computing will be available to most of us. It is going to stay in the cloud where proper cooling is available for 3d chip designs and where there is volume. Home computing devices are going to become more and more like web browsers, they cache data…

But the hard drive is still good. So you can boot from a CD, move the files to a USB stick, and then move the USB stick to a new computer and drag-and-drop the files to your hard disk. Presto.

Or how about if you want to back up your data? Just copy your files to a USB stick. Done.

How would you do these things without files? An app to pull the data from the hard disk? An app to put it on the USB stick, or copy it off? An app for every simple piece of functionality you get from a file manager?

I think you can see that this is not a good strategy.

I’m not saying that there’s no room for improvement in how files, filesystems, and file managers are implemented; but good gods, let’s not throw out something that works just because of the steep learning curve. Computers used to be horribly difficult to learn and use, look how far they’ve come.

Think about it. If people had chucked the concept of the PC out the window because “it’s hard to learn,” you wouldn’t be browsing OSNews from your laptop or iPad or whatever.

I think you are all missing the most obvious example. People invented the file cabinet to hold there info, much like a file system. Cabinet drawers and folders can be arranged in whatever way you want, its pretty much up to you.

Now some of you suggest that we need a better way. Going to an index and then finding the folder you want is tedious. So instead, you take all the folders and throw them out in a big pile on the floor. That’s a database. Then you hire a kid to find the files you want when you need them. He’s the DBMS. Now, it might be easier in the short term to just ask the kind to bring you a file and let him worry about the organization. But at some point, sooner or later, you are going to have to find something your self. Good luck with that. Maybe a sharp wind (malware) comes along and messes things up. Well now you are screwed. Cause you could have manually put a file cabinet back in order. But you don’t have a chance in hell of manually fixing something this complex.

Thats why we use file and folders. While its not sexy, it is still possible for the human mind to make sense of and fix things manually. The general user probably won’t ever care. Until they need a geek to get back their only copy of their precious baby pictures they couldn’t be bothered to back up.

Human beings are intimately familiar with the concept of “objects”. We understand that objects are discrete things. Every one of us has handled a document, a photograph, a CD.

Therefore there is surely no difficulty at all in the idea of “objects” in your computer. I think everybody understands that the photos they keep on their computer are individual entities, just like the paper photographs in the biscuit tin in your grandma’s cupboard.

The important point for the user is that they have these objects which they can look at, modify, give to someone else, and so on.

This is undoubtedly what happens. Listen to modern computer users; they’ll say something like “Can you send me that picture of Grandma at the Christmas party?”. The owner will then find that picture on their computer (as distinct from all the other pictures) and send it.

We computer nerds call them “files”. To the average user they are “pictures”, “tracks”, “documents”, etc. But the essence is the same: they are – to the user – individual objects in their computer which they can manipulate, just as the physical world is filled with objects they can manipulate.

The “file”, as we call it, maps perfectly onto objects in the real world.

Now, we could implement these “objects” using something other than files – the most obvious alternative being records in a database. The trouble is, it’s much harder to make these look like discrete objects to the user. Remember: the physical world is full of discrete objects; that’s what they are used to. You still want a user to be able to “send me a photo”.

I think the concept of a file – which might be a photo, document, music track, etc – is exactly analogous to an individual object in the real world. It is entirely intuitive.

The intuitive element falls away, though, when we come to FILING SYSTEMS. In my experience, nobody has any difficulty with the idea of a file for each of their photographs, documents, or whatever. But they OFTEN have difficulty with structured, hierarchical storage.

In fact, as well as being hierarchical, we use “classification”. I classify a file as a picture and put it in my “Pictures” library.

But frequently this goes wrong. When updating my mum’s computer and sorting things out, I found a scanned recipe. She also has recipes which she has downloaded as text. Should I put the scanned recipe – a picture – in the Pictures library, or should I put it with all the text recipes?

I often struggle with this myself. I like to work with PIC microcontrollers. I need to refer to the data sheet when programming the chip, and I also need to refer to it when wiring the chip into the circuit. Do I store the spec sheet in Documents\Reference\Electronics, or do I store it in Documents\Reference\Programming?

When I want to find it, will I even remember it’s a reference document, or will I search in my Documents\Electronics folder, where the circuit diagram is?

The problem is, objects can be classified in many different, valid, ways simultaneously. And when we come up with a system which is classification-based, like your typical computer filing system, you immediately crash into this problem.

So, as well as struggling with the hierarchical concept of folders-within-folders (which is *not* a common structure in the physical world), we also have the challenge of objects having multiple valid ways of classifying them (a scan of a recipe is both a picture *and* it is words, a data sheet is relevant to electronics *and* software).

In summary, I don’t think there is any problem at all with having files. In fact, I think they are brilliant because they map so well onto the physical world of individual objects, which have attributes, and which can be manipulated.

But I *do* think we have yet to come up with a way of storing and accessing those objects which is intuitive and easy for the user.

Hiding those objects away, like iOS tries to do, is completely the wrong approach, in my view. Storage objects aren’t the problem, it’s the storage *system* that’s the problem.

Incidentally, I’ve tried the “big pile” system and it can work extremely well. I’ve created a folder called “Knowledge” and I chuck everything in there with no thought to any kind of structure or hierarchy. I then index the entire contents using Copernic Desktop Search, and seek out my data using keyword or key-phrase searches.

It actually works surprisingly well, the main problem being too many hits on more common words or phrases.

This is a very interesting discussion and it had been really good to read all of the responses. I agree to a point that a lot of the older / classic folder structure is becoming obselete, however i feel that the interim we do require a folder / file structure of some sorts, perhaps one limited to the files we are working with, i.e. PDF’s have their own structure.

I also agree that iOS’s implementation of a file storage / information storage system is flawed, the problem i have found (which has been highlighted by others) is duplication, this is especially annoying when duplicate files are updated by different applications. For example PDF’s, i view make notes on a lot of PDF’s of information, on my iPad i primarily manage these through DropBox and a PDF editor/annote app, i have to import the PDF from dropbox to my PDF editor, make an edit, now if i don’t upload these back to Dropbox quickly then i could easily make a change elsewhere meaning i would have two versions of the PDF which is then an fustrating case of trying to merge these back togeather. This example also does not take in account that i am losing storage space unnecessarily through file / data duplication.

Apple should have implemented a dropbox solution and baked this into iOS from the start, they should have also implemented this so when you connect the device via USB, the file structure then become visible like a memory stick, easily transfer files. I can understand keeping media such as music and video hidden, but documents and photo’s could be exposed via the memory stick view.

I understand what apple are trying to do, they have been doing this for a while, to hide files behind applications, however there has to be a mid step, jumping from files and folders to no folders is quite a jump and leaves a lot of users (linked in the article, in these comments and myself) unable to be truly productive as we can’t manage our files easily enough.

One last point, is that with files and folders the one thing to keep in mind is millions of files. Many people could remember the location of a active set of working files, but give it a month or two, many people would have a hard job trying to remember where they saved project files, is it in that folder or another. So the concept of files and folders in the classic way will eventually die away to be replaced with tags, file type, file information such as photo, pdf in a view based system. That like iOS it doesn’t matter where the files are saved but only of what type they are.

I have had to help family and friends with computers and the people who are not from a computing background, who scatter files absolutely everywhere, i have given them tutorials, step by step walk throughs on how to create and use folders but they forget and simply save wherever. Files end up in user folder not in the documents folder, they simply perform a search to find them, but the underlying storage is a nightmare, so these merge of abstracted folders like iOS with instant search would certainly benefit them also.

Einstein said: “It can scarcely be denied that the supreme goal of all theory is to make the irreducible basic elements as simple and as few as possible without having to surrender the adequate representation of a single datum of experience.”

Or the more common paraphrase â€œEverything should be made as simple as possible, but no simpler.â€

That’s where I sit on this file system and usability over simplification.

If you take usability to the nth degree the most usable computer would be one that does what you want without asking and sometimes before you have. However how then do you know what you would want to do.

Apple’s treatment of the filesystem is really just an extension of their new computers as dumb devices mentality. They decide what you can buy (law suits against competitors), they deside how you use it and what you can do with it, they decide what programs open what files and put any competitors at a disadvantage.

You want to worst of it, this disease is catching and their competitors are taking notes. This gen of Android phone have more sealed in batteries and memory than all the pervious gens combined. MS is busy destroying Windows to have that level of control for themselves.

When I have a computer I want to be the user, not some guest on some device I have licensed from the real user, the company that made it.

I have ~3TB worth of drives in my destkop PC. I can find most anything I want in there under 30 seconds and I never use any kind of search function. How? I make it a point to keep my shit organized. Like I was taught when I started using computers 20 years ago.

Files and folders are an excellent way to do this which is why I hope the traditional file system sticks around and doesn’t morph into something like the dumbed-down mobile OSs where you are at the mercy of the operating system and apps to kindly give you access to your data.

I don’t get the argument that “users don’t care about files”. Can you drive a car and say “i don’t care about the gearbox or the break pedal i just want to go”? If you don’t care enough to learn the basics you have no business using the device anyway.

Well, many (most?) people in some countries are presumably lost without automatic gearbox…

Anyway, you know, the whole point of computers is to act as sort of prostheses of our minds, to free them for really important stuff – if that means largely moving away from files and folders (especially considering immense increases each year in the amounts of data we generate), so be it.

I’m fairly certain you still use Google, despite large decently categorised repositories of information (there’s Wiki with all its categories you can go through manually, and still some quite extensive web directories)

And I guess some were saying similar things about being familiar with actual logical (~sectors and such) structure of mass storage, not too long ago…