I tried out Google's Picasa, but it's a mess. Google has some sort of philosophical aversion to directory hierarchies, so all of the subfolders of the My Pictures folder, and all of their subfolders, etc., appear at the same level. This can be a pain if you, say, have two folders with the same name differentiated only by which folder contains them. Also, while you can label images with categories, categories are basically treated just like folders (except your file can be in more than one). You can't do intersections of labels: e.g. bringing up a list of every file labelled both "anime" and "cats". It also isn't accessible through the filepicker, which is probably asking too much of a third-party app, but which severely limits its usefulness to me because when I'm searching for a graphic it's usually to upload to a site like iichan or 4chan.
Also, why limit categorization to images? It would be useful for pretty much everything.
I wish there was a program or extension that would allow categorization of all files, as a sort of alternative interface to directory hierarchies. I envision it as having the following features:
- Files can be given multiple labels
- Labels act like "directories": the files marked with a label can be found as if they were all the contents of a single directory
- Set operations such as intersection ("and"), union ("or"), and exclusion ("and not") can be performed on labels; te results are treated like any other label that can be opened
- Labels can be organized into hierarchies. A file grouped under a label is also implicitly grouped under that label's parent label
- Labels can be key:-value pairs, e.g. "author: Philip K. Dick". Keys and values can have their own hierarchies, e.g. "band/artist", "original band", and "remixer" could all be grouped under "performers", so opening the label "band/artist: Nirvana" would find all songs performed by Nirvana, "original band: Nirvana" would find all songs originally by Nirvana (including covers performed by other bands), and "performers: Nirvana" would find all songs performed by or originally performed by Nirvana. Since "band/artist" is a sublabel of "performers", labelling an MP3 "band/artist: Nirvana" would mean that opening "performers: Nirvana" would still find it, without it having to be explicitly also labelled "performers: Nirvana"
- Labels would be available through the filepicker (GNOME integration?), both for labelling while saving, and for finding files. The file open dialog would allow for set operations
- Labels can apply accross media: if I insert a CDROM containing labelled files, they should be accessible through their labels just as if they were on the hard drive
- Files on removable media are stored on the hard drive along with a CDROM name or index number, so backed up files can still be found and the proper disc found
- Access control lists for labels: nobody needs to know how my porn is organized except for me