What Makes a Great iOS App - dummies

By Neal Goldstein, Dave Wilson

A great iOS app can be described simply: It helps people do something that they want to do; it does it well; it does it when and where people want to do it; and it disappears. Because you can leverage the power of the App Store, your app can be successful globally.

Yes, that may mean millions of users for your app, but it also may mean that you can find the 100 widely scattered around the world for whom your app may become a necessity.

You want to build an app that works well, works when and where people want to use it, and has a user interface that helps people use the app but does not draw attention to itself. If people are thinking about your app when they should be thinking about a plot, a high score, or a trip to a store or another country, your app isn’t great.

Make your app work well

At the most basic level, apps are technical and organizational, but the first step is understanding what your app is going to be and do. Before you write your first line of code, think through the app. Who will the audience be? What will the app look like?

For large app development projects as well as small ones, sketching out a wireframe sequence of your app’s screens is a good idea. You may think it’s unnecessary in a one-person project, but it may even be more essential. Show your sketches to friends who will be honest with you. You can search for “ios wireframe” on your favorite search engine to get recommendations for tools to help develop wireframes.

If your app delivers content, make certain that you have the content. If you have expertise in a specific area, that can serve as the basis for an app. If you have access to experts in other areas, see if they will advise you. If you go to the App Store and look at the reviews, you’ll see that people quickly provide low ratings for apps that don’t work.

Making your app work well is easier than ever before with Xcode 5. Powerful debugging tools are built in so that you can even watch your app’s performance on real-time gauges. Compared to earlier versions of iOS, iOS 7 has a host of improvements for users and simplifications for developers.

The milestone was iOS 5. Although significant changes occurred in the later releases, iOS 5 was the first to provide the concept of universal apps where you could write a single code base for both iPhone and iPad. That entailed making some changes to the APIs, but we’re over that hump and proceeding full speed ahead.

Handling networking, social media, and location

Networking, social media, and location can make your app great. There certainly are many great apps that don’t use them, but they add additional layers of greatness to your app. Networking means that you can access Internet resources directly from your app.

You can display web pages within your app, and you can also access data that you display in your app’s interface. The tools to do this are available to you in the APIs.

Today, social media integration scarcely needs promotion: It has become part and parcel of our daily lives. Allowing users to promote your app on Facebook or Twitter with a simple tap is a no-brainer for many developers. iOS lets users enter their sign-in information whenever those taps occur.

Location awareness has opened a wide range of opportunities for apps. The most obvious opportunities involve integration with Maps, but “near me” functionality intrigues developers and users. With iOS 7, developers now have two sets of location tools to use.

For traditional mapping, a set of tools uses GPS and cell tower locations to locate the device. Now, iBeacon adds tools to handle low-energy Bluetooth beacons over much shorter distances, such as individual paintings in a museum or specific shelves in a store.

Design a powerful and intuitive interface that disappears

Designing a disappearing interface is one of the most challenging aspects of app design. A disappearing interface is one that works (or as many people say, “just works”) without people having to think about it.

When someone looks at your app’s interface and notices the interface, you’re on the wrong track. What you want to achieve is a situation where someone looks at the screen and immediately sees how to get a weather report, the current temperature, or the prediction for tomorrow’s weather in New York City. Users should not notice the interface. Instead, they should notice what the interface can do.