The best practices are: there are no best practices. Tagging happens. Deal with it.
Tagging is performed mainly by users with no experience with the site, and never was meant to be perfect. You should then not worry about attempting to perfect it.
We can steer this process into our will in two things:
- Editing. This does not scale. We are never going to retag all questions on the site. Even if we do, more questions will come, ideas on how we should do tagging will change, the software will change, and we'll be back to square one.
- Question tag counts. Users will tentatively try to write words in the tag area. If we have a tag matching that word, they'll use it. The more questions a tag has, the more prominent its match suggestion will be. We want to keep bad tags to a low count and good tags to a high count, so that good tag suggestions come first.
- Nuking bad tags. Users can't create tags. Okay, 99% of them can't. If we have a bad tag with lots of questions, have it nuked. Blacklist it if possible. (Moderators can't do this.)
- Merging. A simple way to boost a tag's question count is to merge it with other, similar tags that will pop up naturally from the 1% that can make tags.
There's a problem here though - some tags are better than others. In Stack Overflow, the "top" level of tagging would be a language tag. Here, they're game tags. It would be important to make those prominent where space is at a premium - title pages, twitter, etc., but we can't have this right now. What we do have is the tag with the most questions being featured. This means more generic tags will move ahead.
This isn't, countrary to popular belief, a problem only Gaming has — to find an example on Stack Overflow, just take any common problem category and any minor language. Example: the go
tag (×536) has no change over the [strings] tag (×17,986), so when using both people have resorted to just write "in go" in the title, or even more crudely prefix the titles with "golang -". Where people haven't done this, we get a terrible question title (and tweet).
Can you answer this? bytes.Split separator as []byte(“…”) http://bit.ly/whatever #string
It's pretty much a lose-lose situation.
Is the solution slashing and hacking tags? Certainly, if this question was tagged go
go-string
then go
would be the top tag. And certainly, string
s in go
and string
s in c
are very different animals (if they aren't, just consider strings in Python or Java).
Yet, no matter, you can still ask questions about strings - for example, about encoding or decoding. Besides, strings in C aren't different from (raw) strings in C++ or most other languages. There are only so many kind of strings out there - zero-terminated strings, length-prefixed strings, etc.
Contrast with Gaming. Every game out there has its own leveling system. Can you ask questions that are about generic leveling systems? Certainly - but they'd be design questions that are off-topic here.
One of the sanity checks SE does before migrating a question from a site to another is checking if any of the tags on a question are existent on the target site. If this check fails, the question is simply closed off-topic without being migrated. (I'm talking about close votes - moderator initiated migration overrides this.)
After all, why should we have tags for topics that are outside our scope? Discussing weapons in general is a gamedev topic, and thus is off topic here. If you want to discuss them in the context of a game, however, that starts to make sense and becomes our own field.
Does that mean that we should start covering design questions? Probably; I'd love that personally, although we lack the experts. And that's a whole different can of worms.
Even if we do (and we do, and there's very little we can do about), as noted above, those tags need to be kept under control, before they start covering tags about topics we do cover. And so many of the topics we do cover are at 0, 1 or 2 questions each; this is probably what makes Jeff so scared about accepting space-bunnies-must-die as a valid tag. Is it a game? Yes. Do we cover that topic? Then we have a tag for it.
Do we cover weapons in general? No. If somebody were to ask "WHAT GAME HAS THE GREATEST FIREBALL SPELL EVER?" (A: Trine), would he find tags to use? Yes: weapons. He'd tag the question anyway by the power of the dancing bunny, but the fact that we have a tag that is just about weapons no matter of the game we're talking about does then trigger legitimate confusion: "what do you mean off-topic? I can't ask a question about weapons? You have a tag for it, and a hundred friggin' questions!".
"Oh, but badp, what about boss-fights, or achievements! Do we really need a subtag for each and every single game?" No, we don't. We've already established that those tags wouldn't be protected against pruning under the proposed "important tag" system. If a game doesn't have more than one (or two, or five) questions about bosses, subtagging them as such is kind of useless.
"But you yourself argued that boss-fights is a good tag because you can ask and answer questions about playing the generic boss fight! That's not design!" I don't honestly know if talking about weak points of common boss fight design is itself design or not and thus on- or off-topic here (I'd definitely go for on-topic, especially if we could get an answer as epic as that one). Again, though, such a question is the needle in the hay, and if taken out of context ("HOW DO I BEAT BOSS") meaningless. The context in which you put this question will give you a better tag to use (or create) than boss-fights.
This is why I thus believe that, at least for large enough games, we should go towards prefixes in non-game tags for games we feel will reach a large enough size to warrant them. If a game doesn't turn out to be as huge as we thought, and the prefix we've chosen (for space reasons) gets in the way of newer prefixes, we can merge them out of existence with their game tag cleanly and swiftly. This also means we get to use abbreviations in context-ed subtags, which helps with the tag lengths. I can hardly imagine going longer than skyrim-boss-fights (if, again, there are even enough to warrant this tag in the first place).
One problem remains: the homepage. "minecraft minecraft redstone" or "team-fortress-2 tf2 spy" is an unsightly, spammy mess. I hope that by progressively abandoning contextless tags, though, we'll still get to address the problem enough to make this measure unnecessary.