How Hard is it to Make an App?

May 22, 2018

How difficult is it to build an app? This is a question we get asked a lot — and there’s no easy way to answer it. The term “app” covers a lot of ground, from impressively complex feats of technological wizardry to almost unbelievably simple gadgets.

For example, the app Yo originally only had just one function: sending the word “Yo” to another user. That’s it. It sounds silly, but sometimes the simplest app ideas are the most successful — $1.5 million in funding sure sounds like success to us.

A photo of a student using an iPad to take notes during a presentation.
Tablets and their apps have (thankfully) cut down on the amount of paper in our lives.

On the other end, there are apps that serve as front ends to powerful databases and back-end systems, designed over years or even decades to solve the most complex problems in math, science, business, and security. A self-taught app developer could make the next “Yo” without too much trouble, but making your own version of Wolfram Alpha, a sophisticated AI app providing expert answers on virtually any topic from algebra to zeppelins, would take a lot more in-depth knowledge.

So, the short answer is: “it depends.” But of course, it doesn’t end there.

Is it Hard to Make an App? Defining Your Goal — And How Realistic it Is

It’s not just the complexity of your app that determines the difficulty — it’s also the end product you have in mind. Putting together a usable mobile app prototype is one thing. Creating a finished, multi-platform, consumer-ready app is another. It’s not just that there are extra steps — it’s also that the hardest steps are in the second half of the development process.

Technology development company, Queppelin breaks app development into 8 stages. The first four are:

1. Research and Pre-planning: In this stage, you define big picture concepts like the purpose of the app, your target market, platform, and revenue model. You also need to do background research on competitors’ offerings and other relevant topics.

2. Mental Prototyping or Sketching: This is where you start to make a concrete plan of how your app will actually work. This involves whiteboarding or wireframing the app, figuring out major design elements and user flow.

3. Assessment of Technical Feasibility: Apps have complex technical requirements. Before you can build an app, you need to look into the back-end system supporting your app, and research APIs and other needed systems to make sure they can feasibly support the functionality you’re trying to provide.

4. Prototyping: During prototyping, you build a proof of concept model to test and refine your concept. This phase can vary a lot depending on how you’re going about prototyping your app.

Some prototyping tools are closer to visual models than actual working prototypes. They show how the app is laid out and may contain decent animations, but you can’t interact with them like an actual app user. 

Proto.io is on the opposite end of the spectrum. It’s built to enable developers, designers, and entrepreneurs to build fully functional mock-ups of their app without getting into coding. In many cases, prototypes from Proto.io are virtually indistinguishable from the finished product.

A close-up photo of a man’s hand holding an iPhone.
Apps have transformed the way we use our phones.

After prototyping, things get more complicated. There’s design and development work, coding, testing, refining, and finally, launch. On average, the whole process takes 12 to 18 weeks, and can require a sizable team, depending on what you’re building. It’s also the part of the project that requires the most specialized knowledge, in areas like UI design and coding.

Because of this, there are many cases where sticking with a mobile app prototype is the most practical approach. For example, let’s say you’re an entrepreneur with a great idea for an app, but no coding skills or team. What makes more sense to you — hiring a team of designers, developers, and marketers to build your idea and take it to market, or spending a month or so building and tweaking a working prototype and pitching it to investors?

If your goal is to make money on your idea, the answer is obvious. Unless you’ve already got a team, an established software company, and plenty of capital, building a prototype is almost always the more lucrative approach.

This method requires a few changes in the traditional app workflow — for example, you’ll want to do some testing in the prototyping phase to make sure your app is ready to make the right impression. On the other hand, it lets you save the hard part until you have the capital to invest in it. All you need is a model that demonstrates a great idea — let your funders pay for the technical planning.

How to Make an App — Required Skills

There’s no getting around it — building an app takes some technical training. Although you can build a mobile app prototype at home with a little practice (check out our tutorials here to see how easy it is), to create the final product, you’re going to have to learn to code.

