47 comments

[ 4.6 ms ] story [ 77.7 ms ] thread
When is someone in charge of such things for an OS vendor going to realize that for any of "my" documents, what I really want is to tag them?
I would jettison every piece of computing hardware I own right now and switch to the first device that would let me add (and search) tags in file metadata.
I think there are some Linux solutions for this using extended attributes (which are by the way pretty easy to use).
And one that doesn't, and is AFAIK incompatible with others. Nepomuk from KDE does this with a separate database, I believe this is mostly to allow it to work when xattr isn't available (say for some network filesystems). I've not actually used it much myself, (there's far too many files for me to even begin doing it.)
Most Linux distros do not enable xattr support at all by default, which is where the database thing came from. Very annoying.
Most Linux distros do not enable xattr support at all by default, which is where the database thing came from. Very annoying.
I guess you weren't there for Be OS, which did let you define your own metadata and then search on them. The bundled mail "application" was what OS X calls a "smart folder," a saved search displayed in the filesystem browser. The software that downloaded mail stuck the headers into metadata attributes which the finder-like filesystem browser (the Tracker) could display in sortable columns. Really quite an impressive demo of the technology.

The music player worked the same way, relying on other software to copy information out of the ID3 tag into the filesystem metadata so you could search for music by artist, album, year, genre, etc.

I've started putting tags in filenames. This works pretty well. Instead of saving a downloaded file under its original name -- "leadfreereliability.pdf", or whatever -- I'll give it a new, verbose name like "Aerospace_Corp_lead_free_reliability_report_2011_Kostic_Pb_free_RoHS_bullshit.pdf".

Then, later, I can find that file and any similar ones with a simple command like

    dir /s | grep RoHS
...or the equivalent command in a different OS that might share the same drive.

It's no substitute for a true tag-based file system, but it's much better than nothing.

Type 'man xattr' in your OS X terminal; isn't it what you want?

xattr -s author George file

(It might need a -w, I'm not sure as I'm writing it with my iPad)

I'm not sure it's searchable though.

But unless I'm very mistaken, mdls (metadata list) Is searchable. It lists what's been saved by Spotlight and you can add to it.

I use "Spotlight Comments" on OS X for tagging files. Not sure if this is exactly what you want but works great for me.
The internet and need to transfer files between systems killed any concept of this sort of thing remaining working.

The AmigaOS had it decades ago. Making it work when transferring a file to different OS's or even between the same OS using standard protocols makes it a really hard problem.

IIRC, this was one of the elements of the WinFS project that Microsoft worked on as part of their Longhorn project. In the end they could not get it to work, dropped WinFS, and Longhorn came out as Vista.
I think funny that it's easier to dumbi-fy the user instead of creating something worth some like tagging and making metada easier and more useable.

EDIT: Also, I think he's referring to iCloud only.

Wasn't the original Apple "filesystem", circa II, a flat one? That is, a list.

Not only is it easier to work with, as the article suggests, but, obviously, it's faster!

I use globbing on a daily basis over other later approaches, e.g. regex. But it works best with a relatively flat filesystem. Too deep, and it's off.

The simplest approach possible.

But before we can fix filesystems, maybe we need to teach people how to name files in ways to make their life simpler. Long filenames and ones with spaces and punctuation inevitably become a huge PITA. Yet we think of these as "must-have" conveniences.

I used to believe that too. But over time I've realized this slows things down immensely and introduces lots of unneeded complexity. Speed and simplicity is more important.

If you can get by with only a "list of files", you are better off.

I really don't understand what is being said here. How are folders a hard concept?
Coming from Linux, you would think "new file system" would mean that: a new file system.

But its just the same smoke and mirrors Microsoft did when they scrapped WinFS: add magic folders, terrible ideas (translated folder names?) and missing hard features (links) in a limited fashion.

Thats sad, because the file system could certainly do with a complete makeover: metadata, builtin sync with the cloud, backup and encryption as a first-class citizen, etc. etc.

For now, thats only available in enterprise solutions like ZFS or in the still very alpha btrfs.

My feeling is that Microsoft is much closer to a post-files world than Apple is. Apple thinks files should stay within the app, which is exactly the opposite of why we had consumer-viewable file systems in the first place. We want/need to be able to edit files in different programs.

Windows 8's Contracts, combined with system-wide Share, and storing everything on Skydrive (so when you log in to another Windows 8 machine with your Live ID, it's all there) is a much more rounded vision for a post-file world, one where you have documents which are shared around, rather than opening apps then pointing at files.

