Normalizing Human Skin Colors for User Interaction
A while ago I came across this answer that introduced me to the obscure (at least for me) ISO 5218: a standard for representing human sexes (or is it genders? - thanks @Paul).
For a pet project I'm working on I need my database schema to store the skin color of a person, and I'm wondering if a similar standard exists. All my life I've heard people using terms such as "White", "Caucasian", "Black", "Blonde", "Brunette", "Afro", "Albino" and so on, but after some research in Wikipedia I've realized that everybody is wrong, because those words can all have different meanings:
- White: yeah, it's a color
- Caucasian: defines the race
- Black: yet another color
- Blonde: skin or hair color
- Brunette: again, skin or hair color
- Afro: "hairdo"?!
- Albino: also represents more than the skin color
The Wikipedia has the following about human races:
- Caucasoid
- Congoid
- Capoid
- Mongoloid
- Australoid
Seriously, Mongoloid?! I don't know about the connotations of the English language but in my native language (Portuguese) that's a synonym for a person who suffers from the Down syndrome disorder...
This Wikipedia page also has some interesting additional information:
Johann Friedrich Blumenbach (1752-1840), one of the founders of what some call scientific racism theories, came up with the five color typology for humans: white people (the Caucasian or white race), more or less black people (the Ethiopian or black race), yellow people (the Mongolian or yellow race), cinnamon-brown or flame colored people (the American or red race) and brown people (the Malay or brown race).
The problem with using races (besides the horrific names chosen and scientific racism), is that they don't necessarily represent the skin color of a person... Take the following photo from Wikipedia:
The most serious attempt I could find to classify skin color is the Von Luschan's chromatic scale:
Most people however, are not aware of their von Luschan's scale (myself included). I also though of having the user visually specifying the color of their skin tone but that could lead to some problems due to the different color profiles used by the operating systems / monitors.
There is also a more general von Luschan's scale used to classify sun tanning risk:
- von Luschan 1-5 (very light).
- von Luschan 6-10 (light).
- von Luschan 11-15 (intermediate).
- von Luschan 16-21 ("Mediterranean").
- von Luschan 22-28 (dark or "brown").
- von Luschan 29-36 (very dark or "black").
Since this can become a very sensitive topic for some people I'm wondering what would be the best way to store this information in a normalized database. Is there a correct globally accepted standard to describe skin color without affecting susceptibilities while using straightforward terms and avoiding complicated and unfamiliar definitions such as von Luschan's scale?
Similar standards exist for eye and hair color. How would you开发者_运维百科 approach the skin tone terminology?
olayforyou.com defines these skin tones
alt text http://www.freeimagehosting.net/uploads/151ab0ddd7.jpg
- very fair
- fair
- olive
- dark
- very dark
Any person using cosmetics regularly would understand these terms. These rest of us are just guessing :-)
I'd do something like the Nintendo Wii's Mii Editor and just show several swatches of colors. Even if the monitor isn't calibrated, if someone sees them all on the screen at once they should be able to make the correct choice.
You can then give the color an internal name and do your data mining on that.
You may wish to consider skin tones defined by cosmetic companies as these can be quite exact and even refer to tanning effects.
I personally wouldn't define a domain; let that be a textbox and everybody fills anything he/she wants. I prefer this way just because can be a polemic and potentially offensive subject, like this.
EDIT: Or, what about doesn't display any names, but colors instead? Use that Von Luschan's scale and use a "Select your color: " label. You don't need to name it and can to define a domain into your database.
Despite monitor calibration issues, I think that the von Luschan chromatic scale along with the numbers and textual descriptions you have shown, is the best. Sure it's a bit subjective, but so are all the alternatives.
Seeing the entire available range of selections, and visualizing very light and dark people, it's not to hard to come up with an estimate of where you lie on the scale.
Plus, the combination of numbers, colors, and words makes it easier to hone in on your approximate color.
EDIT:
I do see that you have expressed doubts about using the chromatic scale in your post - I just thought you might consider these points. People don't have to be familiar with the scale ahead of time to use it. I've never seen it before but it makes perfect sense to me.
One skin tone scale which the most people have come in contact with is the simplified Fitzpatrick scale used for emoji skin tone selectors in Unicode:
精彩评论