On making your app less frustrating even when it's quite breaky.
Published: 2018-06-16 15:43:09

---
title: On making your app less frustrating even when it's quite breaky.
published: true
description: All software, right, has bugs.
tags: 
cover_image: https://thepracticaldev.s3.amazonaws.com/i/0o2g2wydypf3tnsw485y.jpg
---

All software has bugs.

Perhaps the front page of your website is the most important thing in terms of customer relations because first impressions last. Perhaps how your social media team handles the monsoon in the wake of a PR disaster is more important. Maybe getting more people involved in your pyramid scheme is higher priority than keeping your user-base happy. I'm not here to judge.

All bogware has Suggs:

![PayPal error message](https://thepracticaldev.s3.amazonaws.com/i/44gfdgbxgqtipyio6to5.png "This is what you see when you try to delete a sandbox user")

The PayPal developer interface has gone through a lot of changes and to be frank has never been that good. I'm picking on them here because it's the most recent error I've triggered, but of course there are hordes of developers producing the same broken user experience for the rest of the world's apps just as fast as they can type.

So what's wrong with this error? I'm a technical user; that's why I'm in the sandbox. Surely I want a technical error message?

Well, hold up. It's not that straightforward. Let's go through this step-by-step:

> Something went wrong.

> One or more sandbox accounts could not be deleted.

Which was it? One account or more than one? Am I going to have to look through my list to find which ones worked and which ones didn't? As a point of interest, I only attempted to delete one, so the message is obviously more generic than I'd hope.

> Try again.

Whoa. That's confidence-inspiring, right there. "Try again"? Like, maybe it'll work because they have no idea what went wrong? This is a company that handles all your monies and funnies.

> If you wish to report this error

Wait, what? Is this error not automatically logged and raised as an issue? Why do I need to be involved? Maybe it's so that I can 

> please include the following error id: <unique identifier>

This identifier indicates one thing for certain: the error has been logged. This means that their developers can check to see what went wrong, when they get asked to because of your error report. 

Better option would be something like this:

> We had a problem trying to delete the sandbox account 'foo@example.com'. We're sorry this happened, but the error has been reported and we will look into it. If you want to help, you can [tell us what you were trying to do](http://example.com) at the time the error occurred.


All software has bugs. Once your users find one, you almost have another chance to make a first impression; it's like they're interacting with you in a different way.

I can tell you more things wrong with that PayPal example: they disabled selection and mouse events on the error message, so copying and pasting the error ID was impossible. Instead I'd have to resort to notepad technology to jot down the number and read it back to myself later, possibly getting it wrong. They also didn't have any links on the rest of the page (even the footer) to anything like a contact form or email account. It was a frustrating day for @moopet.

Remember, kids: the error journeys in your software need as much care and attention as the golden path.

All software. hasbugs. Peace out.

Cover image from krosseel at [morguefile.com](https://morguefile.com/creative/krosseel)