A brilliant idea for an amazing app has just flashed into your head. You want to develop it into a real product, but where do you start? These eight steps will take you through the process of turning your app into a reality.
Phase One – Develop Your Concept
This phase focuses on the brainstorming that must happen before an app enters the development phase.
Step 1. Mentally outline your app
The first step you can take is to consider your app’s concept. At this point you should have at least a general idea of what you want to accomplish with your app. Keep in mind that by far the vast majority of apps never catch on, and receive at best a few downloads.
Successful apps share common traits of being innovative, original, purposeful, and targeted. Successful apps usually serve one particular defined function. As such, you should narrowly define what your app will do, and ask yourself if your app has anything in common with the traits of successful apps.
You will also need to do a search of existing apps to confirm that no one else has beaten you to the punch. By now everyone knows, “there’s an app for that.” With literally over a million apps out there it is becoming increasingly challenging to come up with new innovative ideas.
Remember throughout this process not to be discouraged by failures or setbacks. Even if your first app is a complete flop it will be an important learning experience. At worst you will develop a foundation of knowledge upon which to base and improve future app endeavors, and at best you will come out with a hugely successful app.
Step 2. Make a rough draft of your app
Once you have made it through Step 1 you will have a good idea of what you want your app to do. Using what you know about the capabilities of apps, you should now sketch out your idea – similar to a storyboard – on paper. When you do this keep in mind some important questions:
- What technical features or effects do you want your app to have? For example, do you want it to vibrate? Do you want it to have animation? And so on.
- Are there other apps that can be placed in a similar category as yours? If so, what techniques do these apps use that are particularly affective? You might consider incorporating the techniques you like from these apps into your own.
Many people develop an app with the goal of becoming a billionaire. Others might want to develop an app for fun, or for the purpose of improving a particular aspect of living. An example of this latter motivation is an app that tells the local bus schedule.
Whatever your motivation might be – whether ideological or not – you should also be thinking about how you can monetize your app. If your app catches fire you will need to devote time to releasing updates and other maintenance, and this could potentially become a full-time job. If it does and you are caught without a funding plan then the success of your app will be limited.
If you are creating an app and one of your goals is to generate profit, you also definitely need to consider how you are going to market your app. Monetization and marketing can have a strong influence on the basic design of your app.
Phase Two – Develop Your App
This phase focuses on transferring your app concept into an actual app. Depending on your coding and software development skills this may be the point to bring in other people to your team. That said, there is also an increasing number of programs that are designed to help people without much coding experience as they develop an app.
Whether you hire a team of developers, use a program like an IDE (more on these below) that simplifies the coding and development process, or have the skills to do everything yourself, your app will go through these next steps as it is developed.
Step 3. Wireframing
Wireframing is the process of putting the sketch of your app onto a computer. Today there are tons of websites devoted to wireframing, many of which offer free trials. These work by providing you with a picture of a smartphone on which you can drag and drop the features – clickable buttons, text fields, animations, videos, etc – you have envisioned on your app. You can then take your app for a test drive, sharing links with collaborating partners or friends so they can try it and provide you valuable feedback.
It is highly recommended to use a wireframing service because this will allow you to see practically what works and what doesn’t. Knowing this can literally save you days, if not weeks, of coding and tinkering on features that you might eventually find to be superfluous.
Step 4. Backend development
Once you have developed a solid wireframe it will be time to translate this into an actual app and not just a model run on a website. That means it’s time to commence backend development.
Referring to the part of your app that the user doesn’t interact with directly – basically your app’s software programming – backend development usually involves at least one of these tools:
You can use these software programs in conjunction with an Integrated Development Environment (IDE).
An IDE is pre-packaged software you can use to simplify the coding process. Think of IDEs for apps as being similar to website services (like Facebook or WordPress) for web designers. If you knew how to code in HTML to make websites you could create virtually any type of website you wanted. If you weren’t familiar with HTML, you could use website services like Facebook or WordPress that include pre-packaged templates (places on the webpage to put photos and text) for a website that you can customize within the bounds of the template.
An IDE is like these website services, except it is more complicated to allow for a greater diversity of app features and options. Using an IDE is your best shot at creating a fairly sophisticated app without hiring a software developer or being one yourself. IDEs are made for specific operating systems, such as Android and iOS.
You can use your IDE to address the following important backend details that will be part of your overall app:
- Data storage – how big your app will be
- Security of, and access to your app
- User accounts
- Data integration – how you want your app to interface with things like third-party social networks
Step 5. Frontend development
The frontend development of your app refers to developing what a user will encounter, and can also be accomplished with an IDE. This includes all aspects of user interface (UI), such as:
- Cache size – how much and what kind of data your app stores locally on a user’s device. This affects how quickly your app will load.
- Synch and version – this affects how your app works offline, how it works with other software and operating system versions on a user’s mobile device, and how it responds to updates you release in the future.
- Cross-device, cross-browser, and cross-platform development for the many different smartphones out there.
- App skins – the different screen designs and graphics you will use for your app
- Overall accessibility, useability, and performance.
Successful apps have great backend and frontend development. Apps are often developed in teams to ensure adequate expertise is devoted to these two distinct fields; backend being heavy on technical expertise, and frontend being heavy on the aesthetic UI experience.
Step 6. Test and refine your app
At this point you should have the first working version of your complete app. Now it is time to test this to see how it performs. Distribute your completed product among your colleagues, friends, family, neighbors, or even your kid’s classmates. You may want to release it to a specific test audience.
Analyze the user data generated by these guinea pigs and listen to user feedback. During this stage UX – user experience – is one of the most valuable inputs you have to work with. There will inevitably be bugs to work out and UI elements to tweak and improve.
Step 7: Testing iOS Apps
If you are developing with Apple’s iOS then this step will require a little extra work. Whereas new Android apps can be downloaded to a compatible device and tested as desired, Apple likes to keep a closer guard on the products that are released to its devices. Therefore, you cannot make pre-market releases of an iOS app to other random iPhones, iPods, iPads, or other Apple products.
There are two ways to overcome this obstacle and still generate valuable user feedback. One is to use a web service that allows you to simply upload your app and run it from a cloud. Apple promotes the program called TestFlight.
The other way is to obtain a development certificate from Apple. This will allow you to manually add specific Apple devices like iPhones to your developer account so these users can test your app. To get this certificate you will need to create a certificate signing request (CSR), which can be done once you enroll in the iOS Developer Program. You will need to enroll in this program anyway if you plan to release apps on the App Store, and this process is covered in the next step.
Phase Three – Launch
Once you have worked out all the bugs in your app and refined it to perfection you will be ready to go live on the appropriate app marketplace.
Step 8. Sign up for a developer account on the appropriate marketplace, and release
You will most likely have developed your app for one or both of the major app marketplaces:
Both Google and Apple offer extensive analytic tools as well as additional features that allow you to keep detailed tabs on your app’s performance.
Of course, you don’t have to release on one of these global marketplaces. You can also release an app on, for example, your own website or by sending it to subscribers via email.
Releasing on Google Play
Releasing your app on Google Play is relatively easy. You just need to create an account with the Google Play Developer Console, upload your app, and click “publish cswpdij.” Before your app goes live you will have the following options:
- You can choose to include promotional materials like screenshots and graphics that will give users a good idea of what they are getting before they download your app.
- You can specify language listings and the countries where you want your app released.
- You can specify how much you want your app to cost.
Within a few minutes your app will be available to the world. Make sure you adhere to all of Google’s policies for releasing an app. If you don’t your app can be suspended and your account may be deleted. This means don’t make an app that includes sexually explicit material, hate speech, gambling, copyright infringements, or confidential information.
Releasing in the App Store
The first step to release in the App Store is to enroll in the iOS Apple Developer Program. First you will enroll in the Apple Developer Program and then choose the prompt to enroll in the iOS Developer Program. It can take several days for your account to be activated, and the cost for this is $99 per year.
Once you have registered you will be able to use Apple’s iTunes Connect service. This is what you will use to upload and publish your apps in the App Store.
However before you can release your app to the App Store, you need to create a Development Profile within your Apple account. Doing this will allow you to generate a certificate that will be bundled with your app so that when it goes to the App Store other Apple devices will recognize (authenticate) this certificate, which will in turn allow those devices to run your app.
Prior to publishing your app you can use iTunes Connect to do things like:
- Indicate the price of your app
- Upload screenshots and a description of your app
Once you have bundled your development certificate with your app you can upload these to the App Store via iTunes Connect. Apple will then review your app, and if everything is according to its policies then your app will go live after about a week.
It doesn’t cost you anything to put your apps in the App Store. Apple handles everything related to sales and keeps 30 percent of all revenue generated by your app as payment, giving you the remaining 70 percent.