If you want to design a great, functional mobile app interface, design principles are hugely important. Design principles (commonly called heuristics) are loose guidelines that designers can stick to in order to improve the quality of a user interface design. If you’re thinking about becoming a UI designer, you’d better keep reading.

[If you’re more of a visual person, don’t forget to check out the video I made demonstrating exactly how to build a mobile app using design principles, you’ll find it half way through this post.]

When used together, design principles make the UI designer’s job much easier. They remove a lot of the guess work and make interfaces more predictable and, therefore, easier to use.

Chris Mears from The UX Review gave us this piece of advice on designing for mobile:

“One of the main use cases for mobile is killing time. But that doesn’t mean you should waste that of your users. Make sure you understand the main tasks they want to accomplish on your app through research and make those the focus of the interface.”

Before we go any further, let’s define the most common user interface design principles:

The Structure Principle

Design should organize the user interface purposefully, in meaningful and useful ways based on clear, consistent models that are apparent and recognizable to users, putting related things together and separating unrelated things, differentiating dissimilar things and making similar things resemble one another. The structure principle is concerned with overall user interface architecture.

text-cta

The Simplicity Principle

The design should make simple, common tasks easy, communicating clearly and simply in the user’s own language, and providing good shortcuts that are meaningfully related to longer procedures.

The Visibility Principle

The design should make all needed options and materials for a given task visible without distracting the user with extraneous or redundant information. Good designs don’t overwhelm users with alternatives or confuse them with unneeded information.

The Feedback Principle

The design should keep users informed of actions or interpretations, changes of state or condition, and errors or exceptions that are relevant and of interest to the user through clear, concise, and unambiguous language familiar to users.

The Tolerance Principle

The design should be flexible and tolerant, reducing the cost of mistakes and misuse by allowing undoing and redoing, while also preventing errors wherever possible by tolerating varied inputs and sequences and by interpreting all reasonable actions.

The Reuse Principle

The design should reuse internal and external components and behaviors, maintaining consistency with purpose rather than merely arbitrary consistency, thus reducing the need for users to rethink and remember.

Hannah Alvarez of UserTesting gave this advice for UI beginners in their ebook, Getting Out of the Office: Testing Mobile App Prototypes With User:

“Ever heard the saying, ‘Measure twice, cut once?’ Well, that idea applies to building apps, too. When you’re designing an app, you can verify you’re on the right track and avoid doing costly rework by user testing your prototypes. You can iron out the kinks in the design before you’ve written any code, saving your team the time and hassle of making changes in development. Plus, you’ll already know how users will receive your product before it hits the app store.”

Today I’m going to show you how you can put these principles to use to create a functional and clean mobile user interface. If you’d like to dive even deeper into these design principles, our UI Design Course here at CareerFoundry will teach you everything you need to know about how to use UI design principles to create beautiful and functional mobile app designs.

Let’s get started!

[Check out my video below, where you’ll learn how to design your first mobile app!]

 
 
 
 
10:40
 
 
 
 
 
10:40
 
 
 
 
 
Wistia video thumbnail - How To Design A Mobile App Using User Interface Design Principles
 
 

Thanks for reporting a problem. We'll attach technical data about this session to help us figure out the issue. Which of these best describes the problem?

Any other details or context?

Cancel
message
 
 
 
 
 
 
 
  • Testing should be done at each stage of the User Experience Design process, time permitting. This means testing after thumbnail sketches, wireframes, high fidelity mockups, and of course - prototypes.
  • People often times formalize the concept of testing in their heads. A user test can be as simple as asking someone about performing a task when seeing even a single image.
  • User Experience design is a balance between a designer’s intuition and data. User testing should be a primary force in the decision making process. 

What Are We Building?

I’ve had an idea for a language learning app which allows the user to expand their vocabulary in a given language by showing them a word (or multiple words) every day until they have the word memorized.

