How To Build A Mobile App

Apps are ubiquitous nowadays. They’re helping businesses and consumers alike. People want to build apps to enhance their business opportunities, but have no idea where to start. This guide will hopefully get them started in the right direction

The Study Phase

  1. You have an idea for a mobile app which you are seriously thinking about. The first step would be vet out your idea before proceeding further. The idea is to find whether your app creates a value for your end customer. You can find that out by speaking with people directly or on online forums. When asking people about your idea, do not ask them whether the idea you have will solve their problem. Always ask them about their problems which you are going to solve. Then you yourself examine whether your solution is what the customers need.

  2. Once you are through the analysing process, the next thing which you should do is make your own app idea very clear to yourself. You do this by writing a detailed description of how your app is going to work. When writing about the app’s functioning, also create wireframes for each and every screen which the app is going to have. Create the screen layout for even the smallest part of your app. By doing this process, you get a feel of your end product. You understand the app’s flow as you had envisaged Vs as it should be. Make the changes which you feel are necessary for a good user experience.

  3. While building an app, on of the most important part of the app is the on-boarding process. If your app’s on-boarding process is straight forward, more people are likely to register for your app. So make the process straightforward for the customer.

If you are a UI/UX designer yourself, up until this point, you would have already taken care of the UI of the app. If not, then you might want to consider hiring a good UI/UX designer for creating the app’s UI. For the development team, this step is going to be very important. The UI designer uses advanced tools like Adobe Photoshop and Illustrator for creating a mockup of how each of the app’s screen will look on your phone. The styles and icons created by the UI designer can be directly used by the developer when creating the actual app. Understanding the technology

Please note this point as the most important point for getting your app developed. There are basically two ways in which the developer can create a mobile app for you : (Please also note the terminologies used below as it will help you in communication with the developer in the future)

Native App: A native app is created by programming directly in the technology provided by the device maker. For e.g. for Android, native app refers to the app which is created using Java, android SDK and other tools. For iOS, it would be programming in Objective C and Swift programming language.

Pros : The benefit of creating a native app is that it gives the best user experience possible on the mobile device. It grants you access to device specific assets which enhance the overall look of your app The App Store (iOS Particularly) has an unofficial preference for native apps. They love native apps.

Cons : High overall cost of development since the developers have to write separate code for each platform. May require more developers since each platform demands its own expertise. For developers, maintenance of two separate code bases means that even a small change will require modification to two code bases separately.

Hybrid App: A hybrid app is created by using web technologies like HTML & Javascript. The app thus created is then packaged into a native app container which acts like a web browser showing HTML pages. . There are many pre-developed technologies available on the internet to choose from. E.g PhoneGap (free), Appcelerator Titanium, etc.

Pros : Lower cost of development since only one code base for multiple platforms. Can be developed using a smaller developer team since the expertise of only the web platform is required. One one copy of source code means easier maintenance. Very fast speed of development. Cons :

The User experience is not comparable to the native app. Even the best of the frameworks for hybrid apps can deliver half of the fluid experience which the native app delivers. Advanced game development not suggested using this. Have to depend on third party technologies using which the app has been built to add new features given by the manufacturers. The method of development you should choose really depends upon your budget. If you have an idea which requires a fantastic UI/UX, you should really stick to the developing app using Native technologies. Although, if your app does not require that much fluid UI and it based on simple inputs from the user .e.g application forms, seat booking, etc., you should go with the hybrid app development approach.

Choosing the developer, Contracts & Project Costs

Choosing the right developer for your app is the most important step for your entire app development lifecycle. You might meet a developer who claims that they could do whatever your requirements are. This is usually a red flag. Please don’t be overly impressed with that. Please note that the right kind of app developer who has previous knowledge in developing apps will always tell you what is possible and what is not. What you really need during the development process of your app is the developer who not only does what you have asked him to do but also suggest other options which you can opt for. He should also warn you about certain pitfalls if he foresees them. Hence for choosing the right kind of developer, it is recommended that going with a reference first rather than just hiring someone from freelancer sites.

Once you choose your developer, the next thing to do is draw up a contract with him. Even if you know the developer personally, it is always always better to have all the terms and agreements on a piece of paper before beginning any work. The contract should contain the following things:

Non Disclosure Agreement (NDA): If your app has a unique idea, or a different process to do a particular task, put all that down in the NDA so that it protects you, your app as well as the developer from any misunderstandings.

Scope Of Work: The scope of work includes the detailed writeup and mockups which you have created. This should be agreed by the developer and he should add his notes to this section.

