When a client wants to build the next great mobile app the first question is generally some variation of:
- How long does it take to build a Mobile App?
- How much does it cost to make a Mobile App?
- Can you build me an App like Uber?
- What kind of resources does it take to build a Mobile App?
The initial response to all of these questions is simply “It depends.” The truth behind the time costs and resources needed to build and launch a successful Mobile App lies in the details of what the app is being used for. For example at the high end consider companies like Facebook or Uber. Facebook has teams of people who work on single feature of an Mobile App alone while Uber has over 100 iOS developers that work full time on just their app. While your app may strive to be similar to those someday it is important to understand the context of what you want your Mobile App to do and the Scope of Work it will take to develop it. This will begin to layout the necessary budgeting and time resources needed.
Successful Mobile Apps Begin with a Well Thought Out Plan
The best approach to designing a Mobile App starts with laying the app out in phases. This allows the design to be sectioned out into requirements needed to launch the app and features that can be added in the future to complement the app. The best way to establish these parameters is by creating a Creating a Scope of Work (SOW). A SOW helps businesses understand all the features you want to the app to have what platforms (iOS Android Windows Blackberry) it will be supported on and where all of the data is located. The SOW takes the app from a concept in your head to a document that provides the concreate details which the app will be developed with. The ideas features and requirements for an app constantly fluctuate during discussions so it is critical to get the information written down ensuring that everyone is on the same page for the app development.
Essential elements of a SOW include:
- All relevant points of data to be collected
- Where is the data coming from and where is it stored.
- User Interface and Experience (Login dashboard settings details page).
- Future Features
The more details that can be laid out in the SOW allow a Software Development Team to gain a better understanding of the requirements needed to be successful in creating the Mobile App you envisioned.
Designing a User Interface that Produces a Positive User Experience
Once the SOW is agreed upon our User Interface (UI) team is engaged to develop an initial wireframe for your app. A wireframe works as an initial blueprint of the app. It shows where buttons are located on the screen and how the basic navigation structure for the app flows. By developing an accurate wireframe we are able to gain an understanding of the user experience and review it with the customer for improvements. Differences in user platforms (phones tablets different operating systems) may require multiple wireframes to be developed.
A typical app interaction we see would flow like:
- Login Functionality – Where the user can login with their email username or thumbprint.
- User Interface (UI) – Once the user is logged in he or she will get to their dashboard and see relevant data displayed in a friendly manner. Which in turn creates a great User Experience.
- On the bottom there are menu buttons where the user can do different interactions. For example:
- By pressing the first button a search page would be activated
- On the new screen the user can enter data to be searched for
- Any relevant data would then be displayed on a results page
- This would continue for additional features included in the app
- Settings Page – This is where you can provide the user with the option to customize their mobile application settings.
Once both parties agree on the app layout our graphic designers become engaged to develop the actual graphics for the app. Knowing which mobile devices we are developing for at this point is critical considering the graphic sizes vary for different devices.
Once the design is signed off the graphics are cut up and sent to the development team to integrate into the app.
Making App Data Accessible: Developing Cloud Infrastructure
For the vast majority of business apps the primary goal is to create a user-friendly interface to access data stored on the cloud. For applications that follow this format the primary question is does this data currently exist somewhere already and how/are the data interfaces secured? For example Facebook’s accessible content all the photos videos and comments exist because users upload that data and is then shared on Facebook’s secure servers.
When a user views their timeline the Facebook app checks the server for the latest posts and sends the relevant content to the phone via a secure communication method. Most apps function like this and it’s imperative to establish a secure and encrypted line of communication with the server and the user’s mobile device.
This is typically where we see the majority of the budget sit for apps. If a business is starting from scratch the database and its infrastructure needs to be developed the Application Program Interface (API) end points need to be created for app interaction and the application needs to be hosted in the cloud. If the data already exists on a 3rd party platform it needs to be determined if they can securely access the data. If not it’s highly recommended that a secure feature is created to embed trust in the user. Some considerations for the backend include:
- Where will the data be hosted?
- How real-time is the data?
- How will the communication happen securely between the cloud and the app?
- Are users only reading data or are they passing data back to you?
- Does the cloud application need a separate administrator interface?
How Cloud Infrastructure Works with Apps
As an example we developed an app for a company that sold wireless thermostats that could be controlled from a mobile phone. The thermostat was installed in a home and then connected to the Wi-Fi network. Developing an app that supported the features of the thermostat carried great importance to their business model; however their current data infrastructure did not support this endeavor.
Our first step in developing the app involved creating a system for the thermostats to communicate with a cloud server that stored the current temperature and state. Once that was configured on the server we then generated a website interface for users to change their thermostat settings remotely. Once this platform was in place we created both an iPhone and Android app for universal accessibility; our client diversified the availability of their application to satisfy a larger audience. Overall it was a 6-month project and had two full time employees to build out the infrastructure. But the mobile application piece only took about a 6 week chunk out of that project.
One of the most important things to keep in mind if you’re looking to build an application are the data infrastructure requirements. If your company lacks the required infrastructure to store and handle the exchange of data it could require significant time to securely develop those pieces for your app to interact with.
Merging the App Interface and Data onto the Platforms
Once the specifications are defined design is finalized and the backend data interaction has been developed we are ready to start developing the mobile application. At this point it is critical to understand the behaviors and preferences in which your users exhibit and how accessible your app is to their device application store. Meaning if the app is for general consumers it is best to create the app for both Android and iOS. According to Statista.com about 53% of users in the US use an Android and 45% use Apples iOS platform. Other platforms such as Blackberry and Microsoft are so small they likely don’t need to be considered initially. If the app is internal and your company has a policy of a certain type of phone then you may consider only building for one specific type.
If you are developing for both you should put a priority on which one should be done first. We typically start with iOS because the overall process takes longer to get the app approved but there could be reasons for either one. Another consideration is development time. There are tools available such as Xamarin that allows you to build on both platforms. We typically recommend this method to start as you can release both apps in a much quicker timeframe. As your business grows you may want to consider doing them natively once time and budget allow (a native application is an application that has been developed to perform solely on a specific platform or user device taking advantage of the features and capabilities of the operating system functionality).
As our developers begin integrating with the design of the app and web services they follow the Software Development Lifecycle to build test and deploy the app. This includes interacting with the client to address any usability and functionality questions as they arise. During the process we are in constant communication to address any issues as they arise. We also get the app in front of the client as soon as possible to test functionality. By getting clients involved our development cuts down on wasted time and rewriting of code.
Submitting Launching and Marketing Your Completed Mobile App
Once the final versions of the app are completed it is time to publish your app to the app store. The experience is very different between Android and iOS and it is important to understand the difference.
Apple Controls all App Store Content
Apple fully controls the content allowed on their store. This means that any app that is submitted to the Apple App Store is reviewed by Apple to ensure that it meets their very large terms and conditions. Because of the restrictions that Apple places on apps it is not uncommon to initially get blocked with initial versions of apps when they are submitted. Most initial denials only require minor tweaks to gain approval but it is important to factor in a buffer time to launch an app on the Apple platform. Apple could reject it and they could reject it for an indefinite amount of time without fully giving you a reason.
Google Play Welcomes New Apps
The Google Play Store publishes virtually every app submitted with little oversight. You can publish an app and within minutes it is available on the Google Play store. This obviously cuts down on approval time and is why we suggest working on iOS first if both platforms are desired. For internal only apps you can compile a file and email it to your employees. They can install it on their phones and have access to the app without having it in the public domain. Now that your app is out market it!
Constant Operating System Changes Require Constant Monitoring
Mobile apps are just like desktop or web based software solutions in that the available functions and usability is constantly changing. For example the latest iPhone X now has facial recognition software built into it Siri’s capabilities are growing with each iOS release and screen sizes change with each launch. With each new operating system release it is important to update your app not only to take advantage of the latest features but to ensure compatibility moving forward with your app.
If you look at the iOS support Matrix you’ll see that iOS 9 is not supported on the latest phones. So if you’re app was built for iOS 9 and users upgrade their phones you need to make sure your app will support the latest iOS versions. In addition errors do happen and through robust error reporting you can capture the times when the app crashes and fix those issues in subsequent versions.
All of the apps we develop come with an annual maintenance plan at a minimum and more often in most cases. Facebook puts out a new update every two weeks! While you don’t need that often it is important to keep your app up to date.
The Final Answers to Mobile App Development
As we have laid out there is no definitive answer to the questions about the costs time and resources that will be needed to create your Mobile App. Costs and start from a few thousand dollars for an extremely basic Mobile App with limited features and functions to hundreds of thousands for a highly detailed app with lots of features and data. Similarly the time needed to design an app fluctuates greatly depending on the required backend programing features and functions.
Following the initial planning steps that we have laid out in this article will help you gain an understanding of what you will need and will give you a great starting outline to review with you Mobile App Developers.
CTS’s Mobile App Development Team Can Help
At Capitol Tech Solutions our software development managers will work with your business to guide you through the process of developing a mobile application. While at first it may seem daunting we can help you understand each piece of the puzzle that results in a successful mobile app. Contact us today to get started in mobilizing your business!