I received a text from my brother saying “don’t touch here” so the intellectual that I am did the exact opposite. Don’t judge me! What do you do when you’re instructed not to do something? That’s how humans make decisions. I instantly came to regret that decision though, because touching that piece of text summoned Elsa on my phone. Everything froze. I gave it a few seconds and things got back to normal.

Look at the status bar. It’s 1987 characters!

After playing with this message for about 15 minutes, I decided to find out what that actually was. So I copied that message and pasted it into Visual Studio Code, a text editor. I was surprised to find out that the small message was about 1987 characters.

Control characters everywhere

“Almost TWO THOUSAND CHARACTERS? I have to know what’s happening here,” I thought. I used my editor’s tools to convert the text into Unicode escape sequences to find two characters repeated all over the place. \u200e and \u200f . These characters are LRM and RLM two invisible formatting characters that are used in word processing to distinguish between left-to-right text (like English or Hindi) and right-to-left text (like Arabic or Hebrew). This page was my reference once I found the character codes (click the link if you want to talk nerdy).

Now that I know what the message is, it’s speculation time! Here’s what I think happens — the message overwhelms WhatsApp by instructing it to switch the direction of the text two thousand times. (Don’t judge WhatsApp, it might as well be the OS causing it, we don’t know.) Anyway, the direction switching causes a lot of processing to happen on the UI thread thus causing WhatsApp to freeze for a while.