General design Principles

Consider incorporating the following principles in your app to optimize the user experience. Please note that this is only a small set of design principles to get you started and it’s by no means comprehensive.

Be consistent

Be consistent in your language. Refer to an action or an item with the same term in your app, and use each term for only one action or item.

Be consistent in your user interface (UI). For example, if you place your back button on the top left corner, it should not appear on the bottom left corner in other screens within your app.

Be consistent in your visual elements. If two elements look the same, they should have the same behavior. If two elements have different functions, they should have distinctively different looks.

Be concise and use appropriate language

The text you use should express the most important information in a concise way. Most users don’t read a lot before they decide to continue or to abandon a task.

Always provide clues and immediate feedback

Provide clues which make the correct steps apparent. For example, a big “+” button to indicate adding items if that’s the correct next step.

Always give immediate feedback when the users take an action. For example, if users click on a “new message” button, lead them directly to the screen for creating a new message. You could also temporarily change the color of the “new message” button and provide a tactile feedback to show that your app understands the users’ command.

If an action takes more than a few seconds, provide a status update. For example, if your app is downloading the new messages, you could show the progress with a loading icon.

Minimize typing

Use selectors, checkboxes, radio buttons etc., whenever you can. Typing on mobile devices is often a slow and tedious task.

Aim for a pleasant first launch experience

People often spend only a minute or two deciding whether to continue or abandon an app. Some of the factors you may want to consider include:

  • Provide a quick introduction to your app (and provide an easy way to end it anytime)
  • Instant access to features and suggestions
  • Minimize initial user input
  • Express the most important information in a concise way

Present action choices if possible

If your alert says “Delete all contacts?”, you should provide action labels like “Delete” instead of “OK”.

Also, try to avoid using alerts that only notify about a situation. Give your users a choice of actions to address the situation.

Focus on the main task

Decide the main task of each screen and place features related to the main task in the most prominent places.

Prepare for interruptions

People may use your app anywhere. Prepare for interruptions by saving the user’s work automatically if possible. Ideally, information and tasks should behave normally even without an Internet connection.