No matter, how well we design our Software Systems, exceptions are bound to happen. Some times, due to our internal faults arising from bad or incomplete design like not handling errors or certain uncommon conditions. And some times, due to events that are totally out of our control. What makes our application exceptional is how we handle those exceptions and keep the conversations going.
Instead of just babbling theoretical aspects of what makes design sense, we would like to share examples from a real experience at Supercool School and clarify what should have been done to handle an exception.
We signed up for Supercool School last week and created a new class to offer our most popular “Unleash Your Career” event. We added the site url in all our communication and marketing material and started promoting the session. A couple of days later, on 6th of April, we received an email from a user that he couldn’t signup. We visited the site and tried to signup. This is how the error message was displayed on the screen.
Now that may look perfectly reasonable error message for many. But think what will happen next. It will cut short the conversation with user. User may not take the extra pain to complain or communicate with you and just leave the site. The user may never visit the site again. And most likely the user will discourage other people visiting the site. Does keyword ‘viral’ or social ring a sound? All the effort put so far to get the user to visit site, persuade the user to see value and signup for the account, all goes in vain.
The solution, is simple. Keep conversation going. Just do not give up so easily. Think about, automatically retrying on behalf of the user. Think about alternatives that could be offered to keep the user proceeding further. If no alternatives are available, Think about collecting some information from the user so that you can reach them back later. Do something, whatever possible, so that you don’t loose that user.
Thinking about this specific issue, Supercool School should have done some thing like these:
- Offer the user to contact the School owner by providing a link right in the error message.
- Even better, explain to the user about the problem, but also take the registration as usual and put the user account in a ‘pending state’. This way, School owner do not loose the user and User experience is not suddenly broken.
- Inform the school owner about the exception and offer the owner to upgrade to next plan immediately.
- Even better, allow registrations for a day or two, giving some time for the Site owner to make arrangements to upgrade to the next plan.
- …
It is really worth giving a serious thought to how you are currently handling errors/exceptions in your system. And how you can keep those conversations going. Remember, don’t give up so easily.
No comments:
Post a Comment