Why Folders are holding back hassle-free File Management & Tags are the Future.
blog.doctape.com
blog.doctape.com
But I also feel like there are a lot of problems that need to be solved about streamlining the process of tagging files, dealing with typos, and auto-creating maps of the tag structure.
And even if we did move to a wholly tag-based userland, your non-technical relative/coworker would STILL find ways to lose their documents.
Maybe tagging will be a better way. But I think "files" in "folders" have survived for the entire history of file systems for a good reason - they're conceptually simple for our brains to manipulate. There's enough of an aura of physicality to them that we can leverage the part of our brain that's good at storing maps. Honestly I think the way to move forwards is more along the lines of Raskin[1] - interfaces designed to make things MORE spatial - than into tags, which are incredibly ethereal to our brains.
Files and folders are, I think, a local maxima of efficiency. Tags may be more efficient in the long run, but there's a painful trough of uselessness to trudge through before we can get there.
(Other problems I see with tags: - importing existing filesystems, without losing the existing hierarchies - do YOU want to go back and manually tag every file you've ever made and are still holding on to?
- can't control the importance of information. Sure, that project you just finished gets drawn huge in your tag cloud. But it's done, you want to move on, you don't even want to think about it right now because you're in the middle of the next one.
- suggesting tags as you type is not good enough, there needs to be a lot more work put into associating tags, so that if I'm saving a file with, say, the tag for my current comics project, I'm instantly presented with the associated tags of "web final images", "book file images", "fan art", "model sheets", and various subtags of those. )
[1]: http://www.raskinformac.com/features.php - and now I kinda want to try that out again, it's been a while.
This method works very well and has been in use for quite some time across multiple workstations, operating system revisions, tools and software revisions as well as a number of engineers. The only effort required in order to maintain this system is to abide by common sense agreed-upon directory structures. For example, if working on an electro-mechanical project, the fasteners might go in the "Fasteners" directory under the "Mechanical" folder and the embedded software might go under "Software", which, in turn, lives within the "Electronics" directory. Not tagging. Nothing that can get lost or royally FUBAR'ed if tags are lost or corrupted, etc. Just a darn simple file cabinet analog that works very well and is perfectly usable, easy to understand and fully searchable.
Don't get me wrong, I like tags. They are great for certain applications. I just don't see them as practical for anything I've ever touched in terms of project or file management.
The real problem, I think, is that folders reflect reality. Tags do not. Most people are think of a file as belonging in one specific category. So you tag it as such. Very few people would bother trying to remember multiple tags to apply to their files. The process of organization is too cumbersome, so you stop doing it.
So what do you get if you only apply a single tag to a file? You get a flat list of folders. If the tags have a hierarchy, you get exactly the same thing as using folders. So why bother with tags?
With my Email I don't even use folders. In that case, I don't bother organizing anything. Search works just fine for me. In fact, search works just fine for most of my files these days.
It's true. The argument that tags do everything that albums do and more is false. Perhaps for an engineer but the brain thinks in terms of albums (or folders for files). Nature or nurture, it doesn't matter. This is not a battle you win with engineering.
I think the true future is in a hybrid. Improve the metadata on a file (Windows is making giant leaps in this territory), improve file search indexing and capabilities, and retain a hierarchy. This allows ease of both searching and browsing, and is not any different from what we're doing today (no retraining Grandma).
But I agree with you that a system can't discard the file hierarchy without discarding important qualities many people need.
Now, were we to talk about some standard of tagging that has link relationships baked in, we might be talking. But then we sacrifice customization.
A folder defines a directed graph. Combining tags loose the "directed" part. It may be good enough for some, but it's not the same and will fall short in some cases. This difference is the 1st point mentioned in the article. The article says that it's inflexible. In some cases yes, then use tags. In other cases, it will be exactly what's needed and tags will be cumbersome.
The two other limitations (related to searching and sharing) are bogus IMHO. They're not limitation of a folder system, but maybe of some implementation.
But folders are really good at collecting files with a similar purpose together. Does a good tagging system have a notion of a "collection" or something, instead of just categories and tags. If so, it just seems like folders by a different name. Moving away from folders entirely, I would be wary of losing track of some seldom-used files completely.
But maybe this is just as much about how files are stored on disk, and disk efficiency.
When it is needed, that file can also be 'added to' the 'folders' "Teams"->"Alpha" and "Clients"->"XYZ Corp".
So, sort of like folders by a different name. But more like folders++. With complexity hidden until desired.
How files are physically stored is neither here nor there.
The problem with tags as pseudo-folders is that it breaks a core promise of "folders". Folders are a metaphor, and when you use a metaphor like files & folders, you're making a promise to the user. You're saying: "I'm making these things familiar to you so that you don't have to learn a new behavior."
To be clear, I have no problem with tags, and I do believe that the standard "hierarchy of folders" we use today is untenable with the volume of documents we generate, but extending folders is a bad idea.
The reason this breaks so badly is that users expect to preserve the basic move/copy dichotomy of a file/folder when we represent items as such. This expectation is rooted in the metaphor of a file or folder in the real world. I cannot place a physical document in to two folders without copying it. When I copy the document, changes made to the replica are not retroactively applied to the parent.
I have seen many Google Docs users lose hours of work because they used the "collections" feature of Google Apps incorrectly. An example, I've seen plenty of users do the following in an attempt to copy a file to a new collection in Google Docs:
* Locate an item that is already in a Collection
* Check the item in the Document List
* Click the "Organize" icon (it's a folder)
* Check the box next to another collection where they want the copy
* Click "Apply Changes"
The vast majority of the users I work with assume that the "same" document cannot exist in two places at once. They assume this because that is the way that files & folders have always worked. If an action results in the appearance of two documents, there are two documents. The item has been copied. It doesn't matter whether the language "copy" is used. The action is implicit in the learned behavior of files & folders.
Tags should be called tags. Users are smarter than you think. As engineers, we might be frustrated by the assumption made above, but in reality, the user is drawing an inference based on past experiences. They're applying conceptual knowledge that we taught them. That's "smart".
Implement a tagging system in a way that solves users' problems and they'll flock to it, but don't make it opaque by masquerading as something they already know.
Tags are for organization. People like to organize things in terms of visual hierarchies and landmarks. Raw tagging systems aren't popular, because most people don't memorize precise strings. [1] They remember roughly what directories look like and 'know where things are' based on whether they believe they can confidently determine "it" from "not it" while they navigate a structure.
e.g. Was the tag "RaptorX" or "2012 Predator" or "FooBird"? The user doesn't know. But they do know that when they navigate their project folders, they'll be able to pick out whichever project was fuzzily translated to "something like a bird of prey" in their mind. And they'll be able to do this as they navigate into a tree, as fast as if they had remembered exact strings. [2]
So when people are looking for something quickly, they're going to like the visual hierarchy. And when they're first saving a file [3], or when they're looking to open something when they 'know' where it is, they respond very positively to a visual hierarchy.
It's not about 'hiding' the fact that those 'folders' are tags. Or hiding the fact that files can live in multiple places (with multiple versions no less). We're still talking about new software that people would have to be trained on and told about its particular attributes.
So the fact that, yes, you need a dialogue to capture explicit intentions when doing move/copy operations in a pseudo-folder tag system is not a problem.
[1] Also why command line OSs and command line navigation are unpopular. People really like visual organization.
[2] In my experience, this is what people are really saying when they insist they'd rather navigate than search, even when they 'know' where something is. It's because they "know" where something is, in terms of landmarks in the visual tree. They know in a fuzzy way. And fuzzy searching is either frustrating, or requires nailing down enough tangential data (user/date/file type) that searching isn't any faster than navigating.
[3] Almost no-one wants to think about proper taxonomy or organization or an exhaustive document profile when they're drafting a new document. They just want to stash things somewhere where they can find them tomorrow and/or reasonably direct a third party to them. Proper organization is almost always a discrete mental process that happens after a document is 'done'.
I do like that idea though. Users often treat folders like tags. In a manner of speaking folders are tags, in that they label the contents. They just happen to be organized in a hierarchy. The tags get more specific as you dig deeper in to the tree.
I'll have a go at reasoning by anecdote. For some reason, the default behavior of the Finder search field searches your entire computer as you type. This always struck me as odd, because it is 180 degrees from what I wanted. I would frequently:
* Navigate to a relatively shallow point in a folder hierarchy
* Start searching from there, expecting that my search would be constrained to this location
I do this because I know (generally) where something might be, but I can't recall exactly where.
I ended up reconfiguring Finder to behave like this.
If you split the folder path by separator, you often get a set of tags. So, by drilling down in to a folder heirarchy, you're "scoping" your search by tags, getting more detailed as you go.
I think hierarchy may be the missing piece of the tagging puzzle. A hierarchy would provide guidance (and a visual component). It says, "start broad, then get specific". Imagine a workflow where you would navigate to a specific point in the tag tree, then create a document. Doing so would associate the document with the current tag set without any additional work. If needed, the user could add additional tags, drilling down as they go.
My most important point about "folders" is just that we should avoid referring to these new systems as such. If we want to make progress, we need to unhinge users' thoughts from old concepts.
Fair enough and I absolutely agree. Though be prepared for users to refer to them as such.
And as to tag hierarchies - that's where things have been going. At least, those things I follow (DMSs, CMSs-not-named-Wordpress). It also addresses the concern raised upthread of "Company A\Secrets\Company B vs Company B\Secrets\Company A". With hierarchical tags, this isn't remotely a problem.
If I'm keeping files on what multiple companies are up to I might have: Company A -> Secrets -> Company B and Company B -> Secrets -> Company A
To denote the secret files that each company is keeping about the other. The tags would be identical, but the folder structures entirely separate.
> module-1
> views
> other-thing
> views
> module-2
> views
> module-3
> viewsBut people have stubbornly resisted that for so long, I wouldn't hold my breath. [1]
[1] It seems just about every document management system since the 90s was designed under the "search, don't scan!" assumption, stubbornly clinging to theoretical efficiency and then grumpily (and often painfully) adding back in 'artificial' folder structures built from the tags for both file->open and file->save UI.
Also, this article gets the details wrong. For example, you certainly can nest folders in the real world. Take a personnel file cabinet, with a 2012 drawer, with a hang folder for each employee that contains a manila folder labeled timecards. That's 4 levels of nesting and it works fine.
It's often said that the devil is in the details. Simply saying, "Tags subsume folders in the UI" likely has many cascading implications and edge cases.
But this is obviously messy if you don't do it right. I agree that implementing tags in a way that completely replicates the abilities of folders without burdening the user is non-trivial.
What made the difference to other indexing systems was that the queries were fast and real time because it was all implemented in the file system itself. That's what's needed to make people first trust indexing and subsequently use it as a daily tool, like we use 'ls'.
Genuinely curious. The more I think about this type of system, the more questions I have. It seems like you would only want to use this with a SSD or other non-disk based storage.
It does raise a number of questions that aren't immediately obvious without immediately falling back to a hybrid approach, even if it's internally. But then, you're back to folder structures again, just in a way that is opaque to the user.
For me, I was actually curious how existing namespaces in languages that are so intertwined with nested folder structures would now work (such as Java and Python).
But the claim that folders can or should be eliminated is seriously misguided.
* Tags aren't enough once your file number exceeds a certain amount.
* File path provides a unique human-readable and human-understand identifier for everyone's file. A system where pieces of data don't have unique identifier is going to be serious drag at some point. Even average people need logical consistency occasionally.
* While folders may be a somewhat hard metaphor for new and casual users to understand, so are tags. A many-to-many relationship isn't actually something people quickly understand fully even if they can quickly get fuzzy understanding it.
* When you throw out the spatial metaphor of folders and files, you've thrown out the guarantee that a file is "somewhere". I've lost and seen other lose files in a disturbing fashion on MACs. Without a keyword for file X, that you just uploaded, you can't "look around" for it.
Reminds me of trying to organize/tag my mp3 library. Those fringe cases of imperfect tagging get so cumbersome to manage. Also, with folders, it's so easy to just dump x number of files into a folder and have it organized. Batch tag editing just isn't as intuitive. Now I have an Android and use that as my mp3 player, and Poweramp has a "Folders" view that I almost exclusively use.
The real new hat is search and all major OSes are doing this more or less correctly now. I don't recall the last time I browsed to a document.
Also worth mentioning that the concept of "documents" is itself a quickly aging hat. With some very few exceptions most documents are tied pretty closely to just one app and apps and those apps in turn can have more specific ways of handling those documents (i.e. projects, libraries etc).
The internal representation of files and programatic access is another matter - we do need a better way to segregate access and assign metadata to files. Possibly a relational file system would be the way to go, but it's not a problem that very urgently needs solving for anyone so nothing too exciting there for a while....
Tags don't work without a search feature - we might tag religiously but others don't and won't.
If you're implementing a search feature then you no longer need tags.
It won't take off. Especially as these days we seem to be moving away from files full stop.
Do you have any plans for how to address this?
I'm sure that successful file managers will also have some degree of fuzzy matching. But tags are still useful, even if we never realize the RDF dream of a perfect global ontology.
Folders make using previous organizational decisions easier than creating a new organization. Incentivizing that behavior is a net win.
I'm not all gaga over tags, keeping 'primary organizational tags' around makes lots of sense to me. We can even keep on calling them folders. My point is that you really have to construct a silly, user-hostile system for a tagging capability to actually make things worse than no tagging.
Of course, using hard links is currently not easy for the technically incompetent, but you could change that, and it ought to be easier as you're just interfacing with existing capability.
I'm a big fan of building on existing capabilities, as you can probably tell.
One other thought- in Explorer or Finder, is it possible to search within a set of search results?
It is indeed true that folders are the least efficient aspect of operating systems but it is strange that we're still holding on to them.
Let's look at two examples of most-used aspect of folders. A document file and photograph file.
For me, the least efficient aspect comes with not being able to store a single document at multiple places (folders). If I have a document on Subject A written by Author B and C (two authors), than I may want to have this single document show up at multiple places, for example, the Subject A for me could be XYZ, ABC etc. The best I can do is create shortcuts of this file in a multiple folders (I shouldn't duplicate the file). So here, the tags would come handy.
Now, I don't know about you but I have spent significant amount of time thinking over how to folder my photographs (and I am not a professional so not talking in GIGs).
All in all, the folders are not very efficient on their own.
Curious, how would an OS work with no folders? All the system files just have a "system" tag?
Personally, I've learned folders. Now I have trouble thinking about a filesystem that wouldn't have them. How would you organize files on a physical disk with no file structure?
This would be a lot of work, since all existing software looks for users' files in folders, looks for its own internal configuration files in folders, loads DLLs from paths which are lists of folders, creates folders to put itself into when it's installed, calls APIs to open files with hierarchical names, uses current and temporary directories, etc., etc. This is true for every operating system that I can think of, not just Windows.
I had an idea for a tag-based file manager for Windows, I even have registered a domain which I think is cool -
taganizer.com = tag + organizer
But I didn't go for that idea for various reasons, I'm now working on http://liveditor.com.
Google Docs started out with no folders. They added them with Google Drive http://support.google.com/drive/bin/answer.py?hl=en&answ...
EverNote used to just have tags. Now they have "stacks", which seem to be hierarchical tags. I'm not sure who really uses that kind of stuff, it seems like quite a bit of work
DropBox is obviously predicated on the idea of folders.
(I don't know anything about EverNote.)