Merriam-Webster defines dumpster fire as βan utterly calamitous or mismanaged situation or occurrenceβ. Seriously, they actually defined it. After first being spotted in 2006, βdumpster fireβ has become commonly used and has to be in the running for word of the year for 2020.
As a cybersecurity professional, this term has long been near and dear to my heart. Now in 2020, everyone can share in that feeling!
βDumpster fireβ is a quick way to summarize a situation. Itβs a clear metaphor. The foul odour of garbage with the added oomph of being lit on fire to not only increase itβs visual appeal but to amplify itβs stench.
The good news about a dumpster fire? You can put it out.
Swag
At Comic-Con 2019, 100% Soft gave away this absolutely adorable vinyl figure dumpster fire. Iβll be honest. I want one. Pre-orders are back on but they are sure to sell out again soon.
But this isnβt the only dumpster fire swag available.
A quick search of Etsy shows a wide variety of pins, stickers, t-shirts, and other items. Cotton Bureau also has a wonderful, simplified version on a t-shirt based on the icons included in Font Awesome. Itβs dumpster fires everywhere!
Emoji π§
All that swag got me thinking, βWhy isnβt there a dumpster fire emoji?β That quickly morphed into, βI can spearhead the movement to make a dumpster fire emoji official!β
A quick search turned that excitement to disappointment.
The trade off? An interesting exploration of the process to make an emoji βofficial.β
Standards
An βofficialβ emoji is one that has been accepted into the Unicode standard. Typically anything associated with international standards is long and boring. Itβs important work and the only reason youβre reading this now is because of accepted technical standardsβ¦but they are boring.
But I find it fascinating that there is a rigorous, well established process around decided which of these tiny images all of our tech will use.
And because itβs an accepted standard, there is a process to propose new emoji. Fired (π€£) up, I set about to submit dumpster fire as a new emoji.
Criteria
The criteria for a new emoji are summed up by the Unicode Consortium as follows;
a) will the image work at the small size at which emoji are commonly used
b) does the emoji add to what can be said using emoji or can the idea be expressed using existing emoji
c) is there substantial evidence that a large number of people will likely use this new emoji
β From βAbout Emoji"
My answers;
- a) absolutely
- b) π―
- c) itβs 2020
This video from Tech Insider provides an amazing overview of the processβ¦
Excited, I moved on to the first step in submitting a proposal; reviewing the list of Emoji Requests to ensure that youβre not submitting a duplicate.
So I checkedβ¦
Denied π
Entry #328 and #329, right between dumpling and durian. Both failed submissions.
The first entry (#328) somehow expired. The second (#329) is listed as βDeclined: representable.β
Huh?
The beauty of standard process is generally transparency. In this case, it means we have a clear list of reasons that a submission would not be successful. Looking at the exclusive factors, we see that H covers, βAlready representableβ.
Already Representable?
What exactly is βalready representable?β This indicates that the concept the emoji intends to convey can already be βsaidβ with another combination of emojis.
In the case of dumpster fire, I believe the representation they are referring to is; ππ₯
Which, when we look at the official names for emojis, is βwastebasket fire.β
Yes, the emojiβs depict a similar concept but a) not at the same scale and b) not in as eloquent a manner. Wastebasket fire just doesnβt roll of the tongue as nicely as dumpster fire.
But honestly, thereβs no chance that dumpster fire becomes an emoji because ππ₯ is good enough and thatβs a key aspect of the standard. Providing a good enough set of pictographs that people can use to convey meanings across cultures and languages.
A Way Forward?
I did stumble across something interesting in this little flight of fancy. Emoji ZWJ Sequences, an official way to depict representations!
ZWJ stands for βzero width joinerβ. It is used between emojis in a sequence to indicate that a combined glyph should be generated wherever possible. The genius of this system is that if a combo glyph isnβt available, the system will simply show the individual emojis in the combination.
Emojipedia has a good explanation of the system and itβs possibilities.
So π+zwj+π₯ (βπβπ₯β <- that sequence is actually 3 unicode characters!) could show a dumpster fire on systems that support it.
But will this work?
What Is An Emoji?
Before we can answer if an Emoji ZWJ Sequence is the way forward for dumpster fire, we should take a look at what an emoji is from a technical perspective.
If we use a quick little bit of python code, we can peek behind the covers.
>>> u'π'.encode('unicode_escape')
b'\\U0001f44d'
The thumbs up emoji is actually represented by a unicode sequence U+0001f44d which is usually shortened to U+1f44d. This is the unique code assigned to this emoji. Notice that itβs 8 characters long? Thatβs important.
In the early days of computers in North America we used a system called ASCII. ASCII consists of 128 characters and an associated code. When we store 65, our programs know to show the user A. This worked great for a long timeβ¦until it didnβt.
Youβve probably already figured out, if you have characters in your language that arenβt a-Z, you canβt show them using only ASCII. This is why a number of regional standards popped up in addition to efforts to extend ASCII.
As the internet came into being, this problem was only amplified. In 1991, an new international standard was born; Unicode. The idea of Unicode was simple, one standard large enough to cover all of the worlds languages.
This necessitated a move beyond the simple 128 characters of ASCII to a much richer 143,859+ (as of v13.0) characters.
Because nothing is every that simple, 30 years later we are still dealing with challenges storing and processing these characters. Youβve probably seen input fields on the web that wonβt take emojis or accented charactersβ¦how they handle (or donβt handle) Unicode is probably the culprit.
If we look behind the curtain, you can still see some of the ASCII legacy and the history of encoding. Hereβs the code for an βΓ©β character;
>>> u'Γ©'.encode('unicode_escape')
b'\\xe9'
Itβs a mess. But if also gives us a way to see some interesting additions to the emoji section of the Unicode standard. Hereβs the thumbs up icon but in a black skin tone;
>>> u'ππΏ'.encode('unicode_escape')
b'\\U0001f44d\\U0001f3ff'
Whatβs really interesting is how that π code shows up in my editor, Sublime Text. Hereβs what I saw when I added that snippet;
This is actually part of the emoji specification. There is a clause for βmodifiersβ that cover skin tones and genders. This allows the specification to stay small while allowing a broader range of expression.
These modified emojis work like an ZWJ sequence but they are part of the standard and wonβt solve our problem with dumpster fire
If you want a deep dive into how all of the encoding works behind the scenes, this excellent post from Smashing Magazine has you covered.
Support
Ok, a ZWJ sequence is the way to go but how many are already out there? Surely it should be a simple matter of checking with each provider to see if they support user created sequences?
The major emoji platform providers are;
- Apple (π)
- Google (π₯½)
- Microsoft (γ³)
- Twitter (π¦)
- Facebook (π€¦ββοΈ)
Twitter has released their emojis as an open source project. If you want to use them on your site or in your own project, check out twemoji
Searching for information about Apple and Microsoftβs emoji implementation only turns up instructions on how to use emoji on these platforms (π, γ³). Emojipedia has complete listings for every platform on what emoji are currently supported (π, γ³, π₯½, π¦, π€¦ββοΈ, thatβs helpful but it doesnβt specifically call out ZWJ sequences.
From the looks of things, ZWJ sequences are supported on each of these platforms but only through their emoji picker UIs. A user canβt actually type in a sequence of emojis and have them merge into a ZWJ (that should be a thing though, like emoji autocorrect!).
What sequences are supported on which platforms today? Weβre going to have to rely on Emojipedia for that information.
A quick bit of code and I had a list of supported emojiβs for each platform. I compared those to the official v13.0 list. Unfortunately I had to match by the name instead of the unicode sequence. String matching is never perfect but the comparison generated the results I was looking for.
All five major providers implement the standard and then some. This is in addition to the support for the 1,809 standard v13.0 emojis. Each of the five major platforms supports more than 3,100 emojis. Why the difference? Itβs primarily skin tones and genders. These combinations quickly add to the overall volume of pictographs.
If we filter out those permutations, weβre left with the following table:
πππ Click to view table...Nothing out of the ordinary here though, βastro-catβ, βdino-catβ, and their friends from Microft merit a closer look;
There has to be a story there (there is!). Itβs also an excellent example of a ZWJ sequence.
On any platform except for Windows 10, it shows up as πΈ+π. On Windows 10, youβll see the amazing emoji right here: πΈβπ
There are other examples like this one from Apple; πβπ¨, but they seem to be few and far between. Why?
Questions Unanswered?
After digging into the issue, I couldnβt find a reasonable answer. ZWJ seems like an excellent way for a platform to put itβs own spin on emojis but few have.
There would be user experience issues as itβs already getting challenging to find emojis on mobile platforms. But as the specification adds about a dozen new emoji each year, this is going to be a problem no matter what.
Maybe itβs to avoid fragmentation? Is there an implicit agreement in place that the teams involved with emoji for various companies wonβt violate. If so, thatβs actually beneficial to users. Look no further than multiple rounds of browser wars to show the harm of platforms trying to set standards outside of the official process for an accepted standard.
Soβ¦maybe itβs for the best. Still, I think we need a dumpster fire emojiβ¦it is 2020 after all.
Whoβs going to step up first; Apple, Twitter, Facebook, Microsoft, or Google?
Come on, there has to be at least one or two devs at one of these companies that would sneak it in as a ZWJ easter eggβ¦please??!