Talk: No More □ — Taming Emoji on Android

A different kind of article: This week I had the pleasure to give a talk at the Berlindroid monthly meetup, and in this article you’ll find how was the experience and a bit of the talk contents (not a full talk transcript).

The talk was lots of fun. The crowd had interesting questions afterwards and followed the talk with attention. It was a good experience that I would repeat.

Local communities are a great place to get started giving talks. I recommend you to start attending these monthly gatherings first to get an idea on how’s the crowd and what kind of topics are usually discussed.

Then, take the step and ask the organizers if they are looking for speakers. Most likely they do! Doesn’t matter if you have a lightning talk or a full featured workshop. From my experience, local meetup groups usually have problems finding speakers, and it is always great to have new faces, so it’s a win-win situation.

Talk slides

Talk content

In my talk I gave a quick introduction to Emoji, talked about how we handle Emoji on Android at, what are the biggest challenges we faced and how the new EmojiCompat is helping us.

The talk opens with an example of our app running without Emoji support and during the talk the attendees follow the journey to fix that problem.

On the first slides, I talked about how the lack of backwards Emoji support on older APIs has always negatively affected users. As well, how having different Emoji graphics per platform can cause confusion to users, and linked the following article:

Then, I explained briefly how Emoji works from the developer perspective. What does it mean to have an Emoji in a String and how you can perform some apparently innocent operations like calculating the “length” of a text containing Emoji. I also explained a bit what are short-names and when and why you would like to use them.

Next, I showed an example of how you can add missing Emoji to your app by using the custom font from EmojiOne, but at the same time, the amount of manual work that it requires to have a proper solution.

Finally, I explained how to use EmojiCompat from the Support Library. My example used the bundled font option and some of the most interesting options that the library provides.

The talk closes with an example of our app running both the custom solution and the one with EmojiCompat.

The snippets from the talk can be found in this GitHub repository: