Saturday, December 28, 2013

Twitter: Error Messages Should Be More Useful Than the Average Tweet

I have a 140-character message for the people at Twitter:

@twitter Error messages important. They should be avoided, but when needed, should be descriptive, helpful, and more than 140 chars. kthxbye

The other day, I was trying to send a direct message using the official Twitter Android app. For no apparent reason, I kept getting one of the following two error messages, at random:
  • Sending direct message failed.
  • Sorry, we were unable to send the message.
These are terrible error messages.

First, why are there two different messages that say the same thing? One is polite and one is brusque. Twitter, choose one and stick to it! Randomly choosing an error message is pointless, not user friendly, and complicates solving the problem.

Rule of thumb #1: There should never, ever be any randomization in error messaging.

Next, these two messages provide no information whatsoever. Years of experience as a failed user led me to interpret these as indications of a momentary outage of Twitter service, and that I should try again later. So, I did. Over the span of two days, I tried to send my message nearly a dozen times, each attempt denied with the one of the above worthless error messages. I decided to engage in some sleuthing, leading me to this discovery, buried deep within the Twitter help center:

Bingo! I was, in fact, trying to send a message containing a URL! My assumption was incorrect. "Try again later" was not at all the appropriate course of action... the contents of my message were invalid. After remedying this, I successfully sent my message, and moved on with my life.

Beyond the horrendous error messaging, and the burial of critical information deep inside of the Twitter support web site, lies a much deeper problem. It is outrageous to think that any string of length 140 characters or less could ever be considered invalid.

Rule of thumb #2: A string that is less than 140 characters is ALWAYS a valid tweet or direct message.

I could understand Twitter engineers discovering a theretofore unknown issue, and posting an explanation while they rushed to address the issue. But, the above explanation seems to indicate that Twitter knowingly decided to break messaging functionality during back-end restructuring. Why was it necessary to do so? When a URL-processing sub-system is taken offline, messaging should not be disrupted. At its core, Twitter (to its credit) is an extremely simple product: the dispatching of max 140-character messages. Everything else is icing on the cake, and optional. If users miss their URL shortening or click analytics data for a few days, no biggie. If users cannot send the messages they want, that's a biggie. Everything at Twitter, from normal operation to planned back-end restructuring to unexpected situations, should be organized around this central principle.

I'm not done here.

I also received the following additional error message:
  • Direct message could not be sent. Recipient is not following you.
This is also less than ideal. First of all, at times, the message was patently false... the recipient was following me. Pardon my French, but that's quite a huge fuck-up, and heads should roll.

Regardless, should this ever be the actual case, it could be handled much better. Note that this an edge case, considering that opening a direct messaging dialog with a recipient who isn't following you is prevented. This case then only occurs if the recipient unfollows you sometime between the rendering of the dialog-launching menu item and the clicking of the send button (or in my case, it occurred for no good reason at all).
  • As soon as it is known that the recipient is not following, disable the send button. Re-enable the send button as soon as the recipient follows you.
  • Put up a word bubble over the disabled send button, explaining why it's disabled.
  • Provide a button for an action that helps remedy the situation. Either by
    • Facilitating the composing of a tweet that asks the recipient to follow you
    • Sending a private "follow request". This functionality does not exist at the moment, but it should.
Furthermore, it is hard to learn how to call up the direct message dialog. I looked through the action menu for "Send a Direct Message," but it did not appear to be there.

Compare:




 "Send a Direct Message" only appears if the recipient is already following you. How am I supposed to know that? I continued scouring the Twitter interface, but fortunately, the interface is small enough to be covered completely in a short amount of time.

Rule of thumb #3: Menu items that cannot currently be actioned should be disabled, not invisible. Additionally, the reason for disabling should be clearly labeled.

Hopefully, with the new money raised by the recent IPO, they can spend some of that on buying common sense.

1 comment:

  1. The fact that you have to engage in any sleuthing at all is disgraceful. When the error is due to an issue Twitter is already aware of, the error message should include a link to the appropriate help page.

    ReplyDelete