tagfs

Why does Linux not have a unified tagging interface yet? Metadata is an absolute mess: file types embedded in the filename, timestamps somewhere in the attributes, id3 tags at the end of the file data, the hierarchical location of the file in dentries. It’s all just metadata, so why don’t we put it under one abstraction?

There are a slew of solutions for dealing with metadata that have cropped up in the past few years: KDE has Baloo, Gnome has Tracker, I’ve been using Recoll with some success, and of course Mac and Windows have their own solutions. They all basically do the same things though: collect the metadata, index it, and present a search interface. All these solutions are pretty reasonable from what I can tell, but there is no standardization. I have a hard time believing there is not enough common ground among these that they couldn’t be consolidated in some way.

But let’s say we do standardize the collecting and indexing of metadata and we now have it all together. We’ve just opened up a door to some really powerful new perspectives on this data that for decades we’ve been trained to view as simply this hierarchical file tree.

I imagine a system where the user is given a collection of modular filters they can arbitrarily compose to operate on a set of files. Let’s make it an emacs plugin while we’re at it, like ibuffer, and I can press ‘f’ to bring up a set of filters. Now to play with them: give me all ‘binary files’, ‘in the usr namespace’, ‘created in the last two weeks’, ‘with a g and a p somewhere in the filename’. Right?! You could probably get that set of data today, but it would be a pain in the ass because the components are scattered everywhere. That disorganization is wasting our time, and making us dumber than we could be.