A while ago I published a blog essay and screencast on the evolution from a folder-oriented to a tag-oriented metaphor for storing, organizing, and searching for digital objects. The subject of the screencast was Windows Photo Gallery, an application that lives at the intersection of those two metaphors. Since then, I’ve looked for opportunities to explore what happens at that intersection.
One case study happened a few months ago. The test subject was my wife, an artist who has lots of images of her work and needs to rearrange them in various ways for various purposes. As is typical, those images sit in folders that aren’t aligned with the new arrangements she needs to create. Being a tagoholic, I suggested a tag-based strategy. Leave the photos in their existing folders, point Photo Gallery at those folders, and then use tags to define a series of virtual views. She often needs to burn CDs, and you can do that directly from the virtual view produced by a tag query, so this strategy looked promising.
But it didn’t work for her, and here’s my take on why not. Yes, it’s theoretically better not to duplicate images into separate folders. But in practice, the virtual views produced by tag queries were too abstract. She really wanted to materialize “physical” folders that felt more tangible, more permanent.
More recently, I found myself in a similar situation. For a presentation I was making, I needed to find photos in various folders, collect them, and include them in the presentation. I’m a tagoholic, and I’ve got no problem with virtual views produced by a tag query. But I wound up having to materialize a “physical” folder anyway, because there was no way to browse to the virtual view from applications other than Photo Gallery.
There are no easy answers here. On the desktop as well as on the web, we’re in the midst of a long transition from container-based to query-based storage and retrieval. And really, transition is the wrong word, because the two approaches will coexist into the indefinite future.
Given that coexistence, how can we help people understand the relationship between these two approaches?
21 thoughts on “Tagging and foldering”
From my desktop point of view, I hate tagging when only one application can make use of these “tags.” Whereas, on the web being that the “tags” are restricted to the website/service there really isn’t much of an option to hating it.
I think another TWO years from now, the Cairo Object File System may have a ready market of people understanding its value.
It would have been nice to have the Cairo OFS available now, but I guess we’re mostly not ready for it yet.
Just create an RSS feed with an entry for each photo. Isn’t that a “virtual folder”, reusable by other applications (though probably not understood by many desktop apps yet)?
The “/” in a URL is simply a typographical convention to indicate a particular aspect of website structure. If you want people to navigate all the documents in a collection, use an RSS (or Atom) feed instead.
Whatever happened to symbolic links in the Windows filesystem? I believe they were introduced in Windows NT. I’ve seen descriptions of how to create them manually from a console, but having real symbolic links would be very helpful with integrating with existing tools and folder views.
My experiences with photo tagging on the desktop have been painful. Depending on which application writes the tags, they might be external to the datafile, or internal. If they’re internal, they might be EXIF, they might by IPTC, they might be XMP. I might have valid EXIF tags in a photo from one program, but when I view the file in another program find they are silently duplicated as IPTC or XMP, or I might find that they are silently deleted. Simply *viewing* a file in a new image viewer can corrupt your metadata in invisible ways. If you stick with only one program you know you are pretty much free from surprises, but even then a photo tagged “Victoria” won’t tell you whether it is the city in Canada, the state in Australia, or the girl you met in the pub.
I think the biggest struggle will be making sure people understand what they’re looking at.
We will continue to have directory structures for the forseeable future. Many times, things really *do* belong in one place. The physical world behaves in this manner – a physical object can’t be in two places at once, and so this mapping just makes sense when we see it in action in our mediated interfaces.
With ‘query-based’ results, things can appear to be in multiple places at the same time. This will definitely take some getting used to – probably about a human generation *after* the interfaces are good. We have to wait until we have ‘query-based’ natives.
That said, getting consistent behavior from our operating systems on how to deal with tagging/keywords has to come first. Adrian is absolutely right about that. Once that is tackled fairly well – the interface into ‘contents’ and ‘search results’ will have to be made very similar, but distinct. Confusing these two views into your data could cause an array of very bad problems.
And why can’t I navigate to a ‘Smart Folder’ from the CLI on my mac? Silly XML.
One metaphor I like to use is the recipe book.
Categories behave like the book’s table of contents, which contains structured information; using that table of contents gives you a complete picture of the book’s data, and with a quick peek at it you can evaluate if the book probably contains what you’re looking for. You’ll know in an instant if you’re holding the wrong book (I want to bake a cake, no dessert section -> wrong book).
Tags look like the recipe book index, with incomplete and unstructured information. The burden of the search is put on the user, because you can’t get a coherent picture of the book contents. (I want to bake a cake, I sure hope the authors put a “cake” entry, if not, maybe “flour” or “sugar” will do (but there might be too many irrelevant results)).
The transition from container-based to query-based storage and retrieval does not make tags a necessity (full-text search seems more relevant), but for some data sets, for some tasks, tags work better than categories. Multiple containers come to mind, and trying to match recipes to what’s left in my fridge is easier with an index than with a table of contents.
“how can we help people understand the relationship between these two approaches?”
By using metaphors.
The metaphor I use is the following:
Imagine you’re managing a store. You put stuff in aisles, racks, boxes. Those are your hierarchical folders You can’t put anything in two places at the same time – that’s not possible in the physical world.
But you can put several tags/labels on stuff. You could put “1997” on wine. And “France”, and “reserved by X”. But you can also put “1997” on marmalade jars (not sure whether that would be a successful product), together with still other labels/tags like “for children”, or “Christmas”.
That way the shop-boy can quickly go through the aisles and racks and boxes and come up with a selection of products when someone asks: “I want to have stuff from 1997 for my company’s 10th anniversary”. Or “I want to by my little nephew a present but I have no clue what to give yet”.
You can use as many labels you want for any purpose you like, as long as you think it’s useful to be able to make the selections you think you’ll want to make later on. And you can come up with more labels anytime – whereas with the distribution of your stuff in aisles and racks and boxes, you really have to think about beforehand what the most handy way of arranging your stuff in the shop would be, because it’ll be a hell of a lot of work if you want to change that arrangement afterwards.
@patrice : our comments crossed :-)
I’ve been trying the tag approach for management of email – all my processed mail goes into a single folder, but is tagged with categories, an Outlook functionality. The issue I keep running into is related to the decision process for tagging. Imagine the first email that shows up that is the very first of a new idea to be tagged – generally i don’t “get it” then. So after the 6-10th email it hits me – this a tag worthy set, so I go back to search and tag. so the first issue is recognition.
The second issue is tag consistency. I have the issue with long running, low volume chains, and when I see an item i sometimes get that nagging felleing that this belongs to a existing tag, but i’m not sure wich one. So maybe i get it right and maybe i don’t. This is further complicated by the next issue…
Tag hierarchy or interrelatedness. Image the simple case of product x versions 1, 2 and 3. Further deployed in locations a, b, c, which also have products y and z. permutations and combinations start to get overwhelming, and the decision to create a set identifier, a molecule, that is treated a s single tag becomes very enticing. then the need to programaticly explode the molecule to it’s constituent atomic elemental tags becomes a necessity to provide the ability to find something based on it’s atomic tags. And the need to identify molecule tags as differentiated from atom tags. Whew – I’ve become an info chemist!
The long and short of it is that information classification is fluid, and the tools for making it happen are embryonic. The
If we are going to talk about this on MS Windows, then I can think of two “solutions”. One is extend NTFS to include tagging via an intermediate kernel level driver, or create a utility to intercept all open/save dialog boxes and replace them with a custom open/save dialog that supports symlinks/tagging that *looks* like standard directories/folders to the calling program. I imagine that somebody has already already got something working at least at a beta stage at this point following one of these principles. Maybe we just haven’t scoured the newsgroups, forums, and mailing lists well enough to find it.
FUSE does what you want — an arbitrary data source can be realized as a set of “real” folders. Turning tag streams, RSS feeds, etc. into folders is easy. The incoherence of picture tagging mechanisms could be converted into uniform foldering by appropriate FUSE programming.
The folders are native OS folders, so all applications can use them without knowing they are “virtual”.
The Windows support isn’t all there yet, but who uses Windows anyway? :-)
“The issue I keep running into is related to the decision process for tagging.”
You’re working alone there, which makes it much harder. In a share information space you can leverage the classification work done by other people. Which is a yet another incentive to move collaboration out of email and into some kind of shared space.
Chaim: “extend NTFS to include tagging via an intermediate kernel level driver”
Jed: “FUSE does what you want — an arbitrary data source can be realized as a set of “real” folders.”
Hmm. This does sound promising.
“Tags” vs. “Folder” seems to me like a technology discussion. You are focusing in this article on what matters: the user experience. People should not have to understand the differences between the two approaches (and so we do not have to find better ways to explain it). Google Docs is using Tags to “display” a Folder UI. A future storage for information (not a file system) with a related UI will address this. My hope in the past was that WinFS would serve as a basis for that.
Some people think that you can just take concepts from the web and move to the desktop, or vice versa, but in practice it’s not that simple…IMHO- “tags/metadata” vs. “folders” is a user experience issue –showing the web and the desktop bumping against one another.
Vista, to try to answer the question, we prototyped a few different models: folders & tags side by side (like photo gallery, which tends to have more UI), hybrid (folders as tags–FUSE is also in this category) and just folders or just tags.
We expected people would want a tag-based system… but found people use folders in specific ways, and when changed, it can is very confusing. For example, people often call a folder “stuff” or “old” or “junk” –and use it to omit items… they get confused when a tag-oriented UX includes these items, especially when the “old” item is named the same as the “good” version of the item. They tended to love tags for search, browse, and HATED for save, or writing to DVD or moving to a USB stick. They didn’t like it when the open/browse dialog was different from save. People were confused (and freaked out) when they used a tag/type/search only system… because they were not able to “find their folders.”–and had spent years organizing their files into a folder hierarchy which worked “just fine”– except in search where tags seem to make a lot more sense, or for organizing photos, music, etc.
We found out that even if you could get the design perfect, even small changes can be annoying because you need to think about things you do withouth thinking… Anyway, this conversation is really interesting because it will take us awhile to figure this out, and it will evolve as people become more familiar with different systems. I think other UX issues, like sharing, privacy, identity, etc. are others which are also super challenging to get right.
Another approach that you may want to think about is to deal with a fixed hierarchical tagging system rather than free tags – define the taxonomy before-hand with the basic structure and then add terms as you need them. Drupal takes this approach, and while I’m not really sure I like the user interface for the components, it does provide a fairly powerful way of creating organizational hierarchy while simultaneously not imposing that hierarchy in the physical storage system. Moreover, you can still assign multiple tags to the same resource, especially useful when you’re uncertain under which classification a given resource should be located.
My experience with free-tagging is that you need a large number of resources and a large number of users interacting with those resources (and a cogent synonym mechanism) before free-tagging begins to show a significant value. Otherwise the time cost of maintaining the taxonomy can grow exponentially.
Take a look at http://code.google.com/p/dhtfs/
This will give a view of physical folders for tagged items, without actually copying items to multiple folders. This may help people.