#Why Label Adult Stuff?
# Nothing kills the mood more than a kink you’re not into… and I definitely have a few. It would be pretty naive for me to assume everyone here shares my exact tastes. Even my favorite artists always have a few quirks I’m not into. So it’s better to tell you what’s in my stories ahead of time. If I label things, you’ll have a better chance of finding something you enjoy without stumbling over some kink landmine you weren’t expecting.
# A label is not just a warning, it is also a promise. It helps people find what they want, and avoid what they don’t. But it only works if it’s accurate.
# With movies, the genre is obvious from the plot synopsis. But with porn the plot doesn’t tell you anything useful. You need to know what’s in the porn, not what it’s about. You need to know the characters and fetishes.
# I ran into this problem in the early 2000’s when I tried to buy hentai VCR tapes during my college years. They weren’t cheap, and they often had fetishes I was not into. So I usually regretted most of my purchases. The problem wasn’t about me not liking adult content. I just couldn’t find what I wanted, and the descriptions on the back of the boxes just weren’t telling me what I wanted to know. It’s a failure of design. And solving this design puzzle became a minor obsession for me.
# But solutions existed in some unlikely places. “Booru” websites and Fanfiction.
# Danbooru and websites like it crowd-source the task of applying keywords to their pictures. They take the blunt yet effective approach of simply applying every keyword that might possibly apply to something in the hopes that accurate searching starts to become possible.
# Adult fanfiction takes a much more elegant approach of preceding each story with pairings. These just list the characters that fuck each other, or at least their genders. Like this:
# Spock/Kirk, or F/f or Woman/girl
# What’s brilliant about this “slash fiction” approach is that it very quickly tells you most of what you want to know by leaving out all the stuff you don’t care about. If you’re familiar with the characters, then just seeing their names tells you the age and gender of the pairing. Or you can just state those things directly if you’re writing an original story. Either way you get a ton of information in a very small space.
#How I Label Sexual Projects
# When I designed my website, I used a similar “slash fiction” approach to label my adult content. But I use icons instead of text.
# These icons are basically a visual version of “slash” gender pairings like M/F. But instead of “M” for man and “m” for boy. I use the familiar symbols like you see on road signs and bathroom doors.
# But there’s no such thing as “universally recognized” symbols. Icons always need to have labels. So when you tap on my icons or hover with your mouse, you will see a “tooltip” label. The icons are also color-coded so most people can recognize the pairings at a glance. Blue for male people, pink for female people, and green for… critters. Red-Green-Blue are also equally complimentary colors that contrast against each other, making recognition even faster. These pairing icons tell you most of what you want to know.
# But not everything. Who are the characters? And what else are they doing besides being lesbians to each other? What are the fetishes? These things are important in porn. I try to show these things with the thumbnail pictures. It’s not perfect. The thumbnails probably show too much. You’ll see kinks you might not want.
#Filters
# Of course, what good are warning labels if the nasty thumbnail is making you regret having eyes? There are two solutions. Either make the thumbnails tame or hide them. Both of these can solve the problem. I chose to optionally hide thumbnails based on a content filter. In fact I went even further and completely hid the projects so you can pretend they don’t even exist.
# The advantage of this approach is that I can let you choose your preferences before you enter the site or see anything. A perfect experience for you.
#
But how did I do this? By using display: none
and some simple CSS. For example:
<style>
.hide_nasty .has_nasty{
display: none;
}
</style>
# … And then the HTML is set up like this.
<body class="hide_nasty">
<div class="has_nasty"><img src="eew.jpg"></div>
</body>
# The result is that DIV tag and everything inside of it completely vanishes from the page. The thumbnails always have tags in their classes based on their content. But I use some JavaScript to read your saved preferences and add hide_nasty to the body tag. hide_nasty does nothing by itself, and has_nasty does nothing by itself. The effect only happens when they both exist at the same time.
# Of course “nasty” is just a word I used for this example. Instead you should have a tag for each of your fetishes, and a CSS rule for hiding each of them. So for my website the settings look like this. When you arrive at the introduction page everything defaults to being hidden, so you will only see things that you opt-in to.
# The JavaScript that applies your filters is at the very top of the page just inside the BODY tag, and it is intentionally set up to load synchronously which means that it halts the loading of the rest of the page until it finishes loading and runs. The idea is that you won’t see anything at all until your filters are applied first. If I made the JavaScript asynchronous or put it at the bottom then the page would load and you might briefly see everything before the filters get applied to hide them.
<body class="">
<script src="/js/applyFilters.js"></script>
# But why am I using JavaScript to apply filters on a static website, instead of just filtering the pages that the server sends you? Partly because this is more efficient. The server doesn’t have to do anything different for each person. Partly because I never learned PHP. And partly because this prevents your preferences from bring broadcast to the server. I use LocalStorage so that your kink preferences never leave your computer. Something about this just feels right.
#Searching
# When it comes to searching, I use the “booru” approach. Except that instead of only displaying the keywords in teeny tiny text after you find a picture… I show you all the words you can use before you search, in big touch-friendly buttons. In other words… here’s a short list of characters. Tap the ones you want.
# This approach might not be possible on archives that try to include every hentai ever made. But one artist’s website can keep the list usefully short. I only have a handful of interests because I’m only one person.
#Why Have a Disclaimer?
# I have opinions about disclaimers. Nevermind the typical boilerplate crap about “under 18” yadda yadda… Instead, I’ll take a step back and think about its purpose. What specific problems am I trying to prevent?
# There’s no point telling people what “the law” is if I don’t even know what country they’re in. Shaking my cane telling kids to “Git off ma NSFW lawn!” … is not going to change their minds. Talking down to people only makes them spiteful. But if someone is genuinely new to the concept, I can’t realistically cram an entire sex-ed lesson into 2 sentences. My website is for fiction, not education.
# So what can a disclaimer accomplish? Since it can’t prevent anything, the only useful thing it can do is warn people that a sexy website is gonna be sexy.
# And that’s not pointless. I choose to have a disclaimer for the same reason I have content labels. I appreciate labels. They help me find things I’m looking for, and avoid things I don’t want. That helps everybody.
# Maybe someone came here looking for RPG Maker stuff and unexpectedly finds porn instead? That would be pretty annoying, especially in a public place. Better to spell it out up-front.
# And then there’s the question of whether a disclaimer is required by law. This isn’t about whether a law is right or wrong. It’s about what problem that law is trying to solve. Laws don’t explain why they’re made, so I have to speculate here. Maybe someone stumbled across an adult page by accident? Did a young kid get confused by some porn they saw? How could I usefully address these problems? Telling someone under 18 to “Get off mah lawn!” isn’t useful advice and it’s not going to change their mind. Instead, why not just state the obvious?
- This page has adult content
- Don’t do this stuff, because it’s unrealistically reckless.
# It’s really not that hard. Just be helpful.
# I remember when I was a kid the most frustrating thing was when people would refuse to explain the reasons for their restrictions. So why is porn unrealistically reckless? The same reason why most fiction is. It’s just more entertaining that way. Even if you disagree, any explanation is still better than no explanation at all.
#How I Label NSFW Posts
# When I post my projects on social media like Mastodon, I need to label things differently, because content warnings are not just used for sexual stuff. A person scrolling down a social media feed needs more information. NSFW could refer to any number of other things. It could be something violent, heart-wrenching, polarizing, or just tiresome internet drama. So first I need to point out that my post is sexual content. Then point out any major kinks involved. And then the genders portrayed.
# To save space, I can use common phrases or grammar to combine a lot of this information together. For example the two words “Lesbian Sex” indicate “sexual content”, “lesbian kink”, and “female gender” all at the same time.
# When people are reading social media, they’re expecting to see things described in plain English, not abbreviated slash-pairings. And while I can use a few common emoji to indicate general things like “sex” and “furry”, I don’t have precise control over the symbols and colors so I can’t use my website’s custom pairing icons.
# But that doesn’t mean I’m doomed to write all these descriptions by hand. Since all of my projects have keywords, I can usually use them to generate the descriptions . And they tend to be accurate about 80% of the time!
# But… when is this not accurate? It doesn’t work for stories, because they portray multiple situations. A pile of keywords won’t tell you which of those things are being used together. They’re better at describing a single moment such as a picture, and since the automatic descriptions are based on the keywords they cannot be any more accurate than the keywords themselves.This story includes a dragon and straight-shota, but that doesn't mean the boy is seducing the dragon