An Autopsy of a Bad User Experience

I’d like to take a moment to share a bad user experience with you. Why? I believe it’s important to diagnose the how and the why whenever these issues occur. It’s one thing to feel empowered by social media and sound off your 140 characters of fury. But what does that achieve? How do others learn from these mistakes?

To try and explain what a user experience designer or developer does is not an easy task. Some even contest the field’s right to exist, comparing the UX crowd to SEO specialists and their fellow snake oil salesmen. But for the sake of the word count, I’ll attempt to distill a large part of what UX means to me, into a single key quote:

UX is all about reducing friction.
- Andrew Fisher, @ajfisher 

That’s it.

Friction as in, having to fill out unnecessary information. Having to repeat yourself. Reading lots of instructions. Specify a value that should be a default. Unnecessary points of contact. Email activation. Inefficient and inaccessible CAPTCHAs.

We’re taught as programmers to be DRY (don’t repeat yourself), so why must the user repeat themselves? Being pre-emptive. Being presumptuous. Terrible ways to spec and build software, but critical in a user’s path. Speedy processes are, after all, about reducing friction.  

But back to the issue at hand: a terrible user experience.

I recently moved to Telstra. For the international readers, Telstra is kind of what you move onto when you’re no longer a tight-arsed teenager and want a telco that actually works.  But if you plan to sign up or interact with a Telstra service at any point, the path is unfortunately predictable. Either an online form or the legacy system behind will trip you up. You will receive an unspecific, confusing error. You will call Telstra. The lovely call centre staff will fix the problem. The form or system will remain broken. Repeat.

The flaws in the workflow are plain to see:

  1. The forms themselves are littered with usability and accessibility issues
  2. The user is not given a descriptive error or instructions to rectify an error when it occurs
  3. The user is encouraged to call a 24/7 call centre instead
  4. The call centre staff spend their time fixing relatively straight forward issues
  5. The form remains broken

The issues I experienced became largely apparent when I was getting overdue bills that I simply couldn’t login to pay. I had difficulty beforehand getting into the system, but now I had a real financial motivation. I won’t go into the problems I experienced pre-ordering the iPhone 5. That form was presumably cobbled together at short notice after the phone was announced. That doesn’t excuse the number of problems I experienced, but see the workflow above for a short summary of how I negotiated those forms.

Maxlength everywhere and the ‘Space’ key is forbidden

So whenever you see your account number mentioned you will notice it’s neatly broken up with spaces. This was probably done because it makes it easier to read aloud to a call centre operator when you inevitably have to speak to one, but I digress. Almost everywhere you need to enter your account number, you might attempt pasting it in directly from the email. 

Paste it in. Fill in the rest of the details. Hit enter.

Oh damn. The spaces are forbidden characters.

Remove said spaces. Hit enter.

Oh now I’m getting an error (depending on the form, it may actually be helpful and tell you that your account number must have one of three numbers of characters). Eventually you’ll work out that there’s a maxlength on the field and the last two characters of your account number are always trimmed.

Sidenote: I noticed the other day that even the Commonwealth Bank is schooling Telstra in this area. Yes, a bank. Come on guys.

Your username is not your username

Just in case you ever have trouble logging in (you will), it’s worth remembering that your username is not actually your username.

Confused? Don’t be. Try a “forgot my username” email.


Oh great, I thought that’s what it was. Maybe I’ll try resetting my password while I’m at it.


Oh, I see, the label on the left is wrong. It must want my email instead.



Sidenote: Don’t even get me started on the non-standard <select> elements they use when asking for your date of birth.

Double sidenote: I was 99.999% sure of what my username and password were, and the system isn’t letting me in.

It’s not like the underlying systems are any better

I enjoy re-telling this story. I couldn’t pay any of my bills because I couldn’t create an account. And I couldn’t create an account because the system hadn’t created my “account”. That’s when this lovely exchange took place over the phone.