Cost of Development & Payment Terms: Developers always refer to a term called ‘Man Days’. You need to understand this term before going any further. Consider an example where the developer is telling you that for development of a particular module it will require 100 Man Days of efforts. This does not necessarily mean that it will take 100 days in your calendar for him to complete the work. What it means is that on his side, if a single person or a ‘Man’ starts working on the module, it will take him 100 days. So, if he has 4 people working on the module, it will take 100 / 4 = 25 days in your calendar for completion of the task. The developer will thereafter tell you his development rate in ‘Cost Per Man Day’ where a Day usually means 8 working hours. There are two approaches which people undertake for payments - Fixed Cost Project - You discuss with the developer and finalise on a particular price for development of the app. Once that is done, you need not pay anything else to the developer for how long it actually takes for the project to get completed. For the fixed cost project, usually the developer will suggest payment for particular milestones of project development. This is a standard practice. Just make sure that you read and understand the milestones properly before proceeding.

Retainer Arrangement: You and the developer finalise on a certain amount of money per month and you pay him that amount per month for the total months required for developing the app. In this type of arrangement, the developer and you have to be in sync for the work being done. Have the developer submit to you time requirements in days of each module he is developing. Speak with him and understand why the said time is required. Selection of either method depends upon what you are comfortable with.

Other Costs: Developing an app may require you to bear some added costs apart from the cost of development. If your app requires a back end server to maintain user records or other things, you will need to purchase a server or a virtual server on which your server side application can be hosted. There are several server hosting solutions available to opt from. The price of them varies depending upon how powerful server you have chosen from. For purchase, installation and usage, your developer will be able to suggest you the best choice depending upon your apps requirement.The other expense which you will have to bear is the purchase of development license for iOS platform if you need your app to be on Apple Store. The cost of the license is $99 per year.Once you purchase the license, you can deploy the app to the Apple’s App store. Please note that now you are not required to purchase a license if you just wish to develop and test the app. The license is only required for pushing the app to the store.For Android app, you do not require any license for development. If you want the app to be available on Google Play Store, you will require to purchase a one time fee of $25.

Please check the updated prices again when making the actual decision.

Other Terms: Other terms must be mentioned explicitly and agreed up by both parties before beginning work. These terms typically include the following things: - Cost of development beyond the scope.

  • Ownership of the source code & licenses of the app.

  • Responsibility of maintenance of the server and app store deployments.

  • What happens to the project / source code if the developer backs out mid way Or if you wish to discontinue with the developer mid way.

The Development Phase

The next step is the actual app development process by the developer. Always assume that even though you have brainstormed and finalised on certain points for the app, the developer may come back to you asking for changing something or the other in the app’s functionality or UI. Understand that certain things during the app development process are only clear when the developer actually starts coding and notices the problem. Some problems can only be found out when you encounter them. Although, if this happens more frequently than not, consider asking the developer to consult with an expert from the mobile development industry.

During the development process, one thing you should do is confirm with the developer that they are using proper source control mechanisms. What this does is, it ensures that the source code is safe even if any computer at the developer’s end break’s down. In case the source code is lost or damaged, the costs can be very high.

Once the development process advances, the developer will send you work-in-progress builds for you to check. Ideally, the developer will do the testing from his side. What you should do here is test it again from your side. You can do this either yourself or hire a tester/testers depending on how big the app is. Note that the developer might do the testing only in a positive scenario. When you do the testing, you can check for all the scenario’s which your end user might face. When you have your testing results, share it with the developer using either a bug-tracking spreadsheet or a bug-tracking tool. Development & Testing is a repetitive process which will take a lot of iterations before the final and clean product is out but the this time investment is always worth it. Remember, users are a fickle bunch - if they find a lot of bugs in your app, they might delete it and not use it even if you improve it in the future.

Distribution

Once through the above steps, your app will be ready for distribution. For distribution, there are few things to consider. For an Android app, if you submit to the Play Store, as per our experience it usually takes anywhere from 4 to 8 hours before the app starts appearing in the store search results.

For iOS app however, the developer has to submit the app to the iTunes Store. What Apple does then is it reviews the app, tests it their side and then decides whether or not to approve the app on the app store. This process can take anywhere from a week to 15 days. Recently, people have noted that the review times have gone down below 5 days but it has not been officially declared yet. It should be noted that for a few days in the year e.g. Christmas holidays, the app store review process remains halted. When your app is in review, the team at Apple might come back to you with several questions regarding the app. Be ready to answer them. Once they get satisfactory answers, they will approve the app and it will be available on the app store. Even if you are pushing an update for an existing app, it requires the same amount of time for the review process. There is an option to request an expedited review process. This however, is accepted by Apple if they feel that the reason you have provided is genuine.

Subscribe to Our Monthly Newsletter

Get a curated list of the latest trends, news and articles regarding enterprise software in your inbox every month

Preview Newsletter

Contact Us

We are here to solve your problems & turn your ideas into reality. Get in touch and let's make something great together.

Get Free Quote

info@resonics-tec.com +91 986 030 1982

Where To Find Us

5/4 Bellevue, United Western Society
Karve Nagar, Pune 411052
Maharashtra, India

Follow Us

Sitemap