What is the user using my app for? What is the core functionality of my app? What is it that I need to get right in order for my app to be used?
Now how can I minimise the number of steps that it takes for the user to achieve it within my app? What is the main thing my users want to achieve with my app? How can I make the experience of achieving that as smooth, quick, and enjoyable as much?
You have to know who your users are and what they want to achieve using your app. The best way to do this is by profiling your users.
You have to do a few thinking exercises to understand your market. Narrow down your target/user audience.
The main question to keep asking yourself is: What is the core functionality of my app? Profile your users to continually reevaluate that question.
If your mobile app has push notifications, needs location services, integration with social media, email, etc, you know you need user’s permission on an alert message that pops up on the screen when they’re using your app. Instead of asking all at once which would overwhelm the user, use The Benjamin Franklin effect. Before asking someone for a big favour, ask them for a small favour. And slowly nudge the user towards a certain direction.
Make sure your app sends the permission notification only when the user is about to use that feature and not when they just launch the app.
Design is not always about the form — beautiful color scheme, the fonts, the layout, and such. It’s also about the functionality. Always go for function over form.
Am I being consistent throughout my app? Is my app consistent with my brand? Inconsistency in design creates confusion. A confused user is an unhappy user.
Think of consistency, not just in terms of appearance, but also in terms of functionality.
Can I make it simpler?
Make sure your app is grandma-proof, i.e., older people can understand it and use it.
A bad confusing app would be rows upon rows of buttons, lots of different colors, and a tightly packed user interface.
Am I making things difficult for my user?
Humans don’t like to be confused.
When we’re programming, we’re trying to make our code as lightweight and as efficient as possible.
When we’re designing, we’re trying to make the interface as clear and as least confusing as possible. And beautiful!
Try to make your wording as clear as possible.