We’ll call the app “French Word A Day”. The idea is to eventually release a series of these apps for multiple languages, but we’ll start with French since I’ve actually been learning it for a while now.

Before we get started, we need to know what we’re designing. We don’t need to bust out the pencil and paper or fire up Sketch just yet. We just need to brainstorm the overall functions of the app. After giving it some thought, here are the main functions I’ve identified:

  • Notifications - We’ll need to push the new words to the user via a notification, so we’ll need an onboarding screen that asks the user to allow push notifications.
  • Home Screen - The user should be able to purchase multiple different language lessons, so we’ll need a home screen where they can purchase these lessons and activate existing ones.
  • Tracking Progress - The user should be able to see the progress of each lesson that is currently activated.
  • Viewing a Lesson - the user should be able to see a list of the words they’ve learned so far in a given lesson.
  • Viewing a Word - The user should be able to view words they’ve already learned. This should include the definition, image reference, the part of speech, audio pronunciation and link to conjugation.

There’ll certainly be a lot more to this app, but this list works well for the scope of this tutorial.

Chris Messina, Developer Experience Lead at Uber gives us his top tip when designing for mobile:

“These days it’s critical to understand user behavior and context. People are busy, they’re on the go, and have a thousand things going on. Consider prototyping your app or service using only messaging as your delivery channel to see how to meet people where they are, and to break down your service into smaller micro-tasks that can be pieced together over time, rather than executed all at once.”

And Georgie Bottomley of Ladies that UX told us about the importance of context when testing your mobile app.

“When testing for mobile it is so important to have the user in their natural environment. It is very easy to not consider this and have users at a table or in an unnatural context. Think about where your users typically engage with their mobile devices and try and replicate that. For example; on a chair (think travelling on the bus) on a sofa (thinking at home whilst watching TV) walking around the room (whilst they are on the go). This will allow you to get better feedback on what you are creating.”

How Do We Build It?

To get started, we’ll use pencil and paper and start sketching out these various app functions. Once these drawings are finalized, we’ll move over to Sketch and start breathing life into them.

Sketch is the perfect tool for the job because it’s made for designing user interface. It’s also got some nifty built-in tools that help you setup your mobile designs and preview them on your device. More on that later.

Sketching Our App

The first thing we need is a simple flowchart so we can understand how the user makes their way through the software.

This helps us understand how the different screens of our app interact with each other. Next we’ll work on sketching out each individual screen

From here, we’re ready to fire up Sketch and start bringing our designs to life!

Onboarding

The first thing we need to do is make sure the user allows us to send push notifications to them. This is how we’ll serve up new words to them every day.

Let’s start putting these user interface design principles to work. It’s easy for onboarding to feel like work, so we want to make sure the process is as simple and light as possible.

I took a quick look at some onboarding teardowns to see how other apps handle asking the user to enable push notifications. I noticed that Foursquare does something really smart here. Sometimes users can be caught off guard when asked to enable notifications or to use their location. So Foursquare overlays the notification bubble on top of instructions which explain why they need to enable notification.

I really like the idea of giving the user extra information before they accept push notifications. This keeps inline with the common design principle of keeping the users in the loop by making sure they understand why they are giving me these permissions.

When a new user launches the app, the first thing we’ll show them is a screen which explains why we need permission to push notifications to them.

Let’s start getting our hands dirty. First thing we’ll need to do is draw up a quick sketch of this screen. Starting on pencil and paper is crucial since the medium is so forgiving. The more you can figure out in this stage before pushing real pixels around, the better.

Now we have a good base to start designing from. From here we’ll fire up Sketch, select the Artboard tool (A), and use the iPhone 6 preset in the inspector pane to the right. To add common iOS elements like the status bar, we’ll head to File >> New From Template >> iOS UI Design. This file contains all of the common iOS elements you’ll need often.

Now, let’s start designing!

When the user hits “Enable Notifications”, we’ll trigger this native permission dialog box:

