“_If you touch the?black point then your WhatsApp will hang”
“Pls don’t try to touch or else ur phone will hung on….don’t say I’m joking ???”
You probably saw the messages that warned you not to touch a point on your WhatsApp, but being humans who have been curious since the days of Adam and Eve, you went forward and touched it. Immediately after touching it, your WhatsApp hang. You probably looked at it in disbelief, perhaps even thinking it was just a coincidence, you went ahead and tried again. What just happened? You wondered. This short article will offer some insights into what was in that message.
Computers represent everything as ones and zeros. That means that everything on a computer even the words you are reading now are just a bunch of ones and zeros stored on someone’s hard disk somewhere. This created a need for us to have a way of translating our normal characters (that is all the letters of the alphabet, numbers and even special characters like ‘$’) into ones and zeros. The current standard widely used is called unicode.
Pause and think for a moment, what about when you want to go to the next line? If you are typing on a keyboard you press “Enter” and it takes you to the next line. That also has to be represented in our translation of characters to ones and zeroes. But when you think about it “Enter” is not a character that you can see on the text you are typing, it is more of an instruction that tells the computer to take the text that follows on a new line. I will repeat that again “Enter is an instruction”. The point is there are some instructions that we have added in our translations of characters to ones and zeroes.
Now that we know there are some instructions that can be represented as characters, we can now go ahead and see what was wrong with that WhatsApp text that made your phone hang. There is a character instruction that is formally known as “zero width non-joiner” it is also abbreviated as U+200C it simple work is to tell the machine to separate two characters in some Persian languages (like Arabic). The WhatsApp text contained a lot of this instruction and by touching it you actually made it try to interpret this instruction.
The picture above shows just a small portion of the many “zero width non-joiner” characters that were there in the text. The text editor I was using represents this character as <200C> (Remember I said it is also called U+200C). Notice it was put after the dot and the hand on this particular text, but on a touch device your fingers will touch it. Since the instructions are repeated so many times WhatsApp will try to read and execute the instructions all those many times and in the end it cannot keep up and thus it hangs.
For you those of you with an IT background below is the same text in hexadecimal. I have highlighted the UTF code “E2 80 8C” which as you can see is repeated over and over again.
I hope this has been insightful and has answered your questions over why WhatsApp hanged.