Tags are a more natural way to organize things. Lists get messy after time and especially deep hierarchies work only for so long, because there exists always some natural duality between resources you try to organize.
See TheSixtyOne's favorite playlists mess.
You can still display tags in a tree view though: First level is all tags, on additional levels you find the tags whose intersection with their chain of parents tags is not empty. You need to dynamically generate the tree.
From tagsifter:
A subset-based tag view. A list of two hundred tags is not so useful. If tag A only appears where tag B does, hide A until we choose B. Tag "bundles" (supersets) will naturally emerge.
Actually this isn't the right solution either, because then if we search for B, we won't find it and who will think of using A instead?
Instead relative tags might be useful:
As simple example: tag1 \ tag2, tag2\ tag3 or just tag1 \ tag2 \ tag3
Another idea: tags1 \ {tag2, tag3, tag4} to group them all under tag1.
tag1 \ tag2 != tag2 ? No, they are the same but if there is no other occurence of tag2, dont show it.
Hmm a different model:
View tags as possibility to use different tree structures in parallel. (I.e. two relative paths instead of one.)
<BlackHC> jRAD: did I tell you about my idea for a VS plugin (for visualizing object relationships at debug time)?
<jRAD> nope!
<BlackHC> well, tis about adding a node view as debug window that you can use to view object relationships you're interested it
<BlackHC> ie. objects you're interested in are displayed as nodes with differently colored or named arrows to visualize pointers
<BlackHC> local pointers and references (or parameters) would color an object with a certain color or something add a named outline
<BlackHC> main idea behind is to visualize graph algorithms nicely
<-- AnthonyJ has quit (Quit: http://www.btinternet.com/~AnthonyJ)
<BlackHC> but it would work with everything that uses object trees etc
<BlackHC> question is how to make it possible to view things effectively and examine your program state with it
<Timbo> http://rtprof.sf.net/
<jRAD> yarp
* jRAD rumbles along to Pixies - Distance Equals Rates Times Time <BlackHC> Im mostly interested in object relationships ie the dynamic state of a program and not the static one
<BlackHC> because the interesting bugs/things usually happen there