EmojiCompat For Android A Work In Progress

EmojiCompat For Android A Work In Progress

Android users, if you still see empty boxes on your screen, that’s because the app you’re in probably isn’t using EmojiCompat.

When Google launched Android 8.0 in August of 2017, it also introduced the EmojiCompat support library[1] that would enable all users to see the latest emojis, regardless of the version of Android they were using.

Developers are merely required to drop in a line of code that tells the app to load a particular font library when it’s displaying emoji glyphs. It’s even backward compatible with devices running Android 4.4 and higher.

Google-emojicompat
Above: EmojiCompat aims to bring new emoji support to users stuck on older Android releases.

Unfortunately, not too many developers are using EmojiCompat yet, which means that Android users without the latest version of the operating system still can't see the newest emojis in the majority of apps.

According to Android’s platform version numbers[2], only a mere one percent of devices are running on Android 8.0 or later. This isn't a new issue: most Android users have been stuck without updates for years.

Won’t someone think of the missing zombies? 🧟‍♀️ 🧟‍♂️

Which apps are using EmojiCompat?

At present, there are very few apps that use the EmojiCompat support library. Google’s Allo uses it, and replaces the operating system's default emoji with the Google set.[3]

Yahoo Mail[4] also employs EmojiCompat, but the implementation seems half-baked. For instance, on devices with Android 7.0 the latest emojis are visible in the message preview, but not within the body of the message.

YahooMail
Above: Yahoo Mail’s EmojiCompat compatibility is questionable, considering it only works in the preview mode (left) and not other views (bottom-right).

The Meetup app for Android, like Yahoo Mail, supports new emojis for display but they go missing in some other views such as search input.

When it works, EmojiCompat displays the appropriate glyph for the emoji rather than an exed-out box, so both sides of the conversation can see the same characters. Google's own Allo is an example of an app that appears to get the job done correctly.

EmojiCompat_BeforeAfter

Above: On the left is Allo on a Galaxy S7 Active without EmojiCompat. On the right is Allo on the same phone after the EmojiCompat update.

Popular apps that might benefit most from EmojiCompat support aren't yet on board. Instagram has no custom emoji implementation and would be a prime contender to use it. Chrome would also give a big boost to the number of places a user might want new emojis to display correctly.

Twitter is now also testing EmojiCompat in its native Android app. Only a small number of users appear to be seeing this update so far, but for those who can it looks like this:

emojicompat-twemoji-android-emojipedia
*Above: Android users might be used to seeing missing characters (left), but Twitter's EmojiCompat test shows Twemoji instead (right).

Unlike other implementations, this displays Twitter's own Twemoji set for users instead of Google's emoji font, or the device font (eg Samsung). Stay tuned on that one.

Custom Implementations

Some apps rely on their own internal font libraries to get the deed done for users, though often they'll default to iOS glyphs instead of Android ones.

WhatsApp previously used Apple's emoji images, but recently switched to a custom set.[5] Messaging apps Telegram and Signal both use iOS images on Android.

telegram-android-emojis
Above: Telegram for Android eschews EmojiCompat and uses a custom emoji implementation with Apple's emoji designs.

The Android platform has a long and storied history of software fragmentation. EmojiCompat was meant to help at least alleviate the problem of emoji disparity, but unless developers get on board, Android users behind on their software updates won't stop seeing empty boxes.

Hopefully, Google's push for app developers to target later API levels[6] will help increase the adoption of EmojiCompat and reduce the number of empty boxes shown to Android users.


  1. https://developer.android.com/topic/libraries/support-library/preview/emoji-compat.html ↩︎

  2. Google's Android version share stats on 2018-2-8 ↩︎

  3. In my testing of Allo (Play Store Link) on a Galaxy S7 Active running Android 6.0, the emoji flipped from Samsung's glyphs to Google's once the app was updated ↩︎

  4. Play Store Link: Yahoo Mail ↩︎

  5. Slack also recently went though this. Previously iOS emoji images were the default on all platforms, but now Slack restricts Apple's emojis to those using iOS or macOS. ↩︎

  6. Google fights fragmentation: New Android features to be forced on apps in 2018 ↩︎