I'll have to see what this is like by actually using it. Right now, my biggest concern is that it usually makes for better usability if you allow the user to organize and group content in a way that makes sense to them. I don't feel this is an area where the OS should take control away from the user.
So ... what happens if I drop to the terminal and:

mkdir -p /Users/username/folder1/folder2/folder3

... and then open the finder and navigate to my home dir ... do I just not see past the first nesting ? Is it hidden ?

Windows did it first... My Documents / My Downloads / My Movies / My Music / My Pictures. The author makes it seem like Mac's "default content folder" scheme was a novel idea.
[citation needed]

I'm fairly sure that Mac OS X was here first, and it was copied to XP. IIRC, I was running Windows ME at the time of Mac OS X, and ME did not have those default folders.

I couldn't get past this part:

    Even geeks can’t handle folders in folders
Hierarchical file systems weren't invented because it was ancient times and they were the easiest thing to produce. Hierarchical file systems were invented because they are a really, really good paradigm for storing and retrieving hierarchical data - which I strongly believe is still the case for the majority of files.

I didn't read further in to the article so perhaps I missed where this same idea was discussed, but I think a useful idea going forward would be meta-tagging of data. Something very basic like the ability to flag a file and later search or sort by those flags. Do it for specific folders, like the Documents folders. Done.

Now the 'non-geek's can deal with flat file structures and us 'geek's can do smarter things.

> Hierarchical file systems weren't invented because it was ancient times and they were the easiest thing to produce.

Correct. They were invented because it was just past the middle of the 20th century, and they were the best organization mechanism for the resources available. They're also very robust, versatile, and wonderful in innumerable ways, especially for the audience at the time. Unfortunately, they're not the best thing for most users today, when we have more computing power and experience with search as an organization tool.

Search is the opposite of an organization tool. It's a tool that allow users to avoid being organized.
Or, it's a tool that allows users to have organization, without needing to implement it themselves. (After all, the indexes of the search mechanism clearly have a high degree of organization.)
Folders or tags are hard in the sense that both of them require a user to think about organisation, when in reality any of them just wants to find the file 'magically' where they last left it and do stuff with it. In most cases this is in some application or (in my opinion still a temporary stop gap) a one level deep file system.

The applications itself will serve the needed context or metadata (type of document, last modified time, access/sharing privileges) to find the files you're looking for.

