What it takes to make a successful app.
1. Figure Out your audience, and try to make that everyoneStep one if pretty simple. You have an app in mind, but think about it. Who does this app apply to? How many people in the world need this and will find it? Is it really worth your time? Now, you could also try developing an app around your audience. That is, think of everyone in the world. What is something that almost everyone could benefit from having? Then, make the app around that.
2. Code it... Well.Step 2 isn't terribly brain-consuming either. Once you have a plan, you need to start coding. But don't get lazy. Code well. You need to make things intuitive. Have the code do things for the user. "In the land of code, it is simpler to state what you can't do, then what you can". Meaning, there is very little you can't code for the user. Although it might take you a little longer, make sure your app is worth the user's time.
At times, in order to really code well requires you to let someone else try it. Someone who is not afraid to point out all the problems. I personally create apps for iOS, but don't actually own an iOS device. I have someone who tests it for me, and I added a way to email from the app. That is a pretty good approach.
3. Start adding extra features. Slowly.Next, once you have basic functionality, start thinking of things to add. Make a little checklist of everything you want to add. Then slowly add each thing. But you NEED to add things. Once your app is done at first, it is probably just an okay app. You need to do more than that. You need your app to stand out. In order to do that, add things. This could be anything from features, to a new UI, to animations. Whatever.
4. Improve and customize the UIDon't leave it blank. Don't use default UI elements, especially on iOS. For most apps, the default elements look dumb and amateurish. Create some custom UI objects, and use that. Add some nice animations. Users like that. The UI can not be stressed enough. It is probably the most important thing you can do besides basic functionality. Your app needs to work, and it needs to look good doing it.
Example TimeAs an example, examine the popular Mailbox app. First, they thought of an audience. Everyone. Everyone needs _____ they said, "A better mail app". Okay, so they started coding it. Then, they added new and cool features, like swiping to do certain things with your email, lists, popups, and more.
Alright, then they made the UI very simple, but nice looking. No default elements, custom ones. In this case, very simple ones. It almost features a Google style. Then they released it. And to much avail. Of course, there are problems, but they did a fine job.