As our phones become more powerful, we find ourselves using them more and more. It should come as no surprise then, that user interface design is becoming increasingly important. After all, the user interface is the window into the software — where machine meets man.

So what goes into making a good interface? Why do we leave some apps feeling frustrated while others make us want to tell our friends to join in?

It’s all about expectations — and it’s not not about you. In order to unlock a great UI, you need to first understand your user’s goals and expectations, and then exceed those expectations. Sounds too simple, so let’s illustrate with an example.

What Not To Do – Galaxy S5 Display Settings

The Samsung Galaxy S5 is a great phone, but one feature that confuses me every time is the setting to allow the screen to shut off while the phone is charging. Had the good folks at Samsung taken user expectations into account, perhaps this problem could have been avoided.

Let’s say you want to change this particular setting, so you launch the Settings app. You’re met with a bunch of options, and it isn’t entirely obvious what the distinction between them is:

s5-settings

Is the setting you’re looking for under Display? Battery? What the heck is Toolbox? Since it’s confusing, you have to check every single option.

So when you finally find things under Developer Options, naturally you’re a little frustrated. Your expectations of a simple task that should only take 2 seconds ended up taking a couple minutes, so now you’re annoyed:

s5-stay-awake

How could this have been better? After all, we’re not here to gripe, but to make great software. Here are some suggestions:

  • Organize the groups of settings around what people might want to do. Maybe it’s ok if the same setting appears in multiple sections (maybe the option to keep the screen awake could be in Display, Battery, and Developer Options).
  • Group the options more logically. A Samsung product manager knows the intricacies of the Toolbox feature, but most users probably haven’t heard of it. So it makes sense to a Samsung product manager to group Toolbox settings together, but most users will likely be confused by this.
  • Allow for search. People know what they’re trying to do and could explain to another person what they’re trying to do. Instead of forcing the user to organize the settings in their head like the way the designer did, allow them to enter what they’re looking for in free-form text.

Positive Example – Galaxy S5 Alarm

I really do like my Samsung phone, so I’d like to show a positive example too. Let’s say you’re about to go to bed and you want to set an alarm to get up in the morning. You launch the alarm clock app and set your alarm:

s5-alarm

When you get there, the clock interface is the first thing that catches your eye. It’s on top, in a large font, and clearly separated from the rest of the app by a bold color. Expectation -> met. You know exactly what to do when you get here.

But wait, there’s more! This isn’t your grandmother’s alarm clock. There’s this feature called “Smart alarm” which sounds cool and futuristic, but I don’t know what it is:

s5-smart-alarm-circled

So I tap on it and I get succinct explanation of the feature:

s5-smart-alarm

This is just great. Whoever designed this app realized that when I set an alarm, I might be waking myself up. They know their customer! I came here expecting to set an alarm, and learned along the way that not only can this app wake me up, but it can also do it gently so I don’t get jostled out of peaceful slumber. My phone knows me so well! Expectations -> exceeded.

So what?

All this is well and good you tell me, but what can actually be done to make better interfaces? A few things:

  • Know your customer. This is pretty straightforward in the sales world, but the tech industry seems to be a bit distracted by the fairy tale of a dropout whizkid who builds a brilliant piece of technology in his basement and becomes a billionaire by the age where most folks are settling into their first job. In order to exceed people’s expectations, you first need to know what those expectations are. There are really no shortcuts to this. Either you have some special insight into your user (maybe you are a freelancer so you have innate knowledge of what freelancer’s lives are like), or you have to get out there and talk to people. Do beta testing. Read market research. Be relentless in learning whatever you can.
  • Know the alternatives. This is a corollary to the previous point, but make sure you understand how your software fits into context in the user’s life. Is this enterprise software that their boss says they have to use? Or is it a lifestyle app that is being used willingly? Are you the gatekeeper to content they can’t get anywhere else, or is your user interface your main differentiator? Once you understand how a user might leave your app and get the same thing done somewhere else, you’ll have a better understanding of your customer’s expectations.
  • Use the latest features available on your platform. This one’s for the developers out there. Always be looking at the bleeding edge of Android or iOS or Windows Phone or whatever platform you’re developing for. You’re not competing against a known quantity — you’re competing for people’s attention. People who have been accustomed to Moore’s Law magically making their tech goods smarter and faster for the last 50 years now. If you want to impress today’s audience, you need to be first to market with the latest features.

Further Reading

If you’re interested in building great user interfaces, here are some books you can read to get started. You’ll find these skills applicable to broader product management fields and not just UI design:

  • Well-Designed is a great how-to guide in using empathy to understand your customer and funnel that insight into your products.
  • Emotional Intelligence is the seminal work in understanding people’s emotions. It’s the interpersonal equivalent of IQ. A lot of understanding empathy hinges on understanding other people. In the worst case, you’ll read this and not learn a lot about UI design, but you’ll become a more empathetic person so what’s to lose?
  • Don’t Make Me Think is ancient by modern standards, but the psychology is still good. Confusing people is no less harmful to products today than it was in 2005.