Marcos Gutiérrez, Managing Director 99designs Europegave us his key points on designing for mobile apps:

“Business owners know about the importance of having a mobile presence and we’ve seen how the demand of app designers has been increasing in our site. Mobile usage has surpassed other device usage in 2015. Additionally, Google started using mobile usability as a rank, so if organic search traffic is a major source of traffic for their business, designers need to have a mobile-first mindset.

To impress a new client, it’s important that designers create a brand style guide for their clients that includes both the look and the voice that will ensure efficient and consistent branding across all media. This will lead to more efficient marketing collateral output and a more unified brand message for their clients. First step is to evaluate their assets to determine if they need a refresh based on current design trends (eg flat design, simplicity, etc). As an app designer, don’t forget that the right balance between design and functionality is key.”

Home Screen

Once a user accepts push notifications, we’ll send them directly to their home screen. This would be a great time to give them a basic walkthrough and explain some of the mechanics of the app, but we’ll save that for another day.

Honestly, if we stick to the common user interface design principles, we may not need a walkthrough at all. The app should be intuitive enough to understand without too much hand holding.

The main information we want to show on the home screen is:

  • We want an element of gamification, so we’ll show their stats nice and big at the top of the home screen.

  • Below the stats, we’ll show their current lessons, their progress, and locked lessons. We want to make sure that it’s obvious that these lessons are inaccessible. This will entice the user to unlock them every time they visit the home screen.

  • I want the app to be very visual so I’m going to try and incorporate nice photography into each page.

  • Since this is the home screen, the user should be able to go anywhere from here. To begin with, our app will offer some basic user settings, so we’ll make sure there’s a way to get to settings screen from this home screen.

Now that we know what we need to design, we’ll throw together a quick sketch so we can get an idea of how we want to lay these elements out visually without having to do too much work.

Now we’re in a great position to fire up Sketch and start designing the elements of our home screen. Most of the work has already been done, so it’s just a matter of putting each element where is belongs and adding a splash of color.

With the home screen complete, the user now has a place to track their overall progress, as well as the progress of each individual lesson, purchase new lessons and tweak their user settings. Nice!

Jerry Cao, UX Content Strategist at UXPin, spoke to us about the importance of content in mobile app design:

“Content is always important in design, but its importance increases as your screen real estate shrinks. When creating a mobile app, use real content as soon as possible. Rough content is totally fine - the goal is to design with realistic spacing constraints. If you rely on lorem ipsum too much, you might break the interface once you flow in the real content.” 

View A Lesson

So, what happens when a user clicks one of these lessons? I’m glad you asked! Now we’re going to put together a lesson page where the user can view each word that’s been revealed to them.

We also need to give the user the ability to disable a lesson since they may want to pause if they have too many lessons enabled at a time.

So, here’s what we need on this screen:

  • Lesson name
  • Visual representation of the lesson (image / icon)
  • List of words that have been revealed

From here we’re going to use the same process as before. First we’ll roughly sketch out the page with pencil and paper, then we’ll produce the high-fidelity version in Sketch once we have a good idea of what it is we’re building.

We want to stick to the principles of good structure and hierarchy here, so we’ll start with the section name / progress at the top, then the words below. We also want to start incorporating the reuse principle, which states that common components should be reused in order to create consistency. On the home screen we’re using these handy little circles to indicate progress, so we’ll use those same elements to indicate progress on this screen.

Now that we’ve sketched out our lesson screen, we have everything we need to start putting some pixels together and creating a high-fidelity design:

We’re also adhering to a common iOS/OSX design pattern here. Notice how the horizontal line that separates each word is cut off just before it meets the left edge? This is a subtle cue that users have learned when interacting with the operating system. It implies that clicking this menu item will reveal a deeper menu from the right.

Subtle cues like this are hugely important and understanding them makes the designer’s job just a bit easier.

Here’s another tip, this time from Neil Turner of UX for the Massesin theirMobile UX Design Principles:

