Note: this is a general interest question, rather than a feature request.
I noticed that nested tags have been discussed before, and declined. However, there was no reason given - just this from Jeff Atwood:
we will not be doing trees, in any way, shape or form
By nested tags, I mean something like:
- PHP - Symfony - PHP 5 - Ruby - Rails - Frameworks - Symfony - Rails
so that if you look at
- Frameworks - you see everything from Symfony and Rails
- PHP - you see everything from PHP5 and Symfony
- Symfony - you see only Symfony
I'm wondering what the logic behind the rejection was, because a project that I'm working on is considering something like this. Was it a technical decision (as in, too complicated to implement on the backend)? A UX decision (as in, it makes the UX too complicated)?
This other question suggests it was mostly to do with the implications on a user's reputation. Is that the case?
Some other relevant questions:
- A proposal for tag hierarchy on SO
- Tag hierarchy absence - design reasons?
- Tag hierarchy to browse through tags
Atwood: … programmers love hierarchy, to a degree that they don't even understand how different they are than the public in this regard. Like they love putting everything in this little bucket, that goes in this little bucket, which is this sub-bucket of this and this, and normal people hate that. And threading is totally a manifestation of that and it drives me crazy that a lot of programmers can't see that they're like immediately like: "Oh, threading is good. I love threading. What are you talking about?" You know? They can't see it at all.
Spolsky: Right, right.
Atwood: It's like myopia.
Spolsky: Yeh. I mean it's really a function of the size of the group, and one thing I've learned through years and years of usability testing is that anything that smacks of a hierarchy or a tree is not going to be understandable to the average, non-technical user.
Spolsky: You just have to learn that: if it's a tree, or a hierarchy, like eighty per cent of the regular people are going to get confused and not quite get it.