Since the rise in popularity of emoji in the United States, people of color have been asking why there are no emoji that look like them. Adding an extra emoji for each icon in each race seems extreme, so those more cynical of us just assumed it was another byproduct of this society and this industry, never to be fixed. But there’s a new draft specification for representing racial diversity in emoji. Prayer hands emojis abound.

There are currently four skin colors depicted in the Apple emoji set. The first type are the unrealistic skin tones, like yellow, orange, and purple. The second type are the emoji with decidedly white skin tones, like the boy and girl emoji and the various body parts. The third and fourth skin tones are found on one emoji each: MAN WITH TURBAN (U+1F473) and MAN WITH GUA PI MAO (U+1F472).

Even the yellow-tinted emoji represent whiteness in our culture. You don’t need to look further than the Simpsons to see what I mean. If you’re not white, it’s hard to feel like these emoji were made for you, unless you’re a brown man wearing a turban and or a man wearing a gau pi mao.

How Unicode works

The Unicode standard (specifically UTF-8, the most common encoding scheme) is a clever solution to a complex problem. You can (and should!) learn more about Unicode in Tom Scott and Brady Haran’s Computerphile video as well as Joel Spolsky and Tim Bray’s articles on Unicode. UTF-8 is characterized by backwards compatibility with ASCII, variable-width encoding, character composition, and variation selectors.

Emoji is a catchall term for a several different “blocks” of graphical glyphs described in the Unicode standard. Originally from a Private Use Area used by the Japanese cariers SoftBank Mobile and DoCoMo, they were moved to a public block as of version 6.0 of the Unicode standard. Unicode 7.0 added a new set of emoji, and this specification has been presented for incorporation into version 8.0.

When a glyph rendering engine begins laying out characters, it sometimes renders two characters as one glyph. This is called a ligature, and explains why NSLayoutManager has methods like -glyphRangeForCharacterRange:actualCharacterRange: to convert between character ranges and glyph ranges. I hope you didn’t think I was going to let you get away without some code in this post!

This techinque of merging two characters at rendering time is how this new emoji spec handles various skin tones. An emoji followed by a skin color swatch can be merged at glyph-rendering time to represent that emoji with that skin color.

If the emoji rendering system doesn’t implement this ligature, it will display the emoji followed by a graphical representation of the swatch of the skin color. This fallback is ugly, to be sure, but it signals the intent of emoji-sender effectively.

The first thought any person of color will have about this scheme is that it relegates non-white skin colors to mere “alternates” to the norm. Fortunately, the authors considered this as well:

When a human emoji is not followed by a emoji modifier character, it should use a non-realistic skin tone, such as that typically used for the smiley faces, or a silhouette.

In all likelihood, most implementations will use Simpsons-yellow for the “non-realistic skin tone”, but imagine a world where the default emoji skin color were blue or purple! That’s beautiful to me.

What this means

The minimum viable product reigns in our industry. An MVP can only bear affordances for a subset of its audience, who are, among other qualities, white, male, cisgendered, visibly straight, and often American. When a minimal product is designed with only the majority in mind, the product can only be successful for those users.

The lack of racially diverse emoji are only one symptom of this problem. As Austin Seraphim told us at CocoaLove, the blind have learned to expect very little from tech companies. HP developed a face tracking camera that literally renders black people invisible. Facebook’s privacy settings outed closeted gay people without permission, wrenching families apart. Quora won’t let people with non-American names use their website. In all of these cases, thoughtlessness prevailed and people were left out.

So when people ask me why diversity is important, they need only look around. Because without diverse teams building the technology that we all rely on, we’ll continue to make these mistakes again: we’ll leave people behind. Diverse teams build products with affordances that help us all feel included.

The Unicode consortium was forward-thinking enough to make the Unicode standard flexible enough to enable this change, and that’s a testament to its creators. I celebrate this change and look forward to many more like it.

The authors of this spec suggested the Fitzpatrick Scale for skin tones. I’m a 4.