Maybe you’ve already mastered website building, or maybe you’re a complete noob to all things webby. But, seeing as you’re reading these words, it’s safe to say you want to learn how to make an app. Of course, you might be wondering how we know this, and as for that, it so happens we’ve stashed the phrase “how to make an app” several times throughout this page to make sure you found us.
Anyhow, all introductions and SEO sneakiness aside, the purpose of this page is, indeed, to teach you how to make an app, soup to nuts, from the first idea to the finishing touches. And the best part is you don’t need as much of a technical background as you probably imagine. In fact, you don’t even need to know how to write HTML or CSS scripts to build an app these days – which, if you do already know how to build websites, you’ll have to admit is pretty amazing.
How To Develop An App, Stage 1: Pre-planning
Step 1: Set A Goal
The first thing you have to do when developing an app is come up with an idea. Sure, this might seem pretty obvious. But, believe us when we tell you, a vast majority of people who want to learn how to develop an app are just jumping on the app bandwagon without any idea of why they want to make an app or what their app will actually do.
Assuming, then, your proverbial cart isn’t pulling your horse, the very, very first thing you’ll have to determine is what your reason for building an app is. Is profit your primary motivation, or is it to help others solve a problem with a tool no one else yet offers? In addition to these, some other common reasons people develop apps include the following:
- To promote or augment a pre-existing business
- To create something fun/interesting/entertaining for the sheer joy of it.
Whatever your primary motivation, there are no right or wrong answers at this stage; the main reason for this step is so you have a clear idea of what direction you want to go in and can later review your efforts to ensure they remain on track.
Step 2: Brain Storm
If your motivation in making an app is to help people solve a problem with a tool that doesn’t exist yet, you probably don’t need this step. Good on you, you already have a general idea of what your app will do and why that’s important.
For those whose primary motive for developing an app is profit, however, things aren’t so simple: Before you can go any further, you’ll need to figure out what exactly your app will do and why that’s salable. Otherwise, you’ll stand just as much chance of making a profit from your app as you would selling mason jars filled with cow pies.
If you are sure, then, you want to make an app but don’t know what your app should do, you’ll need to brain storm until you come up with your app’s purpose. A good way to approach this is to ask yourself the following questions and come up with 10 good, solid answers for all of them:
- What is a problem I and/or others I know experience regularly that doesn’t yet have a solution?
- What are some ways this problem could be solved?
- Of these possible solutions, which could a computerized device could make faster and easier?
- Of these possible solutions, which would the standard hardware of current smartphones and tablets, such as cameras and touchscreens, contribute to making faster and easier still?
Step 3: Get Outside Input
Once you have your answers to the fourth question, you likely have a couple good ideas for an app. But the differences between a good idea and a great idea can often be lost on the person who came up with both ideas. For this reason it is always good to run your ideas past several others whose input you value before you start devoting time and money to developing a given idea.
And yet, when we say, “others whose input your value,” we don’t necessarily mean your mom, your best friend or your significant other. Yes, these peoples’ views do matter, but you’ll often find they don’t know enough about apps and the app market to offer informed opinions – and, well, they’re typically biased in your favor. Better than asking these folks for their feedback on your ideas, then, is to seek mentoring from professionals in the following fields:
App-marketing professionals have in-depth knowledge of which apps have succeeded, what those apps did, and why people loved them so much. They’re also a wealth of knowledge on how to get the word out about your app once it’s complete.
Many seasoned app programmers are more than happy to share their know-how and experience with those who ask. And these folks understand the real nitty-gritty, from how to code an app from scratch to what sorts of features and interfaces just aren’t currently possible.
If You Can’t Find A Mentor
If you’re having trouble finding a successful app developer, programmer and marketing pro to give you the advice you need, you will have to do a lot of research on your own. Read everything you can find on the three topics mentioned above. Then, only move ahead with your project when you can confidently answer all the questions listed under heading 3. yourself.
These folks once sat where you now sit, and their experience can be invaluable. Often, successful entrepreneurs will be more than happy to take a newcomer under their wing, so find someone whose work you admire and ask them if they’d be willing to discuss your ideas over lunch. (You’re paying, of course.)
Assuming your prospective mentor accepts your invitation, you’ll want to prepare as much information as you can about your idea. Organize your notes into a coherent, bulleted outline that explains what your proposed app aims to do and how you imagine the app doing this.
Also, create some preliminary graphics of how you imagine your app’s pages looking; these don’t have to be full mockups, but they should be professional and clear, so consider creating them with a computer program, like Microsoft Paint or, if you have it, Adobe Photoshop. And, probably most importantly, make sure you’re asking the right questions, such as those listed below:
- Will my proposed app have competition out of the gate?
- Are there any technical limitations that could hinder my app’s development?
- How do you think I should construct an orderly approach to my app’s development?
- Can you suggest any ways I could refine my idea to maximize its sales potential?
- How much would you estimate it will cost to develop my app?
- Based on your cost estimate, do you think my developing this app will be profitable?
- What kind of platform(s) do you think my app is best suited for?
- Do you feel my target users could provide useful feedback on my app?
Step 4: Plan Your Project
Building an app doesn’t have to be a massive undertaking. But, basically, to be a financially successful venture an app typically has to be pretty novel. And the more novel your app, the less likely it is you’ll be able to build it alone.
This will mean you’ll likely have to hire others to help you, and will probably have various other expenses, including licensing fees for ancillary programs, server space for your app’s Beta state, etc., as well. In this step, then, you’ll want to drill down on all your projected time and money costs and ask yourself the following questions:
- Will I need help making my app? (More on this below.)
- Will I have at least 30 hours a week to devote to my app’s development?
- What equipment and ancillary programs will I need to purchase?
- How much will it cost to market my app? (See our page on app marketing)
- What will the total cost of making my app be, adding together the above four amounts, in money and time?
- Are there any analog products that attempt to cope with the problem my app seeks to solve? If so, how many units does the top manufacturer sell per year?
- Based on my answers to 5. and 6., what is the least I can charge per download of my app and still make developing it profitable?
- If the same number as my answer to 6. download my app annually, how much will I make from developing my app after overhead and taxes?
- How can I continually improve my app so old customers will re-download it for an additional fee? What costs are associated with this?
- How much, total, will I need to completely develop my app, and how long until, according to my answer to 8., will it take me to recoup my initial investment? (As a rule of thumb in any business, your answer to this should never be more than 12 months.)
- Do I have the money to invest in my app? If not, can I find investors or secure a loan? How would paying interest and/or share returns change my answers to the previous questions?
As you can see, a lot can go into building apps, and app development is not a get-rich-quick scheme. Yes, you might hear about a couple of college kids becoming billionaires overnight because of their app, but such occurrences are rare. More often than not, app-developers make millions at best, and it takes a great deal of this to continuously update and market their apps, so make sure your idea is truly a good one before you take the plunge.
Step 5: Create A Wireframe And Mock-up Of Your App
A prototype is a testable, essentially functioning app, while a “mock-up” is series of professional-looking, 2D images that show semi-finalized depictions of your app’s pages so you can present and market your app to people outside your team. Finally, a “wireframe” is a set of rough, stick figure-type drawings of your app’s pages, typically used as a working blueprint to guide the app’s development.
At the end of the day, you just want a working app. However, if you can’t code yourself, you’ll probably find it easier to present your idea to potential investors with a mock-up than you would paying programmers to create the app before you can locate seed capital. In any event, the first step to creating a mock-up is drawing out a wireframe.
For all intents and purposed, a wireframe can really be as simple as a set of hand-sketched drawings on napkins, but there are easier ways to create them that will also make creating your mock-up very easy. In fact, several Web-based applications and software suites exist very the very purpose of creating wireframes.
For example, Balsamiq is an inexpensive, downloadable program that will let you create wireframes for both Web and app pages and even interfaces with other inexpensive software to convert your wireframes into HTML/CSS pages you can then link together as a prototype or take screenshots of for a presentation mock-up.
However you decide to create your wireframe, though, you will have to put some thought into how you construct you conceptualization. This initial wireframe can, of course, be modified as development progresses. But the sooner you start considering the following questions, the fewer problems you’ll have to confront later:
- What functionality will my app need to serve its purpose?
- What functions of my app are most important?
- How big should the user-facing elements for each function be?
- According to which functions are most important, in what order should my elements appear on my app’s first and subsequent pages?
- What information will my app present on each page?
- How should accessing a certain function on one page flow into a subsequent page; how can I create the easiest, most intuitive flow possible for every function?
- What devices will my app be compatible with? (The more, the better.*)
You should also keep in mind when considering these questions that the screen of a touch-based device is typically smaller than a standard desktop or laptop computer screen, while fingers are much larger than mouse cursors. Consequently, the elements for each of your functions should be large enough to prevent confusion over which element your user is trying to access.
Furthermore, you should limit the number of elements per horizontal-row space on your app’s pages. One element per horizontal-row space is the best way to do it. So, if you can’t limit your elements to one per page, you should plan to have all the elements on each page stacked vertically.
Finally, though not nearly as important, you should draw out versions of your app for both landscape and portrait views.* The reason this isn’t as important as the other points in this subsection is most user will tilt their devices to whatever view is easiest to use. But there are those users who prefer a certain view, and cutting them out of using your app in their preferred view will eliminate them as potential customers.
Step 6: Identify Your Own Professional Strengths And Weaknesses
This step is pretty commonsense: Nobody is the best at everything, nor should they be. After all, some of the best ideas and breakthroughs come when multiple minds are thinking about the same problems. Really, then, you should want a team working with you so your app is the very best it can be.
Now, perhaps at this stage you can’t afford to pay anyone, but you should consider what talents, experience and knowledge you can contribute to building your app and, being completely honest with yourself, what sides of development simply aren’t your forte. If you have to, even, make a list of your own strength and weaknesses, and anything you’re weak on, plan on bringing on another person to help with.
Too, while making your list keep in mind the many professionals who typically work on an app. Here is a shortlist of just a few of the staff members big development companies typically employ:
- Marketing Professional(s)
- Graphic Designer(s)
- Website/App Architect(s)
- “Idea” Person(s)
Depending on your own strengths and those of the people you might hire, you don’t need an individual person for each of these position; for instance, you might serve as developer and idea person, your programmer might also handle accounting, your graphic designer could also serve as your architect, and your writer might also be your marketing pro. So while you will need at least one person doing each of the things listed above, each job doesn’t need its own specialist.
Step 7: Seek Funding
Once you have done all your research, realistically projected your likely costs and created a mock-up of your app, you’ll want to put these elements together into a formal prospectus to present to potential investors. Even if you’re lucky enough to have been given or already earned your seed capital, you should go through this step because it will help you hone your ideas further. Plus, this step is made all the easier with crowd-funding sites like KickStarter, so gone are the days of absolutely having to formally present a concept in a stuffy business atmosphere like a bank office or boardroom.
What’s more, so much of building a successful business (as you’ll be trying to do in making an app) is sales, whether it’s selling your idea to consumers or to potential investors. And finding out if others see potential in your plan is a great way to test the waters before you’ve sunk you own half million dollars into development. Put simply, if you can find a bank, venture capitalist or couple of hundred small investors willing to back your idea, it’s probably safe to invest your own time and money in it.
How To Develop An App, Stage 2: Getting To Work
Step 8: Hire Your Team
With a great app idea and money behind you, you can now start hiring your team. Depending on the scale of your operation and the funding you have to expend, you have several options in this line, including hiring freelancers, hiring full-time employees, hiring an employment agency or contracting a full development agency.
For small operations, hiring freelancers is probably the best option. Many work other jobs full-time or work several smaller jobs and are looking for extra work or opportunities. So you might even be able to trade a share of your fledgling app-development company for a freelancer’s time and efforts.
But whatever sort of staff you decide to hire, a great way to advertise your positions is always to post them on the Craigslist.com page for a major metropolitan area like Chicago or New York City. Yes, by posting on Craigslist.com you can expect to get a lot of applicants who aren’t skilled or responsible enough to help you. But first-class professionals, staffing companies and development firms also regularly check Craigslist, knowing that exciting new startups often use the site as a job board to eliminate the costs associated with using sites like Monster.com.
Other great places to post your ad include Dribbble, crowdSPRING and Elance. Bear in mind, however, forming a professional A-Team will require you winnow through a lot of chaff portfolios before you find the whole-grain goodness your fledgling company needs.
Step 9: Formally Plan Your App
Although you’ve already created a rough plan for your app, once you have your team in place you’ll want to formally plan it. And formally planning an app is a little more involved than drawing out its concept or even mocking it up for potential investors. Basically, there are three main things that must go into a formal app plan: information architecture, interaction design and visual design:
The first facet you’ll need to concentrate on is you information architecture. In a nutshell, “information architecture” means “organizing your content,” and to some extent, you already did this step when you created your wireframe. But a professional app architect will know a great deal more about what sorts of arrangements are proven to get the best results.
This portion of your formal app design is about creating an optimal flow between each stage of you app’s functionality. The very best apps need no introduction or directions; users simply pick them up and figure out, intuitively, how they work. Again, you have already done some of this work in your pre-planning process, but a professional application architect is usually better-versed in time-tested ways to make your app as user-friendly as possible.
Up to this point, your app’s mock-up is probably composed of amateurish doodles and/or generic, public-domain graphics. Obviously, then, you’ll want to make your app as attractive as possible by giving it original, stunning visual designs and images. And perhaps the visual arts aren’t your “thing,” which is where a professional graphic designer comes in.
Step 10: Create Your App
1.) Doing It Yourself
After all the planning you’ve done to make your app a success, actually creating your app is the easy part. Basically, if you have a professional background in coding and will be doing most of your app’s programming yourself, all you have to do is load Xcode and make it happen. And, as you probably already know as a coder, your fellow programmers are typically happy to help when you get stuck; the best forums to find app specialists in are Apple’s Developer Forums, the iPhoneSDK Google Group and StackOverflow.
Then again, if you are familiar with coding but have never actually coded an app before, there are several things you should be aware of. Foremost of these is that Apple offers a number of applications you can use to make your app, including the company’s software development kit, which you can download for a few bucks from the Mac app store. This application will give you access to the following tools critical to building your app:
An integrated development environment, Xcode is essentially a code editor iOS and Mac developers use to make their apps. What’s cool about Xcode is that it isn’t just a basic code editor but has the following useful features built into it:
- Auto-complete – Sort of like MS Word’s auto-correct, except for code
- Static code analysis – Searches your code for errors and tags them for your review
- BBEdit – Corrects code written in HTML and several other languages, among other things)
- TextMate – Gives you access to macros, folding sections, tabs and more
Once you’ve downloaded Xcode, your first order of business will be to click “Create a new Xcode project.” Then, you will want to scan the left hand column for the OS X section, click “Application” and select “Command Line Tool.” After clicking “Next” on the resulting screen, you will want to fill in the fields that appear with your app’s name, your name or your company’s name, your company’s ID number, and your company type.
You’ll also want to click the box that says, “Automatic Reference Counting,” and having done so, you’ll be ready to start building your app.
b.) Interface Builder
Interface Builder is a wireframe app made specifically and only for app development. Like Balsamiq, it uses a drag-and-drop interface to let you populate your app’s pages with elements and graphics. Unlike, other wireframe programs, however, it allows you to interface these elements, connecting actions and targets, and it also lets you tweak elements’ appearances.
c.) Cocoa Framework
The frameworks provided by Apple in its SDK essentially allow your app to run on OS X- or Mac iOS-supported devices. Among other things, these tools let app developers play audio and video on their apps, draw graphics, take pictures, produce user interfaces, write networking code, show Web pages and encrypt information. One such framework is Cocoa framework, which condenses complex code commands into snippets, giving you the ability to make your app function more quickly because its code is more concise and condensed.
2.) Other App-Creation Tools
This free app-building software lets you build an app without one smidgeon of background in coding. It also comes with free iOS publishing tools and a free iOS viewer.
b.) App Maker
This app builder will let you build a complete, full-featured app for free and includes a boatload of features, including app-download analysis and push-notification tools, as well as social-sharing, newsfeed and other widgets for apps.
3.) Contracting A Programming Firm
If you will be relying on others to create your app, the complexity of the app’s creation can be manifold. If you have contracted a full coding firm, it might seem you can sit back and let your contractor do the work. But making sure the work gets done is a job in itself; you will have to review you app’s plans with the firm to make sure they are feasible, if they aren’t return to Step 2, and if they are, monitor the project to make sure the firm’s developers aren’t billing you for unworked hours or purposely hamstringing your app’s code to extend their contract with you.
4.) Hiring An ‘In-House’ Team
Finally, if you hired freelancers, a full-time staff or a staffing agency, you will often be able to build rapport with your team members and trust them. In the U.S., the downside is that, especially with freelancers, any individual freelancer, employee or agency actually owns any work she provides you, even if you pay her, as you are only paying for the first use of her work. She is also legally under no pre-existing obligation to keep information about your company secret.
The way to combat these issues is to make all new team members, be they freelancers, employees or temps, sign both a nondisclosure agreement and a contract in which they relinquish future rights to their work in exchange for their pay. If, on the other hand, you are providing stakes in your project in exchange for team members’ work, formalize these arrangements for each team member in a signed contract so there is can never be a doubt about how much of the company each stakeholder owns.
Step 11: Test Your App
When all else is finished, you can finally sit down and enjoy your own app. All you have to do, if you or your hired programmer is using Xcode, is select “Simulator” and “Debug” from the dropdown, then click “Build and Run.” (And naturally, yes, your device will have to be connected to one of your computer’s USB ports for the duration of the download.)
Often, in the course of testing your app you’ll experience problems. These will need solving before you can put your app on the market, so make ferreting out and fixing every aspect of your app a top priority. If you are experiencing an error you don’t know how to fix, simply copy the error-code message and paste it into Google search. In 99 out of 100 instances, someone else has had the same problem before and explained on a message board or in a chat room how she solves it.
Step 12: Submitting Your App
Once you’ve created and tested your app, sharing it with an interested community is important to put your app to use and receive feedback. To submit your app to both the Google Play and the Apple Store, you first need a paid developer account. The prices differ, but registration and a signed distribution agreement are necessary to submit an app to both providers. This can take several weeks to set up, so make sure to give yourself plenty of time for tax, bank info and other paperwork to be filed.
Once you have an account, you can log in and upload your fully compiled app. You app will need a unique name, SKU and bundle ID, as well as the default language of choice, and any screenshots and promotional graphics that will need to be displayed.
After a review of information, you can click save to add your app to the Apple Store or Google Play Android Market.