For the majority of publicly available apps a key factor in their success is likely to be one of the big app stores. App stores can be a great resource when designing and developing an app. They provide comprehensive search functionality with large numbers of reviews that show where other apps have succeeded and fallen down.
Most of the major app stores also provide clear and substantive design guidelines. Some of these guidelines need to be closely adhered to for the app to be listed on the store at all. Other guidelines don’t necessarily need to be implemented, but cover best practice for app design.
Some of the following design principles may feature in app store guidelines in a more specific format. They are by no means exhaustive but they do form an important basis for ensuring an app has the best chances for success. The principles are split into the two primary categories of design in software, User Interface Design (UID) and User Experience Design (UXD). The two categories are quite different but have a lot of crossover.
User goals - Using goals to lead design
Identifying a user's goals is a great way to guide interface design. It may seem like the obvious way to do things but a project can very easily slip into a functionality-orientated design approach.
Chart out what the user is trying to do. Consider how the design helps them achieve their goals. Look for areas where the design might prevent users from achieving their goals. Developing user stories and user narratives can be a really helpful way to discover user goals.
Affordance - Signalling what can be done
Affordance is an important concept in psychology that has become very significant in all areas of design. It defines the possibility of an action on an object or environment. In design it often also refers to design elements that advertise affordance. Door handles are the commonly cited example. A handle’s form can give a sense of whether it can be turned, pulled or pushed.
Be conscious of both senses of the term. First, be aware of all the actions that are possible for an item. Then consider how the user can be made aware of them or if they need to be made aware of them at all.
Ergonomics - Accounting for the physical device
Physical constraints are something designers need to be aware of. The physical structure of smartphones can impose a number of ergonomic constraints on design. These constraints generally refer to limitations of the user's physical capabilities. For example, a user cannot easily press three different points on the screen at one time.
When placing an object on the screen, consider if it can easily be reached by the user. There is a specific range within which a smartphone user's thumb can easily reach. There might also be screen objects that shouldn't be pressed easily or by accident. Placing these outside of the easily reachable zone might be a good idea. Each type of device has its own particular ergonomic constraints. Consider how they might differ with a tablet.
Depth vs. Breadth - Selectively presenting options
An app might become successful because it has a wide variety of functions and features. However, if the user is presented with all of those features at once they might become overwhelmed and avoid using the app altogether.
At the same time the user will not want to have to dig too deep to find particular features. Consider how the functionality can be presented in such a way that it can quickly grasped at a high level. Be sure to provide access to lower level functionality without hiding it away too much.
Utility First – Letting the utility lead the technology
It can be difficult for technologists to not become infatuated with the newest tech. An interface item might look and feel great, such as a nice drop down or sliding menu. It might also work really well in another app. However, if it does not help the user access the utility of the app then it is important to question if the technology is the right choice.
When implementing different technologies in the app ask how they enhance that app's utility. Use technology economically to optimise its benefits.
Simple Complexity - Breaking tasks down into their simplest components
At its heart UX is really about managing complexity. Complexity is good in that it provides a broad range of functionality. Complexity can be bad if it prevents users from easily accessing functionality. Google is probably the most famous example of simplifying complexity. It provides access to an incredibly complex search algorithm all through a single, simple text box on an otherwise blank page.
Shallow the learning curve - Lowering barriers to entry
Not every app can be simplified to the point where all its functionality can be grasped relatively quickly. Where apps require depth, that depth needs to be introduced gradually to the user.
Guide the user through the app's functionality in an incremental manner. Build upon the functionality that the user already understands.
Balancing Stakeholders - Not letting the message block the message
There are likely to be many interests and forces trying to influence UX design. Marketing departments are likely top of this list but they are only responding to the demands of owners. Efforts to monetize or increase profitability need to be carefully balanced against the user’s needs. If the user experience is disrupted by promotional exercises then nobody benefits.
Discover ways that user functionality and marketing requirements can develop and work in harmony rather than against each other. Recognise the importance of all stakeholders when making design decisions.
Error Management - Dealing with things when they go wrong
In an ideal world no system would ever experience errors. UX designers have to deal with reality however. Things just sometimes go wrong. UX designers have to take that into account and put systems in place to manage errors when they occur.
Generally there are two types of error; system caused and user caused. The system has to be responsible for both.
Keep error handing within the system rather than trying to push the user "outside" if things go wrong. When users leave the main flow of the system it can be difficult to bring them back in.
Support Systems - Helping the user to help themselves.
Again, it is not a problem to have complexity in a system. What is important is to make sure that complexity is facilitated for the user. Systems often need supplemental information to help users navigate functionality. In effective UX users shouldn’t have to go too far to find what they need. This might be as simple as using tool-tips and linked documentation or as complex as a fully integrated support service.
Have support systems flow sensibly from the app process even where they primarily exist outside of the app. Support systems that appear integrated with the app make it easier to bring users back to the main flow.
Following these principles will certainly remove barriers to success but success does not come from design principles alone. Two apps may serve the same function and implement design principles equally well but ultimately one is likely to find greater commercial success than the other. That difference is likely to come through marketing.
Apps can succeed with a strong marketing effort even if it comes as an afterthought to development. However, a far more effective approach is to incorporate marketing into the design process. Of course, this does not mean the design of either UX or UI should be lead by marketing requirements.
Design functionality as a marketable feature
Well-designed functionality can be a powerful selling point for an app. It also makes for an app that is likely to be promoted organically; by word of mouth, through glowing reviews and even inspiring product evangelists.
Functionality that encourages sharing or user promotion
The easier it is to let others know about an app the more likely users are to do just that. Sharing capabilities should enhance the core functionality of the app. It should not be superfluous and should certainly not get in the way of other functionality.
Knowing your market
Particular design approaches are likely to appeal to some markets more than others. For instance, a market may have a preference for minimalist design. Researching the target audience for an app can be a valuable means of informing design choices for the app's development.
User feedback as part of User Experience
Most modern apps continue to be developed and refined long after their initial release. As with sharing or promotion, the easier it is for users to give feedback the more likely they are to do it. This can be a great way of gathering market analysis data as well as getting ideas on how the app can be improved. Be careful that the app doesn't rely on this user feedback for Quality Assessment.