For some reason I think the author is being overly wordy. The point if I understand it, is that Apple is once again moving OSX towards iOS by switching from a strict folder based filesystem to an App structured file system (from the user's point of view). This allows people to find content and files more easily because they will always be where they left them. In the app that uses them.
I almost would not mind this if I could open files in new programs like the Share feature of Android. This is one of the reasons I dislike iOS and barely use my iPad for anything but comics and web reading.
That works fine until you want to open a file with several different applications. For example, you might want to open an html file with several different web browsers and a text editor.
Information architecture from a neuroscience point of view.

Concept building: A bottom up hierarchy

Everything you know was learned in the context of prior knowledge. You combined prior experiences, refined them, and over time solidified them into new constructs which you then used to repeat the process for higher level concepts. Visual light and dark blobs become coherent shapes which get associated with meaning and eventually those meanings get associated with names like 'chair' or 'rabbit.'

Content access: A top down (and sideways) lookup.

In many cases we know what we want without bothering to think of the name. Being thirsty may mean you think 'glass','faucet','stream','bubbles', and 'water.' But you don't have to think any of those words to get a glass of water and take a drink.

Unfortunately in much of IT there is a textual interface so you first have to pick a starting word and then use that to find what you're looking for. Any time you think of a word it is physically connected to many other notions, memories, experiences, and other words built over a lifetime of experience.

When we try to describe what something is we access the hierarchy we have learned. A chair is a piece of furniture, which is a solid object, which is something I can touch. We may even use this description to create a hierarchical description.

The tension here is that how we describe things is at best a very limited subset of how our brain connects to information about that thing. These mappings differ from person to person and change over time. One system of hierarchical categorization cannot be intuitive to all people and probably won't be to the same person after 10 years.

IMNSHO The only interface which will 'just work' for organizing labeled objects is one that knows you. The best example of this is Google's one box which searches my computer, builds associations between content that are not directly related to the search terms I use, and modifies itself over time based on my behavior.

where is the neuroscience in what you wrote?
this. OP should keep in mind that any user interface is built upon learned, flexible metaphors for the data it represents... files and folders are a metaphor that break down for some use cases and work well for others...

I always have a hard time taking anyone seriously who thinks that these metaphors can be fundamentally improved. A metaphor that's intuitive for one person could be completely confusing and out of context for someone else.

> But that’s not the real reason why geeks are skeptical. It’s because we are smart asses. We are the people that put salt and pepper on the pizza before trying it, because we just know best.

I couldn't have put it better. It goes double for us coders.

I'm sure this will add a lot of awesomeness to tasks like creating a web page or an application; all the pngs and jpegs mixed together in Photos, templates and styles in Documents...
> We are the people that put salt and pepper on the pizza before trying it, because we just know best.

Salt and pepper... on pizza?

Is that a thing?

I put pepper on pizza. If you have meat or cheese on your pizza, adding salt is just too much (for me).
I find the claim that nobody understands multi-level file systems a hard to swallow. Inside my Documents folder, I have a folder for one of each of several organizations I work with, inside of those a set of folders for one of several different things I do for those organizations, and within some of those, a folder for every project I have going on. I don't necessarily need to know the complete path to everything, but anyone can generally look at the directory listing and see what the next directory to look into is.
I guess we'll have to see how this holds up: Usually the problems arise not from one's own folder structure (most people know their way around what they've created) but when working together in someone else's structure. Does this approach solve that problem?
I guess we'll have to see how this holds up: Usually the problems arise not from one's own folder structure (most people know their way around what they've created) but when working together in someone else's structure. Does this approach solve that problem?
Is it a symptom of the fact that he believes himself to be an expert on the subject that he enjoys using the term "file system" over and over in a way that goes against 50 years or more of common usage? Or was it just link bait for those of us who thought there might be some new HFS+ implementation?
I started reading the article expecting to find some sort of description for a new file system and couple of paragraphs in I discovered that it reads like the how to frame yourself as a opinionated clueless twit manual of the year, I am going with link bait. Priceless link bait.
> Folders are not a feature that beginners muddle through but pro users require. No one can deal with deep folder structures. Our brain is simply not built for them.

This is ridiculous. I have computer files I've produced from over the past 20 years. As time goes by, I continually archive them in a big old hierarchical folder called "Archive". Broken down my life phase, school year, project, etc. Without folders-inside-of-folders that whole system would be a mess.

Or, programming projects. How can you even imagine organizing your stylesheets, plugins, libraries, components, endpoints, controllers, etc. without folders?

I'm sorry, but throwing away hierarchical folders completely is a monumentally stupid thing to advocate. Beginners might be better off without them, but pro users absolutely require them.

And our brain is most certainly built for them: http://en.wikipedia.org/wiki/Memory_palace

Now, I'd love to have tags as well, but "keep your hands off my folders!" :)

This is bullshit, in a lot of ways.

1) This isn't a file system. It's a file structure.

2) Presumably I can still make directories inside of other directories if I want to, right? Given that this isn't an actual "new file system", they can't stop me, right? This was totally unanswered by the article.

3) If they actually prevent heirarchical file structure, can OSX still be called Unix? I think you need root, /usr, /dev, /etc, et cetera.

4) In all my years of dealing with noobs, I've never seen anyone flummoxed by a heirarchical file setup. Yeah, when they first start out, many people open files by clicking the program and choosing "open". But it usually isn't long before they want to start transfering files between devices, folders and programs. And if you need to do anything like that, you need a file browser and heirarchical structure.

I guess I've read it enough to believe it, but I can't. How can computer professionals actually suggest it should be like this? For everyone and not just some training wheels I can take off?

This argument does not make sense at all. Almost everything we do or own in the real world is based on one form of hierarchy or another. Work (CEO > Executive > etc.), Home (Parents > Old Siblings > You > etc), House (House itself > rooms > closets in a room, etc.) These are not just labels and there is nothing geeky about them either. They imply a certain order or sequence of things that can not just be moved around. If there is one thing that we as people are good at, it must be hierarchies.

Tags on the other hand do not imply order of things. They are more about how you'd describe or how you relate to these things. For example you can have a 'favorite' tag and apply it both to your sibling as in 'your favorite sibling' and one of your closet as in 'your favorite closet in your room'. It says nothing about the order of these things just that your like them. Also, tags can be somewhat temporal as opposed to hierarchies. For example if we take a folders and files example, I can have a top level folder called projects which contains sub-folder for each project I've ever worked on. In each of these sub-folders I can then store the project-specific files. I can use 'current' tag to tag the project I'm currently working on. When I finish this project and get another project, I then remove the 'current' tag from the just finished project and move it to the new project leaving the hierarchy intact.

The point is not to use folders when you need tags or use tags when folders are required. The best files system would be the one that allows you to use both as situation demands.

Nothing to do with file systems, got bout half way before I realised this was just some tool talking about how hard it is to keep his shit organised.