Published 23 May 2015
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.
Source: Mozilla Developer Network
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.
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.
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.
Use selectors, checkboxes, radio buttons etc., whenever you can. Typing on mobile devices is often a slow and tedious task.
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
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.
Decide the main task of each screen and place features related to the main task in the most prominent places.
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.