How to Snuggle Softly With your Product Error Messages

I am a huge fan of companies who focus a lot on ‘small things’ that have a long term impact on products and the way these offerings are perceived (read: A Nifty Product Management Lesson From Google Chrome).

A products’ soul actually comes out when things go haywire and you, as the developer/as the creator need to find a place to hide yourself.

So what do you do?

Apologize for the error? Throw a very generic message? Show Donuts? A failwhale?

Well, the team at Asana ( mentioned earlier in Online Task Management Services For Startups and Small Teams) does interesting things with error messages.


When you encounter an error message on the site, you will see these random sentences in the error messages. So while reporting an error, just share these error messages and Asana team will diagnose the problem.

How does it work?

Imagine representing 32 bits of information (numbers up to 4 billion) as a sentence instead of a jumble of digits. Each sentence can have the same predictable structure, and the number will be used to choose words from a dictionary to fill in that structure—like Mad Libs.

One possible sentence structure can be: count + adjective + plural noun + verb + adverb, e.g. “6 sad squid snuggle softly.” We can divide the bit-space of the number like so:

  • 5 bits for the count (2-33, so it is always plural)
  • 7 bits for the adjective (one of 128 possibilities)
  • 7 bits for the plural noun (one of 128 possibilities, which we made all animals just for fun)
  • 7 bits for the verb (one of 128 possibilities)
  • 6 bits for the adverb (one of 64 possibilities)

Now, given a dictionary containing words categorized in this way, we can generate 4 billion unique (and sometimes very memorable) sentences. In Asana, the ID used to generate the error phrase is random, so the same sentence is unlikely to occur twice. It collects a bunch of useful information about the crash (stack traces, log snippets, application state, user and session information, etc.) and automatically groups similar problems and imports them into an internal Asana task list [Asana blog].

That is, you aren’t shown a stupid stacktrace, but random sentences which makes the product look less sucky (and the sentence helps Asana team in debugging).

What’s the Big Deal?

Not much if you ask logically.

Products are about perception and the way you handle error messages speaks of your product soul. Basically, it’s the last mile in your product user experience and is often neglected.

And focusing on such ‘neglected areas’ is more of a UX/support service than anything else. It actually defines who you are (as a company).

What’s your opinion?

Aside, if you plan to have similar error messages in your product – download from Github.

Sign Up for nextbigwhat newsletter

Delivered everyday 8 AM. Most comprehensive coverage of the tech ecosystem.

Download, the short news app for busy professionals