Before I start, I just want to make a point of mentioning that I personally did not write this article. I just felt that because of the quality of the article, it should be re-blogged for more people to see. You can see the original by clicking here.
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.
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).
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 fulfil 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.
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:
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.
About the Author
Josette Rigsby is a senior-level technology leader with over 15 years of experience leading teams and delivering solutions. She has a special interest in enterprise architecture and emerging technology and frequently contributes her thoughts on the topics.