WebInsightsMobileFeatured

How to Develop an App From Scratch

App DesignMobile App DevelopmentDIYwireframesmockupsprototype

Just about everybody and their grandma developing an app these days. This comes as no surprise considering success the likes of Facebook, Uber, Snapchat and many others saw over the last few decades. People think they are going to come up with the next big thing, and some of them indeed do. However, there is no denying with 5.5 million apps available in leading app stores that the market is saturated. Therefore, it is imperative to know what you are doing if you embark on a journey that is developing an app.

 

APP idea

 

Billion-dollar app Idea

So the light bulb goes off in your head. You have a billion-dollar app idea. What next? Many people suggest visualizing the idea, coming up with a list of features and so on. I say why bother? Rather than wasting a whole lot of time, make sure first that something you probably came up in your shower or on the way to work is viable. Pick the main feature and find out if it helps people at all. Ultimately, every successful app solves a problem for a large enough, a specific group of people. Always, in a more efficient way than competition. 

 

Facebook has made it easier for everybody to find out what their friends and crushes are up to. Uber made transportation virtually effortless, wherewith the push of a button you have a car that can easily get you from point A to point B. And Snapchat, of course, allowed teens to sext with fewer chances of getting caught by their parents and teachers alike. What unites all of them is that they create value for their users.

 

market research

 

 

Don’t skip on market research

To get a better understanding of how your app can provide value for your users you need to do market research. Unfortunately, it is a step that is often skipped when creating an app. It deemed to be a job for those pesky marketing people. Instead, folks adopt “if we build they will come” mindset. They pour a lot of resources into developing the idea without thinking who it is for. This is dangerous because the story typically ends like that of Everpix. In short, they didn’t do their due diligence, which leads to them crashing and burning

 

Admittedly, it happens as often as it does because of confusing industry lingo being thrown around when you try to get a better grasp of what market research is all about. Terms like the target audience and pain points could be fairly confusing to non-marketing people. Don’t worry I got you. I am here to help.

 

In very simple terms, you want to know everything about people whose problems your app is supposed to solve. You want to dig up as much information as possible. How big is the group in size? Where do they live? What age group do they belong to? What platforms do they use to communicate? In essence, you want to know what makes them tick. To have a full picture, ideally, you want a mix of hard statistical data with figures and numbers as well as more opinion-based testimonials from people who belong to the group you are researching. 

 

Additionally, you want to know how much competition there is? Are there companies that are already providing a solution to people you want to solve the problem for? How many of them out there? How big are they? Why is your solution better? These are all the questions you should have answers for before you even consider developing an app. You could be a one-man-show or a huge enterprise, regardless of the size you need to market research first and only once you have the answers begin development.

 

Now at this juncture, you have to ask yourself – How serious are you about developing your app project? The answer will dictate the way to go about your market research. Because if it is a side gig for you, something you plan to tinker with it in your spare time you might consider going with barebones, market research and get your answers that way. It would mostly involve using your trusty search engine. Alternatively, if you are serious about your app-building project and plan on devoting considerable amounts of resources to it you ought to invest heavily in your market research efforts. As it would allow you to rely on hard data rather than baseless assumptions when it comes to understanding the needs and wants of your potential customers. If this part is figured out, everything else falls neatly into place.

 

Market research options

Let’s start with the most expensive option, which is hiring a marketing research agency to do all the research for you. This doesn’t come cheap. It could cost you anything between $15,000 and $100,000. Depending on the level of research you have in mind. In return, you get fresh, comprehensive reports that outline everything you want to know about your potential customers and the competition you would have to face. Due to the thoroughness of the report, it is also the slowest option. It takes quite a bit of time to properly gather and analyze all of this information. This is an option for well established to large size firms.

 

