Smart phones and tablets are here. They went from becoming ubiquitous devices to, well, ubiquitous devices. Sales of smart phones passed the sales of "dumb" phones in 2011, within the US, and in 2013, worldwide. This trend has encouraged many software developers to jump into the mobile platform. And it means the handheld space faces an increasingly competitive opportunity for developers.
One way that you can differentiate your application from your competitor is by making a solid interface for your application. Your user wants a useful application that provides them with hassle-free tools to accomplish their tasks. To give it to them, you should focus on the following things.
Know how your app is used. Having a useful application is of primary concern to you and your user. If the application is not useful, no one will need it. For smart phones, the important takeaway is to think about how your application functions in a real world setting. Do your users access your app while shopping or traveling? Do your users need 1 hand navigation because your app will be used in concert with another activity? Will they need wifi or large bandwidth to use the important features? Don't assume that your users will use the app the same on a mobile device as they do on their pc. Understand what, where, and how your application is used in this landscape.
Be consistent. Follow appropriate standards and conventions for the platform. If you don't know what these are, learn them. Every platform has a document outlining standards and conventions. Perhaps more importantly, use some applications that share a common usage with yours to get an idea of what your users will expect from your application. Do not reinvent the wheel when there are already well-established conventions used on your platform.
Keep it simple. The smartphone platform has very little screen real estate compared to other platforms. With this in mind, you should design your app to reduce irrelevant functions, and place prominently the main function of your app. The primary function should be clearly marked on each screen that it requires. So, you have a list screen with 1 primary functions and 4 secondary functions on each item of the list. Then have a key press access the primary function then have a sustained press for the secondary options. The goal is to create seamless navigation within your application. Navigation should be clear and obvious even to an uninitiated user.
Let the user know what is happening. Provide timely and clear feedback about the state of the app's functions. If the user gets confused, they may set your app aside in favor of another app. Did the app finish its task? Let the user know either way.Can the user leave the app to go to the home screen and your app continues to work? Send a message to the user with the task's progress.
Do not over do communication. Too many notifications will cause your user to ignore messages from your application. On the other hand, this communication can be a problem for developers because they tend to know what their application is doing already. One place developers tend to miss is error states. Handle errors so the user knows clearly what state their app is in.
There are other things to consider when tackling the design of a mobile application, but these are major ones. Know how your app is used. Be consistent. Keep it simple. Let the user know what is happening. And you will build an app that your users want to use.