Telstra: Sir, your account could not be created because the system is missing some key information such as your date of birth. Could we have it please? 

Me: You mean the date of birth I just gave you to verify my identity?

Telstra: … Yes.

Me: ………….. Okay, sure it’s XX/XX/XX

Did I mention the system failures?

If you’ve jumped through enough hoops you might finally get to the point where you have an account set up, you can log in to it, and you can finally pay your overdue bills (did I mention my service was suspended?). This is when the call centre operator (who was great mind you), will inform you that the payment cannot be processed because the direct debit systems are down. He’ll call you back tomorrow.

Inconsistent inline errors and error pages

This is always going to be a problem in large sites with multiple forms. Depending on when a form was created (and by who), some will employ inline JavaScript validation, while others will use server-side validation. It’s inconsistent, but not nearly as frustrating as the vague error pages you will be sent to. These pages leave you stuck in some kind horrible purgatory in which you iterate through each field making minor changes attempting to correct that vague error. Eventually, with no feedback, you will most likely give in and call that lovely, shiny 24/7 support line and they explain it away as something wrong with their systems and correct it manually.

As of right now, I can’t log into the Telstra My Account area because my username and password are “incorrect”. I find this quite funny, because they’re coming from the Chrome Autofill tool and were working previously. Perhaps my account has been locked after too many incorrect attempts? But of course, I’ve got no way of finding out because the system doesn’t provide any user feedback. Then again, I could call that 24/7 support line…

A freebie: Pre-filling Information

In the opening paragraphs I reiterated some of Andrew Fisher’s thoughts about building frictionless experiences. In part that can be expressed as “why ask for information that you already know?”. It’s not critical, but I’ve always been frustrated how something as simple as the “state” field cannot be inferred by GEOIP lookup, or at least persist across steps. Every state field in the system that doesn’t come directly from your account settings will default to NSW. If you change that in step 1, and go to step 2 where you need to enter billing or shipping details, that state has also been set to NSW by default.

The vast majority of sites are guilty of this, but it still shits me to no end.


So who am I to tell the largest telecommunications company in Australia how to run their business? Well, I’m an end user who experienced some pretty glaring issues, for one. On the other hand, I know my way around a computer, and I can build a website or two. So spare a thought for all the people that aren’t even remotely technical. The people that weren’t able to figure out the maxlength on the account number field was set too low. The ones that don’t understand why a ‘space’ character isn’t numeric. These are sometimes the delightful kinds of people that dial the call centre to give the staff an absolute spray, for experiences they have no control over but must answer for.

Corrective Action

So where to from here? Someone within Telstra desperately needs to take ownership of the forms and the conventions around them. Setting guidelines and defining expected behaviours would go along way towards fixing the mess on the front end at least. I hold zero hope for the legacy back end systems being fixed any time soon, so this is where some neato JavaScript code adds value by acting as a middle-man. User input in, middle-man code, sanitised code into clunky old forms.

Corporations of Telstra’s size (eg: banks) are notoriously silo’d and the speed of change approval can be glacial. At a guess, I’m assuming there are multiple product owners within Telstra that these forms span across - so hopefully some of Telstra’s newly appointed UX leads can internally champion the cause and act swiftly.

Evidence based decision making and rigorous testing play a large role in ensuring change is effective. Tracking the occurrence of form failures and validation errors, as obvious as it seems, would reveal when your form is simply too hard. Drilling down as granular as possible, you may find that end users are having difficult with one field in particular. Perhaps the validation rules around account numbers are generating too many inline errors. Perhaps responding to that might have precluded this whole blog post?

I can’t tell you whether what I experienced was a bad user experience or instead a negative customer experience. But what is important is that these experiences are tied perilously close to the overall perception of the brand. It’s one thing to establish a “tone of voice” or enforce a style guide, but in a digital world, these points of interaction are just as important for representing your company and it’s priorities. From what I’ve seen to date, it appears that UX is not one of those priorities.