The middle ground solution is the DIY approach. You can attempt to conduct research yourself using market research templates provided by resources like Google Surveys SurveyMonkey and Typeform, in conjunction with data from paid databases like StatistaOrbisEuromonitor or Marketline. And allocate saved money to incentive-based interviews with potential customers where you pay people to participate, hence the incentive part. On the plus side, this option is cheaper and faster. On the flip side, it could be ineffective, because you could be lacking the expertise to correctly interpret the data that you gathered. This option is suited more for small companies. 

 

Finally, if you are not a company, but a one-man-operation you should still be doing market research. However, your options are limited, but they are still there. For demographic questions like How many? How old? Where are they? You can use your country’s public data. Many countries poll their citizens on various issues and then put the results online on government-owned websites for public use. There are free databases there too:

 

Statcounter

Statcounter provides you with global statistics on Technology. Such as (things mentioned are going to be true for both Desktop and Mobile): Browser Versions, Operating Systems, Search Engine search, Screen Resolution, Device Vendor, Social Media.

 

Pew Research 

Pew Research is a US-based fact tank that does demographic research, opinion polling, and content analysis. Good for monitoring trends in different industries.

 

GSMA Intelligence

GSMA Intelligence provides you with global Mobile statistics and trends, as well as mobile industry insights and real-time data.

 

The American Bankers Association 

The American Bankers Association supplies you with bank-related statistics and trends.

 

Trading Economics 

Trading Economics gives you a macroeconomic overview of the world at large. Including real-time statistics on virtually any country, you wish to know about.

 

CIA.gov

CIA.gov provides you with a geopolitical overview of the world. Good for external analysis.

 

Dempsee 

Dempsee is an information aggregator. It has many free resources in one place.

 

To find out how your potential customers feel you can turn to reddit.com, where you can check your industry related subreddits for repeated concerns among your customer base. Same principle with Quora where you can check out most asked questions by your potential customers. And get an insight that way. 

Big or small, every firm should make sure it solves a problem that people have. In a way that brings them additional value. Only when you have this insight should you start developing your app.

 

 App creation options

Now that you hopefully have a better understanding of whom you are building an app for. You arrive at the next step – choosing a way you are going to create an app. There are plenty of different options to choose from, and each comes with the – “it depends” asterisk. At this point, you should be certain about how serious you are about the project and how much resources you want to invest in it. Unsurprisingly, this will determine the option you should go with.

 

One-man-shop

 

One-man-shop

If building an app is a passion project for you, something you are going to be doing in your spare time, you might consider learning how to code and build an app by yourself. It sure will take a significant amount of time. And there is no clear answer how much precisely, as it is person dependent. The good news though, is that it is 2019. There is a litany of free and inexpensive resources available to your heart’s content. Such as:

 

Lynda

  • MySQL and Git
  • PHP, Python, C
  • Java and Mobile Web
  • Android, iOS, Ruby, and Swift
  • Programming foundations

 

Khanacademy

  • CSS
  • JavaScript
  • HTML
  • Python
  • SQL

 

The Odin Project

  • jQuery
  • Ruby on Rails
  • HTML5
  • CSS3
  • JavaScript

 

Udemy

  • Programming languages (C, C++, Python, Ruby and more)
  • Mobile applications
  • Game development
  • Databases
  • Web development
  • eCommerce

Codeacademy

  • SQL and Git
  • HTML, PHP, Python, and CSS
  • Website development
  • AngularJS, JavaScript, jQuery
  • The command line

 

Just remember that when you learn your first programming language that also means you are learning to program in general for the first time. That could be quite a handful. You must learn the basic concepts and how to apply them. This implies time and practice to get your brain to think the way a programmer does, applying logic and reason to solve coding problems. If you choose this route you should be in for the long haul. So stay patient and refrain from rushing.

 

If you are more serious about your project or run a company there are better options out there.

 

in-house or outsource

 

 

Outsource or keep in-house

Any project will need to determine if the work should be kept in-house, or contracted to an external partner.

 

In-house

