This is the follow up to the blog post, “A Strategic Approach to App-Development.”
If one has the idea then it is time for implementation. The goal must always be to build an app that inspires others. From my perspective, there are four important criteria to consider:
Performance is a very critical issue in software. Customers have very little patience for software that does not run fast and smoothly. Due to the hardware fragmentation of Android, this is certainly not an easy task. Because we want to achieve an audience of one hundred percent of all Android users, one should optimize an app for all devices
If you want your app’s quality to remain consistent on all devices, you also have to test each app release on all devices. This is hardly economical. And usually trying to include all devices is virtually impossible.
So, my approach is to consider in advance exactly which group you’re targeting with the app. Are there more students? Or is it more for business people? Are there more women or men who use the program? Is it for teenagers or an older audience? With this information you can then decide what hardware the majority of your future customers use- and then optimize the app for that audience. Thus, the cost is significantly reduced without a loss of quality in the phones the majority of your audience uses.
Usability / Design
I want to set my focus mainly on usability and design. These two aspects are, in my view, still too often neglected at Android. They are critical for success.
I am one of those people who do not read instructions. At least, not as long the device is working. I am also of the opinion that as a "product builder" one should have the right to waive the instructions completely. Here we learn, in fact, much of Apple’s strategy.
Perhaps more fundamentally, there are five important principles that should be considered for usability:
1. Each screen should show only one thing at once, even if it's a list:
People can only concentrate on one thing. Everything else will iinevitably lead to distraction. Or confusion. This in turn leads to building user frustration over the program - and then of course one day the program will cease to be used.
A good, albeit extreme, example is Spira Defense - a tower defense game. It's a really good game with many innovative features. But it made a big mistake: it was thoroughly confusing! For all the information that you see in this picture are extremely important for playing Spira Defense. If you can’t figure out where to find this information, you aren’t able to play. At least not correctly.
That the confusing layout had a fatal effect on the conversion rate (the ratio of players who don’t pay anything compared to the number of players who purchase the full version) is obvious to anyone who read market commentary on the game. What is much worse, many players found it boring, according to these comments. What is so unfortunate is that the game actually is very sophisticated and intelligent; qualities that could guarantee really great entertainment - were people able to operate it.
As I said, people can only concentrate on one thing at a time. The app developer has to think his way deep into this process. This is in many ways a complex problem. For one, because you have to visualize how the product will look like in the end. And secondly, because the user guide must be clear before this logic is developed.
2. Minimize the number of elements on the screen wherever possible.
I would like to present you with yet another screenshot. In my test of the Netcounter app, I came across this page:
Net Counter is an app with which one can measure the traffic of the phone. The app itself is really good. But you can see here that the developer could not concentrate on the essentials.
Here the end user can choose between bytes, kilobytes, megabytes, gigabytes and terabytes - useless measurements for most folks. Let's say I would vote for "bytes". The traffic would eventually display astronomical numbers I could not even read. Conversely, I dare you to see the phone’s traffic in 'terabytes.'
Such things only confuse users, not help them to choose the right thing. Less is more!
3. Make UI elements a larger size, so that can be easily pressed.
There are days when I curse my Android Phone! Especially when I try to text without automatic spell check. I can only very rarely type all of the letters of a word correctly.
We want to give the user a simple and fast experience. And best with one hand. Large buttons can make the operation of the app faster and easier -and help us all avoid frustration.
4. Specific settings are good for hardcore users, but most will always use the default settings.
Of course it's great when you can set yourself a lot of things in the software yourself. Especially if you are well versed in the matter and something like a "Pro". But what if one is not? Then you will be overwhelmed by all of the necessary settings.
Therefore: look after your default settings and do not expect your customer to do it himself.
5. The more details there are, the more you tend to work from left to right!
BUT: you should first work from top to bottom (or bottom-up), then, and only then, from left to right. This means that one should not draw a structure with great width, but prefer to fold it down in menus. This simplifies the user interface tremendously.
The principles of usability
Here's a tip on how best to develop the usability of a product:
Imagine a long wall in front of you. The users that will have a lot of knowledge are to the right. The less knowledgeable to the left.
If we consider this wall from left to right, now we know how far each user is from the "Current Knowledge Point" - the status quo of knowledge on the user interface.
The question now is how much knowledge the user needs to use the software. This point is the "Target Knowledge Point", the target point.
The "Knowledge Gap" is the route that enables all users to be able to utilize the product without any training or instructions to on how to operate it. A user interface designer has to work here just to the left and make its user interface so that the "knowledge gap" is closed as complely as possible.
I realize: this is all a real challenge. But you should not approach this project with the idea that users will use a product the way you do. I firmly believe that design and usability should be targeted to the largest possible demographic. And even the most perfect product, if poorly designed, cannot be assured a resounding success.