My point of view on UX Design and why it's so important that all developers everywhere learn about it.
[Disclaimer] I am a developer, not a UX Designer, and these are just some thoughts I had on how to use common UX principles in my development process!
Recently, I attended the UX/Dev Summit in Ft. Lauderdale, Florida, where I learned a lot about UX Design. As a developer, I tend to put the user experience second when building an application or thinking about the UI. It's so much easier to just build the correct algorithms, GET or POST my data, and dump the information on the user in a way that I think is understandable. Of course, I would be able to understand how to use it -- I built it!
But my user is not me!
What's more difficult to think about is how my target users will experience my application. Sometimes, my target user is a completely different type of user than me, and so my UX ends up being way off. After attending the Summit, I decided I wanted to put together a blog post about my experience as a developer, in an effort to show other developers the importance of UX (and why we shouldn't ignore it). Let's walk through a couple things you can do as a developer to make your user's experience better!
First Things First, the Myth
Many times, I have heard developers scoff at the term UX. It is often seen as a useless job by itself, or a job that a front-end developer can just pick up. I, too, thought it was that simple, but let me explain my new point of view on this.
UX is not the same as UI period. In fact, it is quite different. I like to think of the UI as the visual representation of the UX, not the visual representation of the data or functionality, as it's sometimes stated. The UX is more of a psychological prediction, keen observation, and reconstruction of how the targeted user will experience your software. The goal is always to make it as intuitive as possible.
The Nielson Norman Group defines UX as this:
"User experience" encompasses all aspects of the end-user's interaction with the company, its services, and its products.
Within software or web applications, the UX will often dictate how long a user will use your product, or how accurately they will understand its purpose. There's a simple ratio to this: the more intuitive your product is to your targeted user, the better users will feel about your product, and the longer they will use it. And, of course, vice versa.
The failure of an application or service may not always be because ‘the purpose wasn’t clear enough,’ or ‘the service wasn't needed.’ Many times, it was because the user's experience was poor, or not thought out well. If a user has a bad experience, they're more likely to switch to a different product. Think about any time you have tried an API and it was just the most confusing, unhelpful documentation or interface in the world. Did you stick with it until it just worked? Probably not! Unless it was pertinent to your application, I'm sure you did a little shopping elsewhere.
Pick a Target
The first thing you can do as a developer is to pick your target user. This can be difficult at first, since it's easy to fall into the everyone and anyone trap. Of course we want everyone in the world to use our product, but if we don't focus on a particular group, then it will get lost in the valley of silicon.
Narrowing down a target will not only help with identifying a proper user experience, but it will also help with the marketing of your product, as well as unifying your team under a common goal!
Your target could be any group of people, but it's important to remember that narrowing the group will provide better results. For example, your targeted users could be front-end developers working on small, entrepreneurial applications!
Create the User
The next step is the create the user and their journey. What journey? Well, let's think of your user group as a bunch of individuals rather than just a target blob for your product. Each individual person has their own journey, and in order to tailor your product for them, you'll need to learn those journeys.
Researching that group and interviewing them would be extremely helpful with this process, but the end goal is to create a realistic journey for this user. This story could be as detailed as identifying what type of midnight snack may be their favorite. The more details, the better!
It's good to first start with their persona. This article explains how to create a persona, but in short it's a character sheet or in-depth background for a user in your targeted user group. This will help when you are trying to determine how your user might find your product, or how they might feel about the UI of your product. Then you'll move on to the journey for that user!
This journey must point to a story for your user. The difference is that a journey is more about who the person is and how they came to find your product (and why they might need it), while the story is:
User stories are short, simple descriptions of a feature told from the perspective of the person who desires the new capability, usually a user or customer of the system. They typically follow a simple template:
As a (type of user), I want (some goal) so that (some reason).
Example: As a (small-time entrepreneur), I want (to organize my team's todo list) so that (we can work better as a team).
It's a simple statement, but now you've focused on the user, the reason why, and the benefit.
Draw It Out!
Now that you have targeted your user and decided why they would want to use your product, it's time to think about how to visually represent this psychological experience.
- Where are your users going to look first in your UI?
- Is that where you want them to look?
- Are they more advanced, or are they beginners?
- What is going to draw their attention?
- Is the interface clear, uncluttered, and properly labeled?
- How will the color scheme make them feel? Positive or negative? Focused or confused?
It's even better if you get to more personal questions that target the direct mindset of your created user:
- Do they work late at night or a regular shift?
- Are their days stressful or easy-going?
- Does your user have time to read through documentation, or do they need answers fast?
I've found that white boards can be the best tool here, and will significantly reduce the work for your UI designer -- or for yourself, if that's you! You can draw out a diagram showing the steps you want your user to take from the moment they open your product.
Am I Done?
Almost! You're done with the initial design. The next part is simply retracing your journey through the design over and over to make sure you got it right for your users. This includes testing, observing your users, and then reconstructing the experience to be more accurate and intuitive.
Testing and Observing
A/B Testing can be extremely helpful in improving the UX of your product. In short, you are basically taking two versions of your product and testing which one is more intuitive to your users.
While testing, you'll want to observe your users to see where their pain points, or points of confusion, exist and think about ways you can alleviate those points! You can have your users fill out feedback surveys, as well, targeting the questions towards their experience with the site.
Then, you just take that data and reconstruct the experience of your product! It's an ongoing but very useful and important process. With repetition, your product's experience will be exactly what your users are looking for!
The team here at Syncano was grateful for all of the feedback we received from this conference. Not only was I able to personally learn about the importance of UX from a developer's point of view, but our team continues to work hard to provide the best possible user experience for our product and services. As always, more feedback is welcome!
In conclusion, although it's sometimes best to commission a UX Designer to actually design the experience of your application, it can help tremendously to follow a few simple principles as a developer yourself! I'm positive that just a little extra guided thought on the design of your product will return great results from your users.
Feel free to send me a Tweet or start a discussion about UX and development! @DevinViss