Users have higher expectations than ever from applications. Your website or application has only 10 seconds to make a good impression, and only 20 min to help your users achieve a goal where they feel successful.
How many of you are developers? (99% are developers in DevNation 2016 audience) How many of you have worked with a UX designer? (40% have worked with a UX designer). Regardless of whether you have a designer or not, you are responsible either alone or as part of the team for making your user experience excellent.
Learning UX will make you a better developer, and make sure that you spend your development effort in the areas that have the biggest impact on your users. Here are seven tactics you can try on your applications to not only meet, but exceed your users’ expectations.
1. User stories
“As a <user type> I want <feature> so <reason>” Understanding the ‘who’ (user type), and the why (reason) can influence the way that you implement your feature drastically. To get to user stories, start by agreeing on personas → epic → user story. Personas are exemplar users that help you and your team discuss your user types in a shared language. Epics are major areas of functionality that persona would want to accomplish. You can then move into the user stories that are small enough to start building from.
2. Sketching
Before you start coding, quickly and easily explore design options through sketching. You don’t have to be an artist to make an effective sketch, and if you get up to the whiteboard others will join to make a much more collaborative discussion about how your app should work. Remember that you want to iterate because your first idea is rarely your best. ‘Don’t go with your gut’, instead use divergent thinking to get all good and bad ideas out there and build on each other. After a while, you can start converging on the ideas that seem to have merit.
3. User flows
User Flows map how the user performs their tasks. You want to use these to get stakeholder buy-in early. One of the top reasons why projects fail is no stakeholder buy in, and this can help you resolve that. Like sketching, create user flows before any coding. While making user flows, you want to solve the problem without technology restrictions (blue sky). Boxes and arrows are fine. Your goal is to optimize the task.
4. Move away from the data table!
They create information overload because you are leaving it up to your user to distinguish between information that is all presented at an equal level. If you consider other alternative layouts, such as cards or rich lists, your application can make decisions based on what you want your user to see first, or what is most important to them based on user testing to accomplish their task.
5. Whitespace
The amount of space between elements. It gives content breathing room and balance, and also improves readability. Whitespace can help you show content prioritization and hierarchy, allowing you to drive your users through the content from most important to least important. Whitespace doesn’t have to be white! Use background colors or imagery, just make sure your main content is broken up and given breathing room.
6. Guerrilla testing
Guerrilla testing is ad hoc user testing. If you as a developer spend 10 minutes testing your application, it will save 10 days of re-coding. When you’re testing in this style, you just take your sketches or a working application and put it in front of other humans. They don’t have to be your target users, what you are looking for is feedback on your design decisions. Just seeing how people track through your application, even without domain knowledge, can help your design be better. To do this style of testing, be casual. Ask your user to do a simple task, and then listen, don’t talk. The more you talk, the more you are likely biasing your users. This is not a product demo. It is watching and observing the usage of your app. Record if possible, the feedback comes fast and furious!
7. User feedback
It’s not over once the solution is live, in fact it’s just the beginning. This is an opportunity to talk to your users, create a community, and show interest. Provide tools for feedback, bugs and issues. As you create a method of gathering this feedback, think about the details you need to solve an issue. Asking your user to attach an image of what they are seeing for example can be a great way to gain better context without having to ask each user for reproduction steps. We highly suggest that you consider exposing feedback to a wider audience - this is an opportunity to show that you are listening and care about your users. It also creates a community feel if you can allow others to see the feedback, vote on it, or otherwise comment. Don’t be afraid to follow up with the user who posts feedback. They took time out of their day to provide you help, they are likely willing to give you more help if you have questions.
Parting thoughts
These are just a few tricks to introduce you to some core concepts of user experience and design thinking, and we hope we’ve whetted your appetite for more! Every developer can become a better developer by adopting a few of these practices, and we hope these help you meet the expectations from your users in a more reliable way.
Last updated: September 5, 2023