Why Emoji Fit Perfectly for Chatbots 🐱

A serious take on how emoji add personality and depth to a chatbot.

Barbara Ondrisek
Chatbots Magazine

--

Emoji and chatbots are a match made in heaven! One picture is worth ten thousand words — this is also the case for emoji, smileys or emoticons since you can show your intent, mood, feelings or interests with just one character. These small pictograms offer a universal simplicity in communication and hence improved user experience when used correctly.

With emoji you can tell whether you are hungry or angry (I’m still waiting for a “hangry” emoji), or if you traveled to Japan or Paris. You can make super funny jokes or form a complete conversation or even poetry.

One example for a joke using emoji

In November 2015 Slack was first with integrating emoji as reactions to conversations and Facebook also adapted in February this year. This simple way to tell agreement or any other emotional response to a sentence of someone else and made emoji one of their first class features. And this was only the start.

Facebook added an emoji keyboard to Messenger to enable users the use of emoji even if their system does not supports (all of) them. Telegram made “sticker packs” available, that match to a certain emoji to add fun and enable even better running jokes.

Funny stickers in the sticker packs in Telegram match a certain emoji

Since the use of emoji is strongly bound to the use of text messages - especially on smartphones - their appearance in chatbots was just a matter of time.

So how to use emoji in chatbots?

Emoji Driven Conversations

For good UX in chatbots you have to react to different types of messages sent to your bot, not only text. A good chatbot does not only react to text, but also to GPS-positions, stickers, images, videos or even audio-files — Mica sends you an audio-file back! She is the first chatbot that purrs!.

Some chatbots nowadays already react to emoji in a conversation such as Mica, the Hipster Cat Bot:

Mica, the Hipster Cat Bot reacts to emoji such as “Pizza” 🍕, “Pasta” 🍝, “Burger” 🍔, “Beer” 🍺, “Coffee” 🍵etc.

Mica “reads” and understands food emoji such as burger, beer, pizza, pasta, ramen, soup, sushi, breakfast, ice cream, cake, donut, wine, cocktails, desserts, burrito, hotdog, bakery, tea, grill, and all the veggies and fruits are interpreted as “vegetarian”.

Other nice examples are the Where bot, Kip or Whole Foods, who launched a chatbot that finds recipes depending on the emoji you send. For instance you can send a banana or a shrimp and you’ll receive the matching recipes.

But first of all, one should consider different things using emoji.

Difficult Ambiguity of Emoji

Unfortunately not all apps or OS support all (new) emoji. Supported emoji and emoji-versions differ per platform. For instance Chrome does not support all new emoji and the emoji-symbols look different on Android and on iOS. They also have a different appearance per manufacturer: Samsung’s emoji are different to those of LG. And some mobile OS support already the new set of emoji, some don’t.

Examples for different emoji styles on different devices (Kip)

One other difficult thing is the possible misinterpretation of smileys since some representations could look more positive on some devices but negative on others. A good example is the emoji “Grinning Face with Smiling Eyes“, which has a broad band of possible emotional interpretations:

from “Investigating the Potential for Miscommunication Using Emoji

And to make it even more complicated emoji can also be misinterpreted depending on your cultural context. An example is the “sleepy face,” which looks like this across various devices:

Sleepy Face emoji Wired

This emoji originally means to display a sleeper with a cloud coming out of the nose — a symbol coming from Japan. This nasal bubble is derived from popular anime/manga iconography that denotes sleep. But since most are not familiar to this interpretation this emoji is often used to display having a cold or even crying. See also We’re All Using These Emoji Wrong (Wired).

Taking all of this in consideration let’s have a look at the integration of emoji in messengers.

Emoji Dialects — How to Add Emoji-Support to Your Bot

The tricky part comes with implementing emoji in the messenger APIs. In Facebook Messenger you have to analyze the UTF-8 / unicode characters of the string, but Skype uses its own proprietary format to display an emoji. Other messengers such as Slack use a short code describing an emoji.

To make it even more complicated there are also ASCII versions of emoji starting with simple smileys “:)”, to more interesting combinations such as robot “:|]”, penguin “<(“)”, or shark “(^^^)”. Some platforms convert the ASCII version of the emoji into their pictogram, some don’t, so chatbots also need to consider these various representations of one single emoji.

For example the various methods displaying a cat emoji in different messengers:

  • Facebook / SMS texing: 🐱 (unicode character “U+1F431” or UTF-16 Hex (used in C/C++/Java) “0xD83D 0xDC31" resp. “\ud83d\udc31”)
  • Slack: “:cat:”
  • Skype: “<ss type=”cat”>(cat)</ss>”

For more details on different emoji codes see also:

With Mica I’m checking the different food characters this way: In Java one has to check the characters of a string (an emoji is represented by one to two UTF-16 chars), convert them to integer values and then look them up.

Java code for emoji checking

When implementing a backend that serves different messengers (Mica runs on Facebook Messenger, Skype, and Telegram— Beta on WeChat and Kik) you have to consider all the different possibilities, a user can send you the emoji via the different messenger APIs. You basically start building an translation service for all the different emoji and a lot of if-s to response according to the emoji.

You should be careful where, how, and how often you use emoji in UI elements such as menus or buttons. The emoji-usage should reflect how you want your bot to be perceived.

Finding the Tone of Your Bot with Emoji

With Mica I first started to use emoji basically everywhere because it was fun and new, but soon I realized, when you use too many emoji, your bot quickly looks not serious enough.

A good strategy is to be liberal in what you accept and conservative in what you produce e.g. users can use different emoji or ASCII smileys, but you might not want to use them as much for the bot responses.

Swelly vs. Mica

It might depend on the topic and business model of your bot whether you want to use extensively emoji or not. The bot Swelly utilizes in contrast to Mica, the Hipster Cat Bot emoji much more, but in the context of this more playful bot this makes more sense — in contrast to more serious bots such as fintech bots for example. Emoji can help connecting emotionally, but for some services this might not be necessary or constructive.

You should be careful where, how, and how often you use emoji in UI elements such as menus or buttons. The emoji-usage should reflect how you want your bot to be perceived.

Considering all the different emoji dialects and avoiding miscommunication, using those small, funny pictograms could improve the user experience when used carefully in chatbots. Just give it a try and ask Mica, the Hipster Cat Bot for the next pizza or burger place!

Emojis in Quick Reply buttons in Mica, the Hipster Cat Bot
👏👏Clap below to recommend this article to others👏👏

--

--