Let us start with the most expensive option. Assembling an in-house team is by far and away from the most expensive choice. Just by taking a glance at an average salary lookup website like Payscale, we can see that software developers get paid an average of $70,000 a year. What developer gets regardless of the amount of work he/she ends up doing over a year. Keep in mind the more complex your app is supposed to be the bigger and hence more expensive the in-house development team has to be. Not to mention, it’s not enough just to hire expensive developers. You need the expertise to hire the right talent for the job, which in itself costs money. Otherwise, you end up not getting your money’s worth.

 

In return, for all this hustle you get a dedicated team. This means if any issue arises you are the top priority. As time goes by people you hire get invested into your organization and as a consequence treat your challenges as the challenges of their own. As opposed to treating you like another client.

 

hiring freelancer

 

 

Freelance

Hiring a freelancer is a popular option these days. Typically, they come from developing countries where salary averages are much lower. So you pay just a fraction of what you would have paid for a software developer from developed countries like the US. 

 

The trade-off for the notable cut down on cost is variability in quality. While many freelancers maintain a high quality of work, it is not guaranteed. They have to be quick, hopping from project to project to maximize the income. In other words, there is a financial incentive to rush the project and switch to another one as soon as possible. It inevitably leads to lower quality. So make sure you hire freelancers through freelancing platforms like:

 

Using those at least guarantees your money back if the freelancer performs poorly. But nothing could be done about wasted time. 

 

Then there’s a matter of distance. It often happens that freelancers are located across the ocean multiple time zones away from you. Which in turn leads to video calls at awkward hours and general disarray. Especially, if you have to coordinate multiple people from multiple countries. 

 

Furthermore, this option comes with questionable reliability. A freelancer might disappear on you. The person might get fatigued or bored. Find somebody who pays more or just take a vacation. The result is the same. They vanish without so much as a goodbye.

Using a freelancer saves you a lot of money, yet it comes with different kinds of headaches. Use it at your discretion.

 

Outsourcing to Software App Development Agency

Hiring an app development agency is a middle ground between an in-house team and freelancers. It can still cost you a pretty penny, anywhere between $3000-$10,000 for a simple app to $50,000-$150,000 for a really complex one. 

 

That price tag comes with a good deal of benefits though. It gets you the best of both worlds. No high additional costs that you would otherwise incur had you hired an in-house team, and at the same time, it solves the quality issues often created by hiring freelancers. That is to say, you get the full expertise without overpaying for building a team in-house. What is more, you have a pool to draw from developers with different knowledge of different technologies. Furthermore, besides developers, you usually also get web designers, project managers, strategy consultants, the whole shebang.

 

All the developers are properly vetted and have worked with each other before. So you don’t have to waste time hiring people. It has been done for you. All that means that if you hire a mobile app development agency you can start the project in days rather than weeks or months. And if you decide to scale your project people could be added or replaced at a faster rate.

 

Another perk of hiring an agency is maintenance after the project is done. Most of the apps require maintenance because the first version is bound to have some residual bugs. While freelancers deliver the code and hop on the next project, agencies stick around and maintain the code they produced. It usually ensured by the contract.

 

Now that you know the pros and cons of every option you are ready to pick one and go onto the next step. Regardless of which one you choose many of the further steps are going to be done for you one way or another. Even still, you have to know what they might entail.

 

Approach

First, you need to figure the approach you want to take with app development. Do you want to build your app for a specific platform like Android? That would be a naive approach. Or would you like your app to be developed for multiple platforms, also known as cross-platform? We have an entire article dedicated to the Pros and Cons of both approaches. Spoiler alert we at Wiredelta prefer a cross-platform approach. Here is an article with noteworthy frameworks for this option.

 

MVP

 

MVP

Once you have your potential customers and development method and approach figured out, your next goal is to create a minimum viable product or MVP. It is a trendy concept in the app development world. And for a good reason. It allows you to get your application in front of potential customers as soon as possible. Thus, you can get feedback, iterate and adjust your product to satisfy them better. It is all possible because as the name suggests you build a minimum of the core features and trim everything else off.

 