As we’ve said before, if you want to become a self-taught mobile developer and you have no technical background, the best starting point is a programming class. Educational platforms like Coursera and EDX offer free computer science courses from major universities like MIT, Berkeley, and Caltech.

The lectures and materials are the same ones used in the actual classes, and TAs even grade your coursework — all for free. However, it does take some time. The MIT Introduction to Computer Science class, for example, runs nine weeks with 15 hours of work per week, but it will give you a solid introduction to the topic.

If you’re looking to get started quickly (and have a little Java background), a class like Introduction to Mobile App Development using Android could be a good course of action. It takes just 6 weeks with 3 to 5 hours of coursework per week, and covers the basic skills you’ll need to be an Android developer.

Basic developer skills aren’t always enough to build a commercial app. Want it to be intuitive and user friendly? You’ll need to read up on user flow and UI/UX basics. Want to make it attractive? Some design training (or help from a designer) wouldn’t hurt. Want to support Android and iOS? You’ll have to learn both environments or hire someone who does.

A photo of programming language displayed on a computer screen.
Eek. Not our forte — can we interest you in Proto.io?

None of this is beyond you — particularly if you have a simple app idea. People can and do learn development on their own all the time. But it’s important to be realistic about the time commitment and think about whether it makes more sense to prototype, hire a team, or build it yourself.

Hiring a Team to Create a Mobile App

Costs of mobile app development can vary greatly. Savvy Apps estimates anywhere from $25,000 for a single-platform app to $1,000,000 or more on the very high end (although that’s unusual).

Why so much? Well, there’s a lot that goes into making an app. One of the biggest costs is your team’s time. A traditional mobile app development team typically consists of around four members, who could be working for as long as six months to get the app off the ground.

And that’s just your labor. Don’t forget about legal fees to protect your product, draw up contracts, and limit liability; software licensing fees; accounting costs; and other costs associated with the administrative side of running a business. Some of those costs are associated with creating a startup, and may vary in certain situations — for example, if you already have a business and are building a free app to use in house, accounting and legal fees might not be as big a factor — but they still need to be considered.

If you want a better estimate, there’s a great tool called How Much to Make an App, which can break costs down. It looks at factors like platform, monetization, and website integration to help you set your budget. Another useful way of investigating costs is to research companies building similar products and see how much first round investment capital they’re asking for.

However, these cost estimates don’t factor in differences in market rate by country. One traditional strategy to cut costs is to outsource to overseas developers. On average, app developers in India cost just 10% of the price for US-based development.

That takes the average down from around $48,000 to $4,800. But there are pitfalls — particularly for small companies that don’t have resources to setup their own development program overseas. There can be language barriers, time zone, and quality control issues that are harder to resolve when you don’t have experience building apps and you’re working with an overseas team.

A photo of a person playing candy crush on their smartphone.
Candy Crush is so addicting. Currently on level 1159.

If lack of capital is a problem, persistence is often a better solution than overseas labor. The mobile development community is filled with stories of successful partnerships that started as collaborations on a shoestring budget — just an entrepreneur and a developer joining forces to build something great together. With the right idea, the right partner, a lot of work, and a little luck, you can make it happen.

The Right Tools For the Job

Whether you’re planning a go-to-market strategy or building a prototype to wow investors, making a mobile app is hard work. But the right tools make it a lot easier.  Proto.io makes it simple to design, build, and test your ideas early in the project.

For developers, Proto.io dramatically speeds up the process, with rich UI component libraries, commonly used interactions, and other tools that let you build and test beautiful apps with rich interactions — even without design expertise. For entrepreneurs, Proto.io lets you create full, working models, get feedback, and put your design in front of a VC with minimal time and investment.

Proto.io lets anyone build mobile app prototypes that feel real. No coding or design skills required. Bring your ideas to life quickly! Sign up for a free 15-day trial of Proto.io today and get started on your next mobile app design.

Got any tips on building your first app? Let us know by tweeting us @Protoio!