Mobile applications are a hot commodity these days. The technology is in perpetual improvement loop and it seems like nothing is static anymore. New functions, new gear, new design, new combinations of ideas — all “neat, neat, neat.”
However, the more things change — the more they stay the same. The gimmick may vary, but the essence is always the same old same old.
No matter how hard some companies try to differentiate themselves and their products — there are general conventions every application are bound to follow.
The trick is that while all of these conventions are obvious — it is still necessary to point them out.
Because some people tend to have the ambition to reinvent the wheel for some reason (which is extremely counter-productive and non-cost-effective practice.)
These conventions are not rooted in hard science concepts or marketing pitches — they are based on common sense regarding the use of tools of any kind. You can’t go against human nature.
Here are top nine tips to take into consideration while making mobile applications.
It is not a big deal to make an application. However, it is a big deal to make an application that will be useful in any comprehensive way and ultimately profitable for the developer. Some folks keep ignoring the latter part while pretending that banging head against the wall someday will come to fruition.
To make your app USEful, think of your USErs.
In order to create an actually successful application, you need to keep a target audience in mind. Think about their needs and preferences. That is the starting point. With that thing locked down, you have half the job done.
Create use cases to explore what target audience needs and wants from an application. Count on wide variety factors that affect their behavior. Look at the competitors — find a way to differentiate yourself and engage the audience with what you have to offer.
This one is hard to pull off. When we are developing an app, we see and talk through ideas so many times that it all seems simple and obvious. Yet, it's not always the case.
Imagine yourself a user. You have just downloaded an app. It is the thing you need. You start it up and you have no idea what is going on. While you understand the concept and you are really into it — you can’t really get a grasp on it. What are you going to do next? Delete that app and look for another one, i.e. bad news.
First and foremost thing you need think when developing an application is how fast it could be mastered by the user. That is the key to the loyalty of the users. If it is easy to follow — it will be used a lot. If the learning curve is blown out of proportion — too long or too complicated, chances are the application will not be used a lot by its target audience and soon enough they will move on to something handier.
There two solutions for this issue. One is providing the user with handy cues - so-called onboarding experience. The other is through audience insights — you need to know how much your user can take in one bite beforehand. It may be discovered through dry-run MVP or in close-quarter test runs or simply by looking at the competition.
Another issue connected with learnability is overall usability of an application. There is no point in making an app that is near-impossible to use without excessive frowning. The design scheme for your application must be goal-driven.
This can be achieved through building extensive user stories with various personas and scenarios so that you will have the complete picture of the user experience in mind while refining particular elements.
You also need to understand the context of use — how and why an application is used by the user and what should be prioritized for better performance.
Finally, you need to secure a reasonable response time for every function and proper feedback. Every action should be signified as such. For example, if the sequence is done it is noted through sound, image or text. If there is some information that can be lost upon quitting the program — there must be a notification with a warning. The list may go on, but you get the idea :)
The main thing to keep in mind: know the purpose of your app and don’t try to squeeze all features you can think of inside the app. There is a reason why dishwashers cannot be freezers at the same time.
Next thing you need to think about is the flexibility of design. There is no set “end all be all” standard for mobile phones. There are hundreds of various specifications on the market. All of them have a different set of features, display screens, and resolutions, some have a button while others don’t.
Because of that — you need to make the interface of your application adaptable to variations. Sometimes it means keeping the feature set to a bare minimum, other times it allows to add some more. Sometimes you can relegate functions to external buttons, in other cases you need to make it a part of the interface. Font size must be readable all the time with the function of manual adjustment.
Aside from that, the entire interface scheme should be adapting both to portrait and landscape configurations of the screen.
Also, — it is reasonable to include a variation of an app for left-handed people. While it may seem superfluous in a big scheme of things — at least it is a nice inclusive gesture.
There is something inherently wicked about an application that requires sophisticated dance routines for your fingers in order to perform basic actions. While it may be fun for those who like such things — the majority of users will be simply annoyed and will probably move on to another similar application.
The fewer actions it takes to do something — the better. That is the law. It is fair to say that it is Judge Dredd kind of law — beyond discussion.
Always look for a simpler way to do something. That is the key to making an application attractive to the target audience.
"Making every page or screen self-evident is like having good lighting in a store: it just makes everything seem better." (Steve Krug, Don't Make Me Think)
Side note: minimizing action sequences doesn’t mean you should put all possible banners and buttons on your home screen. It means simplifying the general user journey, but it’s never good to take it to the extreme :)
Feedback is the most effective way of polishing an application. It deals with real people and thus offers real results.
Usually, it goes both ways — you tell the users what is going on with an application and in return, you get some friendly suggestion on what is good and what can be improved.
For some reason, many developers are scared of suggestions from actual users. Nevertheless, it is a viable option that must be used for your benefit. Even bad feedback can be used to make your app better.
The gradual expansion of an application is a reasonable way of marketing your application. You start with an initial set of features which is completely fine and satisfies the majority of the target audience. But you can offer more with time.
Not only that strengthens the engagement with the application - it also is a sign of the good use of users feedback.
One of the most challenging issues that exist in mobile application development is optimizing the use of battery resource. It is one of the things that plagues the majority of mobile applications - over time they simply drain the battery like hungry vampires from Transylvania. That is one of the reasons why users are moving away from some applications in favor of more reasonable alternatives.
How to deal with it? Through trial and error. In order to reduce battery consumption - you need to go through every functional element of an application and set performance restraints on them according to priorities. It hurts overall performance so there must be a balance.
(By the way, we’ve developed an app for Android phones that takes care of exactly this problem - saving the user’s battery. Check out the Emberlow case study.)
Security is a sensitive issue of the moment. The majority of applications require user sharing some sensitive data in order to operate properly. So it seems reasonable to keep that sensitive data out of reach of some treacherous individuals.
In order to do that you need to secure consistent monitoring and updates. Usually, back-end team can work it out. It may be a routine update performed on a schedule or it may be a reaction to the current security emergencies.
Another issue comes with the disclosure of the purpose for collecting the information. Keeping users in the know why are asking their data is important in building trust.
Check out the top security issues for Android and iOS phones (according to WhiteHat Report):
With all that being said — you can’t just go Twin Peaks S03E08 because “The Beatles — Because” and expect commercial success. Ain’t gonna happen. You need to keep everything relatively simple and consistent throughout. In short, it means that the save button saves and not something else.