The Road to Great UX Design

Here we go, my first large blogpost here. Handle with care :)

After creating websites for years, creating MinecraftEdu related content and digging more into the subject I finally decided to gather up a list of things that I feel are very important to making good decisions about user interfaces. This small guide can be used for websites, desktop applications and apps.

Jack Dorsey has an awesome quote.

Before further reading this post and if you have time, first take a look at this wonderful part of the speech made by Jack Dorsey:

You have to make every single detail perfect and you have to limit the number of details.
- Jack Dorsey

That is really inspirational. And really, if you can pull this off, you'll be well on your way to success. I've personally been in situations where I've thought about a design decision for days and kept switching and experimenting between different options. I just need to get it "finished" before I can proceed. This is what you should strive for. Make every detail perfect.

Although I would also state that I also recommend doing Lean Development. If you are creating a large-scale application from stratch, you can, and should, at times use non-optimal solutions to just get something up and running. Then you can improve that once you have the basic functionality nailed down. Spending 2 weeks on 2 components that you want to make from a stratch instead of reusing something that you can get working with similar results in 1 hour is just waste of time. Make those components perfect after you have everything else working in your application.

Don't make me think

The name of this section is the same as the book written by Steve Krug (referenced on bottom of this post). Generally speaking, if you can nail down an interface which the user can use without thinking, you have nailed the interface design pretty well.

Make everything as simple as possible.

Everything should be designed as: Usability First. Graphics designers love creating awesome shapes and colors with lots of detail. Engineers love creating cryptic and complex structures. UX Designers then remove 80% of what graphics designers and engineers created. Read the title again and stick to it.

Stock settings should be fine-tuned to perfection.

Stock settings are what your users see when they first see your product. Usually people do not bother to change their settings as
1) They feel that all stock settings are there for a reason, or
2) they are too lazy to change the settings.

Limit the number of customizable options.

Your product's stock settings should be so fine-tuned that the users should not need customization options. Should they need them, limit the number of options available to the ones that your users really need. And no, even changing your options and enabling advanced options should not make the product feel clunky.

Make everything as consistent as possible.

This means that everything from font to color should be consistent. No randomly changing colors, no weird shapes out of nowhere. The product should not give the user any negative visual surprises.

Why are you doing this change?

For every word (yes, and I really mean this, content strategy is important!), color and shape added/modified you need to ask yourself: Why are you doing this change? Every change, every detail should be thought out, nothing should be "randomly" picked. This can lead to lots and lots of "hair-pulling" but it is really, really important.

There have been times when I've been way too tired to spend lots of time deciding the best place for certain component, but I'll leave myself note that I will need to get back to that later. That has worked well for me.

Keep checking throughout the design process how everything works together

This is especially important if you are working on a large project. New changes (especially ones that you are not actually making but someone else is) should be checked against what you already have.

Run UX tests with actual users

This is the only way to really know how users use your product. This has been pretty eye-opening for me. Even if you yourself would be the target group of the product, everyone has different personalities and traits and it is impossible for any one person to be able to understand the personalities and traits of everyone. I love that when doing UX tests I can actually realize how different people have different ways to use the product and then I am tasked with coming up with solutions that make things more clear for everyone.

Know your users

Are your users rocket scientists, developers, designers or clasroom teachers? All of them have different specialities, they know different vocabularities, have different backgrounds and so on and so forth. Do market research, get to know the users that will actually use your product.

Know how users use your product

When you design a product you will spend lots of time looking at interfaces and creating them. This can easily lead to blindness on actually knowing how your users see the interfaces. While you may design a certain interface to have lots of text with instructions on how to do something, your user, usually, might just skip the text and make a mistake by pressing the wrong button. Users have an objective they want to complete, users do not have time to read your boring and long instructions. Users just want everything as fast as possible and they want the interface to work without them even thinking what button to press next. Users want an interface that is similar in its actions to products that they already use.

If you get stuck, ask for help

If I get stuck and really cannot decide the best way between different options or the way to go, I'll ask others for opinions. Sometimes others can come up with a great solution or at least a solution that you can customize to fit for your needs or sometimes something even more magical happens. Once you are actually explaining the problem to someone else, you might come up with a solution yourself midway through explaining the problem.

I've even heard some folks having a figure in their desk for whom they describe the problem so that they could use that same voodoo magic (I'll take what that guy is having!)

And there still is hope, I promise!

If you have already created your product and there was not too much of UX design taken into account, fear not! Now the functionality is nailed down it is the perfect time to jump into the wonderful world of UX design and start redesigning your interfaces!

Where do I go from here

Life is all about learning. You create, you learn from that. I am grateful of having the opportunity of doing wide variety of development with MinecraftEdu for years including applications, websites and modding in wide variety of contexts. Looking back at design decisions I made 3 years, heck, even 1 year ago there are some things I am not too proud of, but there are some things we need to consider here:

  • You learn and get better by doing
  • Sometimes you want to get the project finished faster by doing non-optimal decisions, thinking that you can improve it later on.

You create, learn by success or failure and over time learn to make better decisions.

Where do you go from here

I could list a lot of webpages, books and blogposts here but I won't do that for a reason: The internet is already full of resources. If I could pick one book about UX, I would definitely recommend Steve Krug's "Don't Make Me Think Revisited". For further resources, try some of these keywords at Google: UX, UI, Usability, Accessibility. Combine those keywords with words like Design, Basics or Posts. I would also recommend trying those same keywords at Medium.

Oh, also, if you do not have a background in design, read about design. Read a few basic books about the history of design, grids and color theory. Get used to the topic. This way you'll know what works and what does not.