This is rough, and by no means what everyone does. The real process is probably very iterative. You will probably fail many times. The more you fail, the more you learn, and the better your app will be.
2. Design the system (what parts compose this app? how many screens does it require? what's the hierarchy/structure? what's the navigation flow?)
3. Wireframe (finalize those screens and the flows between them. start thinking about layouts of screens, and cool interactions that enhance the experience)
4. Prototypes/mockups (either paper prototyping to test with people, or digital prototypes with things like Flash or HTML or Keynote animations/video. this is to demonstrate your idea and see it without putting the effort into coding. these materials can be shown later to the developer so you are on the same page. VERY crucial)
5. Develop/produce (find a developer, make it)
6. Send it off (app store, marketplace, whereever...)
7. Keep refining based on feedback
Each step should be very iterative, and you should always be refining. Never think that anything is final. Good luck.