beta
Hello developer. Login with your existing account. New to Vodafone Developer? Register your account.

+ Login or create an account

Five tips for successful mobile apps

Creating useful and innovative mobile apps isn't rocket science. In fact, the best recipe for success is surprisingly simple:

  • Match your own skills and interests to an everyday problem, and solve it better, or with a difference
  • Stay focused on the user experience
  • Pay attention to the details

This article offers some straightforward tips to help you plan and implement successful mobile apps.

Creating value for users

It takes a lot of effort to create an app—even a simple one—that looks good and feels easy and natural to use. Don't waste that effort on cloning something that's already been done.

That doesn't mean you can't improve on an existing app, or app category; but you should always aim to find a new take on a problem, with a solution that's better, or more fun, or adds a new dimension. In other words, always bring something fresh to your solution.

In fact, improving on an existing solution is one of the basic recipes for innovation. This is as true for apps as it is for best-selling books, or hit singles, or better mousetraps.

Many of the most successful apps—games included—are a clever combination of the new and the familiar. Often, that combination occurs when someone looks at a problem in a new way. This happens all the time in the sciences (for example, biologists looking at physics problems with a fresh eye, and vice versa).

When it comes to apps, you can often reproduce that effect by recombining the elements of existing solutions with the unique features of mobile (connected, on the move, local to a place at a time), and of phones and tablets as devices (context aware via sensors, located, camera-equipped, sound-capable).

If you have an idea for an app, think about how it combines elements from those two dimensions, and how that makes it unique, or just different.

Vodafone AppSelect

The Vodafone app shop is changing. AppSelect is different from other stores for Android.

AppSelect explicitly aims to attract users who are new to the smartphone experience, are less confident about downloading, are more cautious, and expect guaranteed quality from the Vodafone brand. These users are much less likely to be looking for root file managers (useful as they may be), than for simpler apps that solve day-to-day problems, save time in busy schedules, or just make the simple things in life easier—traffic, transport, weather, local news, and so on.

"Simple and useful" doesn't mean "dumbed down". Above all, busy people look for value, and for useful apps that contribute every day.

AppSelect also expects a high proportion of women users—who expect polished apps that look good, and that wrap sophisticated functions with excellent usability.

Finally, because AppSelect targets all eight of Vodafone's European markets, users expect apps that are not just best in class, but (so far as possible) relevant and localised for each country. So if your app highlights products, or services, or hotels or restaurants, make sure those products and services are available in the countries you target.

Value, quality, and innovation

There is no fixed recipe for having a good idea, but the tips below will help you focus your thinking.

Tip 1—Solve a user problem

Every good app solves a problem. Sometimes, in the best spirit of developers "scratching an itch", it's the developer's own problem that is solved. Unsurprisingly, these apps are often quite "techy" by nature—root file browsers, for example.

For commercial apps, the principle holds, just differently approached. Focus on a user problem (you're a phone user, too) and solve it neatly. Then stay problem-focused, and user-centred, throughout the process of design and development.

Being user-centred means giving the user one-touch access to what's important in the current task. It means being responsive—provide cues for user action, provide immediate feedback, always keep the user in the loop. It means separating the app UI (behaviour, metaphors, task-flow), from the functional/data model.

All apps should be event-driven, task-focused, and problem solving. Depending on the app, there are several typical event flows:

  • User to UI to application functional/data model
  • Network to application functional/data model to UI to user

Of course there are many possible variations, but every app is a variation on a relatively limited number of themes.

Tip 2—Differentiate your solution

Many apps are little more than bookmarks for a web site or service, and provide very little extra value for users; they don't do much that the browser can't already do.

On the other hand, a well thought-out, bookmark-style app that adds obvious, simple, but useful and focused phone-side functionality, might be useful indeed. A taxi-cab booking and hailing app, or a bus route and timetable app, might fall into that category.

You don't have to be first with an app idea, but you probably should not be fifteenth. Most apps are not unique, and as Android itself demonstrates, an upstart can always challenge an incumbent—but only by differentiating, and by adding value.

Probably, if there's already an app just like yours in AppSelect, you should concentrate your energies on a different idea.

But if you have a better solution in an existing category, then focus on what makes your solution better, and clearly differentiate it.

Tip 3—Do one thing well

The best advice for good app design is to do one thing, and do it well. Be clear about what your app will do; you should be able to sum it up as a "one-liner". If you can't, stop and rethink it, and don't start implementation until you can write your one-liner on the wall.

Quality does not imply quantity. If you've read that a quality app must be loaded with features, be prepared to think again. Apps with customisable elements, cute sounds, multiple views, and other bells and whistles, are not intrinsically better than a simple, one-view, one-task app that does exactly what the user wants and usefully solves a problem.

Prioritise your app features list, and start by implementing the minimal working set of highest priority features.

Don't try to implement too much functionality; implement "just enough" to do what your app does, well. Always be prepared to sacrifice that extra feature for quality improvements to your app's existing feature-set.

Tip 4—Use the power of mashups

There are numerous ways to create something genuinely new by imaginatively combining (mashing up) phone capabilities. There are lots of good examples in the app stores (not all of them available yet for Android!).

For example, location and mobile means "right here, right now". Combined with social networking this can yield a surprising variety of app types; "find me" apps (either broadcast, or narrowcast on some filter); or "expect me" or "log me" apps (narrowcast or broadcast); or apps that ask "where is x in relation to me?" or request "show me all x's in relation to me…"—and so on.

And Android, by the way, is a perfect mashup medium, designed to enable re-combination of app parts, and strong re-use.

Tip 5—Iterate and increment

Especially for small development projects, you should apply agile principles. Develop incrementally, iterate frequently, and stabilise at the end of each iteration. Instead of trying to load the boat with features for release, use app updates to add new features to a stable, already-useful, functional app, that's gaining users and positive reviews.

Focus on stability, robustness, and security. Refine, polish, improve, performance-tune, release, and repeat.

Find out more

For more about AppSelect, see the Vodafone developer blog announcement.

AppSelect is available in all of Vodafone's eight European markets. For tips on supporting multiple languages in your Android apps, see our recent Vodafone developer multiple languages article.

There are many good books and online articles that discuss the principles of mobile app design. If you are new to mobile, read around the subject. Mobile is different from the desktop. On Android specifically, the Android developer site has some excellent papers covering the principles of Android app design.

Agile development has evolved from the four, one-line principles declared in the agile manifesto—a good place to start if you want to know more.

Check out our Android mashups article for an introduction to re-using intents (your own or others) to "mash-up" Android apps from existing parts, and to extend app capabilities through re-use.