How to Make an iPhone App From Scratch (For Non-Technical People)
You have a great concept for a new iPhone application. Your idea is
unique, fun and useful, and you are almost certain nothing like it
already exists. In fact, your application might be the next Pandora or
Instagram.
There is just one tiny problem – you don’t know how to program, let alone make an iPhone app.
**Learn the basics of iPhone Programming with this FREE online course from Udemy**
You may be ready to dive right into building your app. Don’t. Design
and development are just one-step in the path to a successful mobile
application.
Whether it’s an iPhone app or an app for Android, Windows or Blackberry, it’s important to take the time to define:
- Why you’re building the app
- Who will use it
- What it will include and how you will build it
- When you plan on completing it
This may seem like a waste of time and effort, but attempting to
build an app without understanding exactly what, why and how you are
creating it, is like driving a car blindfolded. You probably won’t get
very far, and you’ll likely look silly doing it.
This article will walk you through how to actually create the app as
well as explain the why, who, what, how, and when of app creation.
1. Why and Who
If the only answer you have to the questions, why are you building an
app and who will use it is, “Everyone, because it will be awesome!” You
have some thinking to do.Your application should appeal to some audience for some specific reason.In simpler terms, why would anyone want to use or buy your application? As successful entrepreneur and venture capital mentor Jason Cohen wrote, “If you can’t find ten people who’ll say they’ll buy it, your company is bullsh*t.”Although this may be a little harsh, it is more than a little true.Hundreds of thousands
of iPhone applications already exist. Unless yours has some special
value proposition, no one will download it, and they certainly won’t buy
it. The same is true for every mobile environment.
2. What and How
Once you really understand why you are creating your application and
for who, the next step is to detail what you will be building and how.
You probably have a general idea of what you would like to build.
However, to construct an application, you need to know exactly what
features your application will support. Understanding who will use your
app and what’s important to these users (which you’ve already completed)
makes this task much easier. Detailing “the what and how” requires that
you:
- Define the features your application will support. You should know
what every screen will contain and what every button will do and why.
- Decide which mobile devices you will support. Sure, you began by
wanting to build an iPhone application, but what about iPad, the many
flavors of Android and Blackberry, or even Windows mobile devices?
- Determine if you will build a web or a native
application. Users must download and install native apps, which allows
the software to access the mobile devices’ data and features (e.g., the
camera). In contrast, mobile web applications require no install and
have very limited access to the actual mobile device.
- Decide how you will market your application. Mobile development is not a field of dreams;
just because you build it, they may not come. There are many choices
for publicizing your application’s existence: advertising, hiring a
public relations team, content marketing, social campaigns and many
more. Determine what’s practical for you.
- Determine if and how you will monetize your application. If this
application is part of a business, this is a very important step.
Selling your app in the Apple store is great, but remember they take 30%
of revenue from each sale. If your app costs $1.00, you only see $0.70
from each sale. You can also choose to embed advertising or charge a
reoccurring subscription fee. If you want to make money, take the time
to define exactly how you will do it.
- Decide how you will test the application once it is complete.
Testing is critical. Nothing can kill your application’s chance for
success quite as fast as pages of bad reviews about buggy software.
First impressions are everything, especially when it comes to mobile
software. There are several ways to find willing beta testers, pick one (or more).
**Learn how to prototype mobile applications with this free online course from Udemy**
3. When
Once you have defined what you are going to build, create a development plan. A development plan
documents all the decisions you’ve made about what you’re building,
your schedule, what tools you’ll use, who else you need (e.g., maybe you
need a designer to help you with the screens) and the expected cost.
Although they may sound complex, it doesn’t have to be a long stylized
document; it can be as simple as bullet points on a white board that you
capture with a camera.
A development plan will help you hold yourself accountable and keep you moving toward your goals, while staying on budget.
4. Building the Application
Now that you have created a road map and plan to create the app, it
is time to build it. Since you took the time to plan it out, this part
will make more sense to either yourself or the developer (if you are
outsourcing the actual build). Now’s the time to roll up your sleeves
and start building.
Zero-Code Mobile Application Builders
Armed with a clearly defined purpose and roadmap, you are ready to
create your mobile application. Although you are non-technical, you have
several options.An entire market of tools exists to create and publish mobile
applications without touching a single line of code. This seems
promising but, many of these tools are very similar and are limited to
implementing simple content driven mobile applications based on a small
set of customizable pre-defined templates.Content driven applications primarily help users find, view and
interact with content like a recipe, quiz, picture gallery or news
application. Technical journalist Sarah Perez used crowd sourcing to
collect a list of over 30 tools in this category after her readers requested options for creating their own mobile apps without programming.
There are also visual tools for building more complex mobile apps, like Cabana.
Cabana allows users to build web-based and native mobile applications
for iPhone and Android. Cabana is in beta, but you can request an
invitation to preview the tool. It may take several weeks to get
approval to access the beta version of Cabana, or for US $25.00, you can
access the beta immediately.Cabana allows you to design a user interface (UI) using drag-and-drop components. You can then integrate external services like Instagram
or simple functions like a refresh button. Cabana also allows you to
connect your application to any third party web service (e.g. an online
services that provides weather)
using the same visual drag-and-drop approach. Cabana’s ability to
connect to third party services provides tremendous flexibility; it
makes it possible to incorporate almost any information you desire into
your application.
If want to create a mobile
game, it is also possible without programming knowledge. GameSalad
allows you to create mobile games for iPhone, Android or a mobile
browser using its visual tool, Creator. GameSalad offers a free and pro
version of its platform. The pro version,
which costs $499.00 per year, adds the ability to publish to multiple
Android marketplaces, include hosted leadboards and incorporate
monetization features into your game.
Hiring a Development Team
If you prefer to take a more hands-off approach to implementation or
you’ve determined that visual application builders don’t to meet your
needs, consider hiring a development team to create your application.
Hiring a team requires the detailed plans discussed earlier.
Clearly communicating your concept, requirements and desired delivery
schedule, make it possible to get a more accurate estimate.
You may be wondering, “Why hire a team instead of a single
developer?” Successful applications are usually composed of several
parts, and each part requires unique set of skills. At a minimum, you
will likely need a programmer to develop the application logic and a
designer to create the look, feel and flow.
If you don’t have time to dedicate to testing, you will need to hire a tester or locate willing beta testers.
In some cases, one resource can fulfill multiple roles. However, keep
in mind that it’s rare for a jack-of-all-trades to be an expert in every
area.You don’t have to be a large company to hire a skilled and reliable mobile development team. Online freelancing services like Elance, oDesk, vWorker and Guru provide structured systems that make it possible for anyone to post a project and receive bids from potential resources. These sites allow you to:
- Capture project details
- Review quotes, qualifications and work history (on the site)
- Agree to terms (payments and schedule)
- Collaborate and share files
- Pay resources
In addition to the tools provided by your selected freelancing site, you should strongly consider:
- Carefully reviewing contractors’ portfolio of work. Ideally,
contractors should have more than one mobile application being used and
reviewed by the public.
- Reviewing contractors’ reputation and references on LinkedIn and
similar sites in addition to the rankings on the freelance site.
- Requiring contractors to sign a non-disclosure agreement to protect your idea before sharing too many details.
- Paying in installments based on successful completion of the
milestones. This approach will help ensure the project is progressing
and motivate contractors to remain focused. Development projects are
more likely to be successful when both you and your team agree to clear
time, budget and goals up front and have frequent touch points about the
progress and goals. Many of the above sites support managing using this
approach.
- Learning at a least a few details about what you are hiring a
contractor to do. If you have no knowledge about the details of what’s
being delivered, you will be at the mercy of your team. You will have no
way to judge if resources are just “talking a good game” or
intentionally misleading you. It will also help you make more reasonable
decisions and avoid antagonizing your team.
Being a good client is just as important as having a team skilled at
delivering mobile applications. If you have a great idea, but expect
fast, dirt cheap development you are unlikely to be successful. If you
inconsistently respond to inquiries and are constantly making “small
changes,” with no expectation of cost increases – you are a bad client
and your application will reflect it. Business Insider also provides an
excellent set of tips for hiring a great iPhone developer.
Become Technical
There is one additional option for creating your mobile application –
learn to program. This may sound overwhelming, but learning to program
is not as daunting as it seems. There is nothing quite like the sense of
accomplishment you will feel after completing your application with
your own hands. Apple provides details about its iOS developer program on its site, but it is not designed to teach you to develop.
Luckily, there are many online tutorials, books and classes
specifically designed to teach non-technical people to program. Most
training will begin by teaching you the tools you need then guide you
through creating a simple application.
Here are a few tutorials designed to get you coding:
- Beginners Guide iOS App Creation
- An Absolute Beginner’s Guide to iPhone Development
- C Programming: iOS Development Starts Here!
- 8 Great Resources on How to Make Your First iPhone App
Keep in mind that learning to program is not a “quick fix” solution.
You will have to dedicate yourself to the process to be successful.
A Few More Tips
Here are a few additional resources to help you get started building your mobile application:
Beginner:
Create iPhone Apps That Rock
What is the best route to building an app for a non-technical person?
Mobile Web Apps for Cross Platform using HTML
Intermediate:
Learn to Develop an iPhone App in 4 Weeks
Tips for Hiring a Designer or Developer:
How to Hire a Designer or Developer
A lack of programming knowledge can make creating mobile applications
seem complex and even a bit overwhelming, but it doesn’t have to be.
Have you used any of the tools we discussed or found another tool that
helps make mobile application dreams become a reality? We would love to
hear your thoughts.