Four things separate native mobile and tablet apps from web apps: Context, Screen, Gestures, and Hardware.
Let’s address each of them:
Context. Apps are used in different contexts than desktop or web apps. When a user sits down at their desk and pops open their web browser, they are on a mission, be it finding a phone number, searching for car insurance, posting a photo on Facebook, or searching for investment capital. By contrast, users on their smartphones or tablets may or may not have as much time or as much purpose. A user may be killing time on the train commuting to work, waiting in line at a restaurant, checking her calendar, etc. Push notifications take things a step further — what if you, as the developer, were able to define the context, rather than wait around for your user to decide to pick up your app? App user interaction planning must take all such context considerations into account.
Screen Resolution. Apps operate on a wide variety of smartphones and tablets with various resolutions. Further, such device screens can easily be rotated, offering either portrait or landscape perspectives — or both. Different layouts of an app must be considered for such resolutions, as well as an understanding of what types of information and functions are best suited to such layouts.
Gestures. The traditional mouse pointer offers extreme precision — while a chubby fingertip does not. (Rollover-based menu systems won’t work.) Gestures are far more than just tapping, of course. Swiping, dragging, and multi-finger interactions are all possible. Planning for gesture-based interaction requires an understanding of typical user interaction patterns for a given action per platform, and research into optimal tap regions size. One must consider design implications to ensure the app provides users with proper visual cues and (non-tactile) feedback.
Hardware. This is where native apps really blow away web apps. Apps can access a wealth of hardware on the device: the camera, accelerometer, and GPS. They also have access to disk storage, contacts, and photos, can be configured to receive push notifications, and have store purchase functions, such as in-app purchase, available at their disposal. They can operate both when connected to or disconnected from the internet.
If you’d like to develop a top-notch app, we believe a few things are of vital importance in the project:
- Don’t view apps as limited second-class citizens. Yes, they have small screens. Yes, you can only grab your users for a few seconds here and there. Yes, you can only fit so many buttons on any given screen because you’re designing for chubby finger tips. The very process of simplifying an interface with limited resources offers tremendous opportunity.
- Great user interface design is more important than ever. While a desktop user may jump through a few hoops to get to the information they need, the app user is far less inclined to do so. Make sure the app’s interface adheres to the user interface guidelines for its target platform so that your users instantly feel comfortable using it.
- iOS vs Android. We have some strong opinions on which is the best platform, which has the best SDK, which has the best IDE, which hardware is superior, which has the better store, etc. But it doesn’t matter. iOS and Android have both won — and won big — so just develop for both simultaneously. No sense arguing about it.
- Ruthlessly simplify. Prioritization of information means some stuff just doesn’t belong on mobile, while other features (such as features which integrate with a device’s hardware components) may only be possible on mobile. With limited screen real estate and reliance on a touchscreen, these features must be dead simple to use.
- Remove barriers. If your content is hidden behind a wall, make sure you have a way of offering users a taste of your app.
- Get creative with your business model. Apps offer truly unique revenue opportunities, such as in-app purchase, and mobile ads.
- Let users know you exist. Leverage push notifications creatively to remind users about your app and keep them engaged.
- Re-market. Your icon is fighting for its life (unless you are Google Maps) on the home screen. Keep updating your app regularly with new features so that users see that you are committed to it.
- Tablets are different beasts than phones. They are quickly becoming desktop replacements. Apps designed for tablets will be used differently than phone apps, so consider the utilization context of such apps differently, and make sure to leverage the additional screen real estate.
- Optimize the data. Consider where the data used by or generated by your app will live. Will your app use feeds of data? Is there a vast amount of data, such as a product catalog? How often does that data change? Does the app need to operate when disconnected? Is security a concern? When designing the data architecture of an app, one must carefully balance performance, disk, security, and backwards compatibility concerns.