Smartphones offer a variety of features not available on most regular cell phones, including GPS navigation, touch screen, an accelerometer and responsiveness to tilting and shaking. These features open the door for thousands of applications that can harness them to offer games and productivity tools unlike anything offered on mobile devices in the past. If you have an idea for a smartphone app, it's possible to make a decent income developing your application for a specific smartphone platform
Research your platform's SDK and existing apps. While some apps are available across several platforms, it's best to start with the one you are most familiar with. In addition to having experience with general programming and coding, check out books like "Blackberry Development Fundamentals," "IPhone App Development: The Missing Manual" or "Professional Android Application Development" to help familiarize yourself with the SDK for your smartphone of choice
Write a thorough description of your app in a document to keep for research and development purposes. Include any images, a point-by-point list of features and any other details you can think of. Continue to add to this list as you begin to create your app.
Register to become a smartphone application developer with your platform. Each smartphone company has a website for developers, such as the iPhone Dev Center, the BlackBerry Developer's Zone or the Android Developer's Website. Android is free and open for all developers, BlackBerry requires a free registration, and Apple requires registration with a fee. All three require that you own their smartphone in order to test and develop your app.
Download and read the manuals and guides in your developer's center. All coding and app creation happens in the center, with explicit instructions available. Stop at each stage in the process and text your app on your own smartphone to check for bugs and issues.
Submit your app through the developer's center when you are finished, and wait for approval. Create a website for customers with information about your app, as well as a support email address so it's easy for them to report problems.