We created our first mobile app from scratch (for a client) back in 2009, it was an iOS App and a pretty good one for those times. We used native Xcode and objective C and made a great mobile app for weather forecast then. Now, after 10 years I’ve decided it’s high time that write down everything I know about mobile App creation on a public blog and give it away. So when I title this post as “How to create an app from Scratch” then it means I want it to be beneficial for not only the App Entrepreneurs who hire app companies like mine to Build an app but also for the mobile App entrepreneurs who want to learn creating an app themselves and also for those who are deciding between these two “create an app” options“.
Out of all the essential steps that are needed to create an app, there are some steps common to both kind of mobile app entrepreneurs. App Entrepreneur can be the one who creates an app himself or the one who outsources their mobile app creation project to an app development company. Allow me to first talk about those “Essential preliminary steps to create an App from scratch”. We’ll then jump on outlining the differences when you do it yourself Vs when you outsource your app creation. I’ll also go through the Pros and Cons of both methods of App Development.
For reality sake, we are going to talk about only the custom mobile app development in this article, and not about Auto App builders tools. An app is like any other software and so it needs a custom coding and design creativity to get developed. All those Automatic App builders might be good, but they can’t create a useful functional app. For a real App that users can use, you need real App developers and designers. 🙂
Essential preliminary steps before you create an App from Scratch-
1. Set A goal for your App idea.
Even though it sounds that everyone who is looking to create an app is doing so to generate millions of dollars, but in reality many mobile apps are being created not only for revenues but for serving various purposes. The purpose of App creation can be as common as creating an E-commerce platform mobile app to sell goods and earn from them, or to create an app from scratch that assists an existing brand in engaging more with their users (like Hyundai Blue link app), or to create an app from scratch to better show your work portfolio and get some business leads (like what an interior designer or pro photographer would do) and so on.
The bottom line is that you must know your ultimate goal behind creating an app. If the goal is revenue upfront then great since its straightforward. If it is not then you should clearly define what you want the app to achieve to justify the money you invest in creating the app. Knowing what, how, and why of what we are going to sell via an app is important and can be a factor that can modify the approach of the app development.
A simple example is – if you want to create a mobile dating app from scratch that can impress the users by performance then you will better use native app development approach. A native app with a robust backend framework makes sure that your app is solid by quality and performance. If you’re looking to create an app that educates users about your brand (A brand engagement mobile App) and offers no bigger complex functionality then we can think of going by cross platform development approach. An exception here in 2020 is the React-native cross platform development though. Contrary to the popular belief that Native Apps are more solid, react native apps are no less good and can be used to even create highly complex Apps. Facebook uses react native for their Apps, we also use React Native along with Native for creating complex Apps.
Apart from the Technology decision mentioned above, your goal will also help you in defining the marketing strategy before you start creating your app. Considering the same examples quoted above, you may want to use a more aggressive paid marketing campaign when you are promoting a new dating app while you will settle for a more consistent, subtle low profile marketing campaign for a non competitive brand engagement app.
So, set that goal, tell the same to your team and start rolling!
2. Do Some Market Research before you start creating your Mobile App’s Wireframes/ Sketches.
You sincerely believe your Mobile app idea is great, your friends and family are saying so as well and that’s an awesome thing to hear so far, but let’s just check what is going on in the market as well. In today’s day and age, you need not to go outside to survey a market or send emails to check what people are upto. You can just smartly use some Trend checking tools and internet research and be sure of what you’re thinking to create an app is. Also,this research will help you to be equipped with enough market intelligence and insight that you need to take right decisions.
The objective of this App Market research before you start building your app from scratch is to try and get some factual answers to these simple Mobile App business questions –
- Who are among the target user group of my app idea? Identify who will use your mobile app, their demographics, and browsing behavior?- Are there any App competitors already, or I’m the first one with this idea?
- If there are existing App competitors, then what are they offering and what is their mobile App revenue model?
- What these mobile App competitors are “not offering” to their App users which I can create an offer, and hopefully beat them?
- What kind of marketing funds these competitors seem to be investing in, are they doing FB ads for installs or relying on Google or Youtube or anything else?
- How frequently your competitors are updating their mobile apps, try to sense where they are heading to?
- Know if any recent investor or angel funding happened in the mobile App domain you are looking to jump into, try to learn some success stories. Don’t hesitate in knowing some not so successful stories as well so you know what you will not do.
- Try to sense if people are really looking for a new mobile App in the market to figure out how soon you should like to launch your App MVP (Minimum Viable Product – we’ll talk about this later).
It won’t take more than some days or maximum a couple of weeks, before you have good facts based answers to these mobile App Market Research questions and App market insights. You can check App market trends by relying on free tools like Google search, Google keyword planner, Google Trends, App store trends publications, Techcrunch or venturebeat stories.
Answers to these App market research questions, will help you deciding your unique App offering that stands out from competition, mobile app development approach, app development cost budget, App marketing budget, App marketing strategy, your App investment plan, even your App growth and Exit Strategy.
like any other business, it is highly important to do your market research well before you jump on to hiring an app developer to create your app. The App business is as good a business as any other technology business you’d like to invest your time and efforts and emotions in, so understand that Knowledge is power.
Just one good tip here, I emphasize a lot on mobile App market research but that doesn’t mean you overthink or overanalyse things at all. The moment you get good info about the market, you can just stop there and then focus on creating the app without re-doing the App market research.
3. Create App Mockups or Sketch your App idea as they say!
Now when you know what exactly your mobile App will offer to the users, it is now time to start giving them some tangible shape. The first simple step before you create an mobile app is to create its sketches. At Agicent App Creation Company, we even get such App sketches in simple Hand sketched form and sometimes more tool-savvy customers send some professionally made mockups.
Whether you use an app mockup creation tool like the one listed here – Top App Mockup and wireframing tools or simply sketch your app screens on paper, a mockup is necessary peace of raw material to be handy before you develop your app.
A mobile App Mockup is a raw visual depiction of how you think your app should flow and behave for the user. You can simply hand-create the elements (like signup field, enter your location field etc) per App screen and try to cover all the possible screens that your app can have. You can also use some famous App mockups creation tools like following, or hire an App designer from an app company like ours to do create the app designs for you while you create the raw mobile app sketches on a paper –
A mobile app mockup is not needed to be a perfect depiction of design elements, placements of those elements, or color scheme so do not worry about that. An app mockup is just to depict the flow of the app and raw sequence of screens or user stories. It is an App polished design or App wireframes that perfectly outline each and every design element, User interface, and user experience and for that you need nothing lesser than a professional mobile App designer.
Following are some off-the-shelf examples of an App mockup created using an App mockup creation tool Balsamiq –
And this is how an hand sketch App idea looks like (we love this type as well!) –
Some Mobile App idea enthusiasts just take this one step further while they create their App sketches, they just capture screenshots of some Apps that are similar to their idea, and then do some paint brush work on those to depict their App flow.
And some who are good at “writing” things prefer describing their app idea using a sample Mobile App specification template like the one attached here – How to write App specs before you create an app?
I’ve quoted all kind of examples of Mobile App mockups we receive from customers across the world just to tell you that anything that works for you will work for an app developer like me, so far as it is telling me what your app is going to do.
You will need these mobile app mockup or app sketches every time you talk to an app developer or app designer to get the estimation of cost of app development. You’ll also need these mockups before you ask an App developer to do an App feasibility study. The App mockup is first blueprint of your app business and hence, absolutely important.
4. Create Polished App designs or Get them created by a designer.
By now, you must have received some App development quotes from diff App companies on the basis of those mockups. You now have a better idea on how long would it take to create this app, and how much does it cost to create this app and also confirmation of technical feasibility. It is perfect time to initiate the process to create app designs. you can create mobile App designs yourself (if you know how to use tools like photoshop or sketch) or you can now hire an app designer to do it for you.
Unlike raw mockups, the polished app design wireframes are highly detailed set of designs that clearly define pixel perfect App User interface, design elements, user experience and cover all the screens and views the app can possibly have. While mockups were only meant to depict the App flow and idea to developers, you create polished app design wireframes as are actual raw material that will be used by the developer to build the app using iOS xcode or Android Studio, or cross platform tools like Flutter or ionic.
Considering the importance of the polished App design wireframes, I highly recommend that you use a professional mobile app designer to do this task unless you’re one such experienced app designer yourself. You can’t just learn photoshop and create great mobile app designs in few weeks, since experienced app graphic designers have spent years in learning the tools and creating app designs. Cost to create an app design usually ranges from $ 1500 to $ 3000 at Agicent, while sometimes we even offer App design for free to young startups twice an year. You can be one such lucky startup winner as well.
Doing any changes in photoshp designs are far more easier and quicker to be done on photoshop compared to what you can do during actual coding and development. Therefore, take this app design creation process as an opportunity to iterate as much as you can. Think from user’s perspective, run the app design like a prototype using tools like MarvelApp –
https://marvelapp.com/ and iterate before you make it ready for app development.
Following is an example of polished App design wireframes that we created last year for a now Publicly live mobile App –
Our process to build an app from scratch is pretty much design oriented, which means that we first finalize and create the whole App design (user experience and UI) and then jump on to the coding and implementation process. This approach is good especially in case of building mobile apps, since design and UX is one of the major factors (functionality and content being the biggest ones) why people use your app. Also, as mentioned above, it is easier to visualize and iterate anything during design phase wrt to mobile app building phase.
5. Visualize and finalize a backend, an Admin Panel or any web parts.
There is hardly any successful app that doesn’t have a backend. A backend in App terminology is a combination of technology pieces that work behind the scenes and where actual magic happens. In most of the cases, an App’s backend is a build up of a Database programming code, APIs (communication protocol between your app and DB code), Admin Panel (an interface for App admin to manage the app, users, and content), and other third party APIs (Like Map API, Payment gateway, text to speech API etc).
Take an example of the Uber App, we can call its taxi booking iOS and Android Apps as front end. But when you book a taxi from such front end, that booking request goes to a backend server that responds with the available drivers information back to your front end. All the business logic of identifying the nearby drivers, estimating taxi fare, canceling or rescheduling rides is being created and handled at the backend while the front end is build majorly to take inputs from the users and to offer output.
So when you have built an app design that clearly depicts what all is going to happen on front end, it is now time to identify what “all” that you will need to create at the backend to achieve everything on front end. That “all” can be (but not limited to) database, your APIs, third party APIs, admin panel features, content publishing features, user management features, testing reports, usage analytics, payment refund mechanisms, transaction reports.
in one of my older articles on Linkedin which is 7 Aspects of Mobile App business that App entrepreneurs can neglect while building an app, I did put a great emphasis on identification of backend features before you start creating an app. Backend was important then, Backend is important now.
No matter what kind of mobile app you build or create, you must have atleast following powers in the backend Admin – Content management, user management, usage analytics, transaction reports (in case of app with payment gateway), app vide notifications, ability to respond on flag reports. Then you can ask for more features for a more demanding app ofcourse. For example, in an older service delivery platform App like Helpknob, the client wanted to have power to approve or reject a service provider profile from the admin panel and we did it.
If an App costs $ 10000 to build, the basic Admin panel can cost $ 2500 to create. Building a more advanced one will cost more in ratio. Therefore, it is wise to create list of App features and backend features in advance before you ask for a cost estimation from the App developer.
Here is an example of sample basic App admin panel that we developed form an older App –
6. Identification of App development Technologies.
Identification of technology and tools to create a mobile app has always been a matter of debate between Native Vs Crossplatform tools. In the beginning of this article, I did mention that knowing your app’s goal is important in order to identify what kind of technology you’ll use. So if it is going to be another dating or fitness app competing with existing giants, you must not think twice and go forward with native technology for both iOS (swift with xcode) and Android (java or kotlin using studio) to achieve highest level user performance. While, if it is just going to be an informative app about your brand (like an info website), then feel free to experiment with cross-platform technologies that can help you building app that will run on both iOS and Android using single set of front end code.
If I’m sounding like the one who is endorsing the usage of native technologies to create most of the “Commercial grade” apps then you got it right, because its true. If you’re going to develop your mobile app yourself then you can ofcourse think of using a cross-platform app development tool like Google’s Flutter or ionic but if you’re going to hire an app developer to build your app anyways then hire the one who is expert on native technologies and don’t settle for anything less.
I asked this very question to Google Flutter team (the ones who built Flutter) at Mobile World Congress (MWC) Event 4FYN Barcelona this Feb 2019 and you can hear what they answered (Watch from 1:05 onwards) –
If you’re hiring an expert android developer or an expert iOS developer to create an app, then hire the one who knows their respective native technologies. Cross-platform is good when neither you’re a native tech expert yourself nor you’re hiring one.
Apart from the front end and backend technologies, you also have to identify which third party technology and APIs that you’ll use to create an app. For example, you have choice to use paypal or stripe or venmo when it comes to integrating a payment gateway API. You’ve choice between Apple maps or google maps, between Firebase and RDMS, between tensor flow and IBM watson.
If there is no extra ordinary “niche” tech demand your mobile app has, you can settle for technologies that offer you following basic advantages – highest performance and future scalability, great degree of security, are widely used, easy to get a developer for, are free or open source or cheaper, are from a stable provider, are used by giants, and offer easy support. Basically, select the technologies that offer you best bang for your buck.
The Actual App Development Process step by step –
7. Identify and create Testing and Acceptance criteria, go live strategy – before you create an app.
I was thinking of writing a blog post on importance of creating an App Acceptance criteria before this one, though I just swapped the priorities. Although, I’ll write about this in detail in coming few weeks but let me know discuss this briefly here.
An App Acceptance Criteria is a well defined set of functional and non functional conditions, statement, rules, and behavior which a mobile app must satisfy before it goes live in front of real users.
An app acceptance criteria is more than just the App test cases or even User acceptance testing. For example, in a wallet app a simple test case can be “ability to transfer money from one account to another over mobile internet” while the acceptance criteria can be “ability to transfer money from one account to another over internet within 3 seconds and renders a confirmation notification that goes away only when user clicks ok”
You will not go live until the app you’ve created meets all items mentioned in the acceptance criteria. You can keep updating the criteria as you progress in coordination with development team and they must make sure it is being met.
Following is a sample App acceptance criteria sheet that you can download and follow –
8. Finalize delivery milestones and start creating the App.
You are now all set to creating your delivery milestones and initiate the coding work across all ends (front end apps, backend, APIs). A simple way to create delivery milestone is as follows –
-Divide total scope of work into smaller features (call them user story or job card).
-Make bunches of such sequential job cards, and call one bunch a milestone from start to finish.
-Put timelines in front of all such milestone, which result in such milestone based release.
We at Agicent divide the App creation project into 5 milestones as follows – UI Design>iOS Prototype > Android Prototype > iOS Final build + Android final build > Apps and bakcend go live. The testing remains an integral part of all such milestones.
While each milestone is called accomplished when an major interim app release is created and it is tested by tester and reviewed and accepted by the customer. We do create and send weekly interim App releases as well to the client so that they get a regular chance to weekly play with the app even before a major milestone is released.
In a fixed price app development project, we get paid per milestones only. So we try to create the milestones which are equidistant and equivalent with respect to each other. I will soon upload a template for App development milestone creation also, so keep watching this space.
If you’ve hired a single or two developers then they can create the app in linear fashion, meaning they will develop one app feature at a time and that can take good amount of time before you make your app live. However, when you outsource your app development project to an app creators team like ours you get the advantage of assigning more people on the project who work on different features and modules in parallel and then weekly merge their code and finally save a lot of App development time.
Launching a great quality app is essential to survive, but launching a great quality app in shorter time is essential to win the competition.
It not only gets you time to market advantage but also allows you to iterate well in time.
9. Final Testing & launching your app to Live, App stores upload, handling App Store communication.
The joy of launching the app that you’ve developed over the past months is no less than the joy you feel when you buy a new house or first car. It is as good as an artist releasing a new song or movie to public. All your efforts so far will be put to test now. Even when a tester and yourself are testing the app during each weekly release or milestone release, it is imperative that you final test the app with some live beta testers before going live.
Those last minute polishing, fixing, troubleshooting is worth taking the stress for and most of the times they ensure the difference between your app and competitor’s so do that. You have to work more closely with your development team during App launching week, and the ones who keep their nerves win their game so be prepared for that.
While Google play store is pretty easy to go through, the Apple iTunes store is 10 times more stricter than the former. If your app is rejected by apple for one of the many reasons they’ve listed on their site here –
https://developer.apple.com/app-store/review/guidelines/ you must know it is normal. Many times they don’t reject but send back the build for you to fix the things they don’t like, or to add some notices they want, or to replace some third party libraries they don’t love. In last 9 years, we’ve seen many apps sent back by Apple for one modification or another on first attempt but each one of them finally made it. So, be prepared for some back and forth communication with apple and know that it will be approved as you follow what apple suggests.
There are many obvious compliance that any good developer ensures the app meets even before you send it to apple for review. But since Apple keeps updating their acceptance criteria and also they manually edit every app so chances of back and forth rejection and final app acceptance are quite obvious. The best way to deal with apple is to be transparent, polite, informative and I’ve seen that working always.
10. App Marketing, Frequency of future App updates.
Whether your method is paid or is free, you should never stop promoting your app aggressively. We wrote about some common methods to promote your app in this older article that you can refer to before you start developing your app https://www.agicent.com/blog/11-tips-to-promote-apps/.
Acquiring new customers is what you like to achieve with marketing, while updating your app regularly is what you need to do to keep your existing App users engaged.
I always suggest our clients to hold some “cool features” during first phase of App development and release them in future updates. If you offer everything you’ve got in first phase, you won’t have anything to offer in next. So the key is, launch great but keep some greatness for future as well. Also, most of the times it is your user who tells you what more he wants from the app so better wait for your users to tell you before you invest more in creating new features. This reminds me of having a good Feedback form for your users inside the app, beyond the app store review that form will help them talking directly to you.
11. App maintenance, upgrades, integrations
An app in today’s world is a combination of various third party services blended with your code therefore you do need an App development team to regularly monitor and maintain and upgrade your app. The cost of Maintaining an app is pretty reasonable and it is advisable. You can read our older post on App maintenance tasks and cost here –
You need app maintenance services for not only upgrading the App to latest Android or iOS OS, but also to keep it compliant with latest versions of all the essentials APIs like Google, FB, Firebase, Map, Payment gateway etc. Also, you may need to integrate your app with newer services and partners as you grow and therefore you need app developers even after creating an app.
Free App Cost Estimation Tool – App Cost calculator.
By now, you must have seen the popup that asks you to use our App cost calculator. Just in case you’ve not used our cost calculator to know how much does it cost to create an app, you can always invoke that by clicking on yellow button on top left of any page of our site or just click on this link here.
I’ve sincerely tried to share as much information as I could on how to create an app topic so far, and I hope this actually helps the App entrepreneurs who are looking to build the next big app business.
Feel free to send your comments or suggestions on this post or write to me at firstname.lastname@example.org. More good stuff is coming soon!
Infographics on How to Create an App from Scratch.
You may consider read this post to know more about How much does it cost to create an app for small business in 2020?