Be careful though, as we warn you in our previous article, some people miss understanding the purpose of MVP. While it absolutely helps to get there first, which is important, the concept’s main aim is to get feedback from the actual customers. It helps to dispel any of the leftover assumptions you had and get real data from real customers. And then course correct if need be.

 

Different tools will help you develop an MVP.

 

mockups

 

Wireframes, mockups and prototypes

These three tools that help developers and web designers to collaborate towards creating the aforementioned MVP. People often use these app design terms interchangeably. It happens because you can skip one and go directly to another. Technically, however, they are stages in one design flow. They differ in the way you present a product and therefore how much time it takes to develop them. 

Wireframes

Wireframes are a minimalistic, typically black and white layout of the app. They demonstrate what UX elements are going to populate the key areas. Essentially, they provide you with a basic visual, a barebones blueprint of your app. They help to express design ideas early in the project. Highlighting the important parts. Ultimately, wireframes help team members understand the project better.

Mockup

A mockup is a further stage in the design flow and takes longer than a wireframe to develop. It is closer to the finished product but still static. The mockup shows information frames, as well as content and function. While it is not interactive, it is good to showcase to stakeholders how the final product might look like. It helps the team to have a visual to strive for.

Prototype

The prototype is the closest of the three to complete, working MVP. With it, you can simulate the apps working process and test user interaction. In essence, the prototype is a less polished version of MVP, that still has bugs in it and therefore is not ready for market. Hence it is designed for exposure to smaller audiences to root them out.

 

Here at Wiredelta, we use the following tools to design our wireframes/mockups/prototypes:

  1. Adobe Xd
  2. Axure
  3. Proto

 

Testing

 

Testing

Throughout the whole process, one thing is constant. We already somewhat alluded to it. You constantly have to test your app. Without it you won’t know what works and what doesn’t. Here are a couple of software testing methods you should have in your arsenal:

 

Integration testing

This is where you put individual pieces of your app together and test how they work as a whole. You test individual processes that potential users have to go through. For instance, logging into your application.

 

Performance testing

 With performance testing, you check how your app behaves in different sets of circumstances. It helps you determine how stable and responsive your application is when users interact with it. You can also find out how reliable and scalable the app is.

 

System testing

This is where you take integrated testing up a notch and test the whole process from start to finish against predetermined requirements. Sort of like you would a car fresh from the assembly line. You need to check if it drives properly and up to specs. Typically, this type of testing is done right before going to market.

 

Usability testing

Simply put, this test tells you how easy is it to use your app from a user’s perspective. With this type of test, you are trying to understand if your design and esthetics stand in a way of intended work function.

 

Compatibility testing

Here you want to test how your app acts in different environments. That means different browsers, operating systems, networks, different types of hardware, different users (for example handicapped). 

 

Security testing

As the title suggests here you test and hopefully uncover any potential security flaws and vulnerabilities your app might have. You want to prevent unauthorized access or loss of your user’s data. Both are very real threats. Just two years ago GitLab lost a substantial portion of their users’ data. And hacker attacks are on the rise. You want to make sure your users are protected. Four areas you should be mindful of:

  • Client-side application security
  • Server-side application security
  • System software security
  • Network security

 

User Testing

The aforementioned testing methods all imply User Testing. Remember you are developing an app to bring value for your users. With that being said here are two methods of how you can organize all the information you get from your users. They are self-explanatory.

I Like, I Wish, What If

 

Like I wish would be

 

 

Feedback capture grid

 

feedback grid

 

 

Now that your MVP is thoroughly tested and polished you are finally ready to put it on the market. If you want to know more about how you can monetize your application once it ready we have it among 5 things you must know before developing an app.

 

Conclusion

Developing an app is quite an undertaking. And therefore shouldn’t be taken lightly. You ought to treat it like a Business. Which means doing your due diligence and thinking through every decision. Or risk ending up like more than half of start-ups that fail their first year. If you feel like you need help on your app developing journey. Don’t hesitate to ask us @Wiredelta. We would be delighted to hear from you.

Leave a Reply

Your email address will not be published. Required fields are marked *