“Think about what it is your users will be trying to accomplish and focus on the key user goals that you have identified (ideally through user research). Don’t get distracted by trying to design and build features that are very unlikely to be used on a mobile anyway.”

View A Word

If you look back to our original flow chart, the deepest level a user can go in this first iteration is viewing a word. Here’s what we want to include on this screen:

  • A photo which represents the word
  • The word itself
  • The part of speech (verb, noun, etc..)
  • The pronunciation
  • The definition of the word in English
  • An audio transcription of the word
  • Links to more resources like conjugation

I want this app to be very visual, so I want to start with the image front and center, then work our way down the hierarchy in order of importance.

As always, we’ll start by putting the pencil to the paper to in order to get an initial idea of how we want to lay out all of these UI elements.

We’ve already talked about the reuse principle, and it will become more and more important as we flesh out the various screen of the app. We need to make sure the fonts are consistent with all of the other screens of our app, as well as buttons and links. Since we’re using blue as our accent color, we’ll want to use that here too.

Awesome!

A quick tip from Marli Mesibov of MadPow and UXBooth

“Usability testing is crucial - particularly for mobile. Most experiences shift between multiple devices, which complicates our ability to design consistently. If we don’t see how people are responding to our designs across devices, we can’t possibly guess.” 

Testing Your Designs

At this point we’ve got some well thought out designs in our Sketch file. Nice! But how can we make sure that everything looks and feels correct on a mobile device without actually building the app? This is where Sketch Mirror comes in.

For years, simulating mobile designs on your device was difficult to say the least. At first you’d basically just send a png or a jpeg to your phone and pull that up. This works but is time consuming and inefficient. Products like Skala preview made it possible to preview your Photoshop designs on your mobile device, but setting this tool up was difficult and it didn’t always work.

Luckily, Sketch has this ability built right in! All you have to do is download Sketch Mirror from the app store, make sure your device and computer are both on the same network and fire up Sketch Mirror on your device. Then just click “Mirror” to the top right of the Sketch app and select your mobile device.

Presto! Now each page and artboard in your Sketch file can be easily viewed on your phone and will immediately update as soon as something in your Sketch file is changed.

A word of advice from Megan Wilson, Lead Blogger and Editor of UX Motel

“A number of mobile engagement platforms have popped up recently to provide mobile app developers with all types of pre-made applets that can be added to their core product, without any additional coding. Incorporating these applets dramatically improves the user experience, without delaying the development process.”

Justin Mifsud from Usability Geek told us the 5 components that need to be thought about when Testing Mobile Applications:

“Any mobile application usability test session must have 5 components that need to be thought out, carefully planned and established before any testing takes place. These are the objectives of the test (the questions that the test seeks to answer), the tasks that will be performed (realistic tasks that represent natural interactions between the user and the app), the test documents (such as the orientation script, and the pre and post-test questionnaires), the test participants (representative of the users who will use the app) and the test method that will be used (typically involves recording and observing the test participants performing the tasks remotely or in laboratory conditions depending on the objective of the test).”

Next Steps

By sticking with some basic UI design principles as well as a basic design process, we were able to quickly distill our ideas into solid, usable UI designs.

If you’d like to know more about design process and UI design principles, check out our UI Design course here at CareerFoundry. I’ve personally structured this course to give you exactly what you need to hit the ground running in your new career as a UI Designer.

If you’re not quite ready yet, take a look at this in-depth post I wrote about how to become a UI designer. It talks about what it’s like to be a UI designer and will help you decide if a career in UI design is the right path for you.

Thanks for reading!

One last tip from InVision’s Mobile Product Manager, Scott Savarie:

“Don’t try and reinvent the wheel when designing your mobile app. If you need inspiration, just look at common UI patterns for the platform you’re working on and other popular apps you love using. Think hard about when you should break out of known patterns and test them with people to make sure they still understand the flow of your app.”