We seem to have a lot of problems with tags such as.
red_hair
green_hair
blue_hair
...
red_eyes
green_eyes
blue_eyes
...
red_stripes
green_stripes
blue_stripes
...
red_lips
green_lips
blue_lips
...
english_text
russian_text
japanest_text
...
small_breasts
big_breasts
huge_breasts
...
small_balls
big_balls
huge_balls
...
red_background
green_background
blue_background
...
anal_penetration
vaginal_penetration
nipple_penetration
...
Needless to say, the amount of such tags we have is absurd.
--
So, I propose we modify the system and introduce a feature called "Generic Tags".
The word generic means tags that are "generalized". That means, a tag that can work in multiple ways and supports parameters (similar to how generic types work in programming languages). The exact notation and searching notation is of course part of discussion, but for now let's use '<' and '>'.
For red_hair, blue_hair, etc. we can create the following generic tag:
- <color>hair, which means hair is a generic tag with a parameter color
- red implies color. This means red is a type of color.
For small_breasts we can create <size>breasts, which means breasts are a generic tag which supports a parameter size where small is a type of size.
For anal_penetration we can create <penetration_type>penetration, which means penetration is a generic tag that has one parameter, namely penetration_type. anal is a type of penetration. More about this further down.
For english_text we can create <language>text where text is a generic tag with a parameter language.
--
This way, we wouldn't need a billion tags for all the types of hair, types of penetration, types of background, types of text, etc, but only a single tag for each.
There's another feature that can be introduces with this that I would call Tag Safety.
When a user enters a tag hair, the system can warn the user to include the tag's parameter, the hair's color. Of course, hair's color can only be tags which imply color, and the system will not allow the user to enter <finger>hair. In fact, the system can offer the user a dropdown list of all the possible colors and allow the user to choose from the list instead of writing it, which would make tagging not only easier, but also less prone to mistakes .
Also, there's another feature that comes to my mind which stands out (at least for me). There would be a way to add gender property to characters, so the users would be able to find a specific gender character in multi-character images. For instance, right now if you search for male rainbow_dash duo, most of the time you're going to get female rainbow dash with another male character. But if we searched for <male>rainbow_dash, then you would be guaranteed to find a male rainbow_dash character.
--
Some other examples I found with a short browse through tags:
year<year_number> - 2015 / 2014
cum_in<body_part> - cum_in_ass, cum_in_pussy..
cum_on<body_part> - cum_on_chest, cum_on_breasts..
<body_part>tuft - chest_tuft, ear_tuft..
<body_part>penetration - anal_penetration, ear_penetration..
<depth>penetration - deep_penetration, shallow_penetration..
<color>penis - blue_penis, red_penis..
<color>pawpads - blue_pawpads, red_pawpads..
<color>shirt - blue_shirt, red_shirt..
<body_part>in_mouth - tail_in_mouth, finger_in_mouth..
on<lying_position> - on_back, on_side..
<body_part>mouth or living<body_part> - tail_mouth, ear_mouth..
--
Some examples of generic tags using two or more parameters. Oh, did I forget to mention generic tags can have more than one parameter? :P
<gender>on<gender> - male/male, male/female.. - For sex.
<body_part>in<body_part> - penis_in_penis, tail_sex, vaginal_penetration.. - When something is inserted into something. A very important and versatile tag.
<sex_toy>in<body_part> - anal_insertion, vaginal_insertion.. - When a sex toy is inserted into something.
<gender>on<gender>on<gender> - For threesome sex.
<anthro_level>on<anthro_level> - human_on_feral, feral_on_feral..
<body_part>on<body_part> - hand_on_head, cum_on_breasts.. - Hmm, not sure if cum counts as a body_part. It does come from the body..
<sex_toy>on<body_part> - vibrator_on_penis..
--
Pros and cons:
The benefits (pros) of generic tags are the following:
- Reduced amount of tags - The amount of tags can be greatly reduced if it's decided that full backwards compatibility is not necessary. For instance, all vaginal_penetration tags can be replaced with <body_part>in<vagina>. In this case, all the *_penetration tags can be removed and wiki articles merged.
- Lesser wiki redundancy and better consistency - Having less tags would also mean mean less wiki articles since you only need one wiki article per one generic tag, and the wiki article would be consistent for all the parameter combinations.
- Umbrella tags - Generic tags automatically act as umbrella tags for all the parameter combinations. For instance, <color>hair automatically serves as an umbrella tag for all color hair tags and if the user can search for <color>hair without specifying color. On the other hand <body_part>in<body_part> automatically serves as a 3-way umbrella tag. For instance, <penis>in<pussy> can be found using <penis>in<body_part> or <body_part>in<vagina> or <body_part>in<body_part>.
- Better searchability and search accuracy - Due to the above point, searching for generic tags is much more powerful. Even if you tag something obscure, you won't need to create a new tag for it and the tag will be findable in more than one way.
- Reduced resource usage - Due to the fact that generic tags act as umbrella tags, there is much lower need for SQL commands that contain the LIKE keyword. If a user wants to search for any colored hair, then he won't need to search for *_hair to get the results he wants. This mean the database can use the table index and instantly return a single result instead of having to slowly search through all the tags.
- Drop down menus and autocompletion - Parameters of generic tags are a perfect place to use drop down menus and offer the user a choice of the parameter value. Having drop down menus has obvious benefits such as no mistakes, no tag knowledge required and no writing required.
- Increased tagging simplicity - There's 3 points to this:
- Users need less tagging knowledge. And the less tag knowledge the user needs, the simpler the tagging gets.
- Less is more. You can describe image better and using less tags (with multi parameter tags).
- generic tags can follow "tag what you see" principle much better than constructed tags (penis_in_vagina vs penis + vaginal_penetration)
- Increased tagging amount - Needing lesser tag knowledge means having bigger tag knowledge. The bigger the tagging knowledge of users, the more tags they will add. Also the simpler the tagging is, the more tags will get added. On average.
Drawbacks (cons):
- More than 5 minutes of work is required. Drat.
- Brain is required. Double drat.
- Someone needs to do it. Triple drat.
In other words, besides the coding and database work, generic tags would need to be created, and often their parameters also. Also conversion of existing tags into generic tags would be required through careful scripting. Other than the work required to make changes, I don't see any drawbacks of adding the power of generic tags to the current system. For users things would be simpler, for admins the things would be a bit more complex. Or would they be..
Edit: Updated with discussion findings, added pros and cons.
Updated