Emoji and DiscourseJeff Atwood December 30, 2015
We’ve always had a strong relationship with Emoji. From the earliest days of Discourse, you could add Emoji to your posts by by typing : and using our handy Emoji autocompleter:
Of course : just so happens to be the first character of the most common ASCII smiley, our old pal :) – so hopefully it was discoverable.
Since then, we’ve continually refined and improved our Emoji support.
Added an Emoji Picker
Sam whipped up this graphical emoji picker as an unplanned surprise in an earlier release and it works great! It’s linked from the editor toolbar as well:
We also added a “more…” button to the autocomplete so even if you don’t have the editor toolbar visible (or, say, you’re on mobile), you can still get to the emoji picker.
Added Multiple Emoji Families
We launched with the Apple Emoji set, although it isn’t quite clear what the licensing terms are for that set. So we were very excited when Emoji One came along with an explicitly open source set of Emoji images, free for everyone! We immediately made Emoji One our default Emoji set.
There’s a number of Emoji Families or “sets” to choose from, so once we added Emoji One we also added the other common families: Google / Android, Apple / iOS, Twitter, and of course Emoji One which is the default.
Visit your site settings and change your
emoji set setting to taste.
Added Slight Smile
There was a surprising amount of consternation over the fact that Emoji, as originally defined, doesn’t have a “plain” closed mouth smiley. I’m not sure why this is, but it’s true:
Notice that none of those smiling Emoji faces, in any family, contains a simple closed mouth smile, the kind we associate with the classic 1960s and 1970s “Have a Nice Day” smile in American culture.
Fortunately Unicode 7 added something called
slightly_smiling, so we’ve switched the default :) mapping to that.
Added Emoji to Topic Titles
Another persistent user request was for Emoji in topic titles, so Régis added that a few releases ago, too:
Nothing makes your topic stand out quite like a …
Added Unicode Emoji Remapping
Although having Emoji formalized in Unicode does wonders for standardizing the Emoji experience, the actual rendering of Unicode Emoji depends heavily on your platform and your browser. To address this, Robin just made it so that when we encounter a unicode Emoji in a Discourse post we automatically remap it to the correct Emoji image set, per your Discourse site settings.
This way, no matter how the Emoji is entered – via the Discourse picker, or via Unicode character typed with your local keyboard – it’ll look consistently great, on any device, for any user.
Updated and Optimized Emoji Sets
There are a fair number of changes to Emoji each year, as Emoji become more and more of a cultural phenomenon.
- June 2014 – Unicode 7.0 added 103 new emoji
- June 2015 – Unicode 8.0 added 41 new emoji
- June 2016 (est) – Unicode 9.0 plans ~80 new emoji
The same is true of each iOS and Android release, which include refined Emoji as well as new ones. We regularly update each Emoji set to match as we release. We’ve also heavily optimized all our Emoji sets using Google’s new zopfli PNG compression for speedy rendering.
In the current Discourse 1.5 beta, we’re especially pleased to pull in the new, completely redesigned 2016 Emoji One set, which looks fantastic!
Emoji One also provides essential Emoji references as a public service:
At Discourse, we’re true Emoji fans. We want you to have fun and express yourself with the deep Emoji support in Discourse! And, as always, let us know how we can continue to improve your Emoji experience.