There seem to be a number of people who still have the impression that User Experience (UX) is some divine attribute that is miraculously bestowed upon a few anointed applications. Other applications, they say, have no UX. There is also a belief that this manifestation of divine inspiration is a recent phenomenon, and that prior to a couple years ago, nothing had UX.
Little could be further from the truth.
UX is something that most things, not just software, have in spades. It’s not a question of whether something has UX or not, it’s a question of whether the UX is good, bad or indifferent.
Take, for instance, my relatively new alarm clock that has been annoying me immensely. It has a relatively simple role to fulfil; namely waking me up in the morning. But the way it goes about it is incredibly frustrating.
Pressing a button makes it beep
I have owned a number of alarm clocks and the one thing that they all have in common is that every time you press a button they beep. Setting the alarm clock discreetly after you’ve been out late and your partner is already in bed doesn’t seem possible (other than by taking the alarm clock into another room, but that is hardly great UX either). I get good tactile and visual indicators when I’ve pressed a button, I might even hear a soft click, so why does it need to beep like it’s time to wake up?
Setting the alarm is a nightmare
This particular alarm clock is a pretty simple digital one. It has two screens, one displaying the current time and one showing the time the alarm is set for, which also allows you to change and activate it.
I have an arrangement with my wife that every other morning I get up early with the kids, whilst she gets up with them on the alternate mornings. This doesn’t seem an unreasonable thing to do, but my alarm clock does! When I go to the alarm screen (beeping away merrily in the process) it allows me to change the alarm time. However once I have changed it, the screen switches back to the current time, with the alarm left unset! I need to go back to the alarm screen to activate the alarm, then manually go back to the current time. Three more beeps!
Why wouldn’t I want the alarm to be activated having just set it? Surely that’s a more sensible default behaviour?
What does this have to do with UX in software?
This is a great reminder of how even a simple activity can be transformed into a frustrating one by a poor interface and a terrible workflow.
Understanding how your users are going to interact with the application, and integrating that workflow from the start, is an important, if not vital, part of creating a great UX.
My alarm clock is an example of something that has achieved all of its functional needs. If you like it has passed all the unit and acceptance tests. However the way it works is suboptimal and forces the user, me, to work how it wants me to, rather than the other way around. An alarm clock is unlikely to ever have a great UX, I can only get so excited about setting an alarm, however it can definitely have a bad UX. In this case, the best UX it can have is one that is imperceptible, one that doesn’t make it difficult to set the alarm and doesn’t wake up my wife.
Discovering the essential user workflow is something that can only really be achieved by talking to and, even better, observing the users. To help facilitate this at Caplin we use narrative journey maps to uncover the real user behaviours and determine what they are actually trying to achieve.
Personas are another tool, allowing the characteristics of the target user(s) to be distilled into something tangible. They serve as a constant reminder who the product is being developed for, and what their needs are. In the case of my alarm clock, a persona based around someone with a partner who comes to bed later would almost certainly have led to a better product for my purposes.