So, what makes this blog different from all the other UX blogs out there? Good question, and it's one I had to answer myself before I started writing this. There are plenty of blogs out on the web already where UX professionals muse about their experience in the field. I’ve read many good ones, and it’s been a bit daunting trying to verbalize what makes me think I have something unique to contribute. So, what makes my perspective different? Well, mainly that I’m not a UX designer by training; rather, I’m a software engineer.
Before you run screaming, hear me out. Not all software developers have a blatant disregard for the users of their software. Some do. Ok, a lot of them do. But not all. Most engineers are feature driven, caring more about the minutia of how the software is built and assuming the end user will "figure it out." After all, the developer did so how hard can it be, right? Since I've been a software engineer for over 20 years, I think the above characterization is an informed one. Many of my peers have expressed similar opinions, some rather vehemently, over the years. I did too for a long time. The interface for my software followed right along with the mental model I used to develop the code, and darn it, what’s wrong with that? Well, I learned.
Back in the early 90s, I was working for a medical device company as part of their Human Factors team. I got tasked with coding prototypes for user testing that other team members designed. It was a bit later, when the team started testing with actual users, that I had my first Moment of Clarity.
Our target users were clinicians; mostly nurses and a few doctors. User testing consisted of asking them to perform a series of tasks using our hi-fidelity prototype, combined with the usual pre- and post-test surveys. It was pretty standard stuff to the UX profession, but rather novel for me at the time. These users were, by definition, very smart and well trained in their profession. They have to be or else people can die. Compare that to a bad day for me where a few mistakes just meant more time debugging, and it was a little humbling.
The big moment came when one particular nurse tested our software. She seemed particularly well spoken from her pre-test interview but claimed she had never used a computer before. When the test was set up, the mouse was left rotated a bit clockwise. She grabbed it and completed the rotation and was using the mouse upside-down. This caused a few snickers on our side of the testing glass, but then we watched her complete the first few tasks in less time than some of the "computer experienced" participants did. At that point, the human factors team lead suggested that she rotate the mouse around, after which she just tore through the rest of the tasks. So, here we had an intelligent, well-trained professional, who literally didn't know which end of the mouse was up. So much for everyone having the same mental model as me!
The second and more serious phase of my "enlightenment" came several years later when my father was rushed to the hospital. He was struck with a pulmonary embolism which wasn't fatal but did result in a few days stay in the Intensive Care Unit. During my visits, I noticed that the monitoring devices were made by my company, most likely worked on by people I interacted with every day. Memories of that user test quickly came up, and I really hoped that the same attention was given to this system’s interface as the one I had worked on!
From that point on, I really cared about the user experience. I realized that no matter how impressive the code was to me, if there are problems with the interface, then bad things can occur in the real world, possibly deadly things if we’re talking about critical applications like patient monitoring. There is an excellent book by Kim Vicente that gives some ever more sobering examples than mine.
I’ve changed from a scruffy young engineer who loves grinding out code to a scruffy old engineer who writes code when needed but is really more interested in the User Experience. Fortunately for me, there are plenty of good books and blogs on the topic out there to absorb. I’ve even been teaching a graduate course in Human-Computer Interaction for the last dozen or so years. This lets me try to instill that same caring about users into the next generation of engineers, so they don’t have to go through the experience of seeing a family member hooked up to a device their team worked on first.
So yeah, I think I've got a few things to add to the conversation about UX. My perspective is a bit different than many folks in the discipline coming from the implementation world first instead of the design. But hey, that’s a lot of what the profession is about: understanding the “other guy,” bridging gaps, and having a cross-functional team that can create the best experience possible. I hope my perspective proves to be interesting, or at least marginally entertaining, as this blog evolves. If not, I guess I can always go back to debugging code.