Mobile Apps Platform
- Mobile App / Web App Development Process
- Mobile App / Android, iPhone App Development Cost
- Native App Development vs Hybrid / PhoneGap App Development
Web Apps Platform
- Web Application Planning
- PHP vs ASP.net Comparison
- Ruby on Rails vs PHP Comparison
- Web Application Framework Comparison
- Web Application Development Process
- Guide to Web Application Development
- Internet Database Development
- PHP & MySQL Development
Online Business
- How Start an Online Business / Store
- Magento Issues
- Website Launch Checklist / Ecommerce Application Launch Checklist
- Enterprise eCommerce Platform
- Magento vs OScommerce vs Zen Cart vs OpenCart Comentum eCommerce Comparison
- Best eCommerce software
- What is PCI DSS Compliance
- eCommerce SEO / Shopping Cart SEO
- FAQ, Comparison and Guide to Merchant Accounts and Payment Gateways
- e-Business Strategy and Process
- Internet / Online Business Ideas and Strategies for Entrepreneurs
- Hiring a Web Application Company Considerations
- How to Hire a Good Web Application Development Company
- Web Development Cost Comparison
Server and Hosting
- Amazon EC2 vs Rackspace Cloud vs Linode
- Cloud vs Dedicated Servers vs Colocation Comparison
- Dedicated / Managed Hosting Comparison
- Shared Hosting vs Managed Hosting
- Domains, DNS, Web Hosting, Email
- Domain Name System and DNS Servers
- All About Domain Name Registration
- Email Services Comparison
- Who is winning the spam war?
- Email Services
CMS Applications
- What is Content Management System (CMS)
- Drupal vs Joomla vs WordPress CMS Comparison
- Enterprise CMS Comparison - Summary
- Enterprise Content Management System vs Open Source CMS - Detailed Guide, Security, Performance Statistics
- Pros and Cons of Wordpress, Joomla, Drupal
Marketing
Design
Mobile App Development Cost and Process
iPhone App Development Cost / Process, Android App Development Cost / Process
Often clients ask me to provide them with a ball-park cost to develop an app, so they can decide on a budget or approach investors to raise money for the app project.
In this article, I will go over the mobile app development process, different talent requirements, and items that affect the mobile app development.
Mobile App Development Process
Below items show the typical process of mobile app development:
- Wireframing - Wireframing is an important process of building an app; this is because it will build the foundation of how the app needs to be designed and function. One important thing to note is that with mobile apps, it will be much more time-consuming and costly to redo the screens or rebuild functionality than a web app, so, it is important to build the wireframes before starting the development. During the wireframing, an app UX specialist and an app developer need to have discovery sessions (brainstorming) with the project owner to iron out how the app is going to be designed and function.The more complexity, or the more screens the project has, the longer it will take to complete the wireframing. To complete the wireframing, an app UX specialist wil draw up the navifgation, screens, and all of the elements that goes into the app screens and and noting the functionalities for each screen.
- App Screen Design - Designing the app screens (front-end) for both iOS and Android.
- App Programming - Programming the app screens (front-end) for both iOS and Android.
- Application / Database Framework - Setting up the application's server-side framework (cloud / back-end) and creating the database structure.
- Server-side Application Programming - Writing all of the server-side code for implementing the back-end functionality.
- APIs Development - Writing all of the APIs that connect the app screens to the server-side application and database.
- Usability QA - Testing the app screens for bugs and fixing any issues.
- Multi-platforms, Multi-devices, OS versions, Resolutions QA - Testing the app on all different platforms (iPhone, Android, Windows Phone) and different OS versions of each platform (Apple iOS has two popular versions: iOS 8 and iOS 7, Android OS has five popular versions (Android 4.1,4.2,4.3,4.4,5.0), Different resolutions of different mobile devices (between different devices of smartphones, phablets, and tablets, there are quite a bit resolutions to test for and it can be time-consuming.)
- Back-end QA Testing the back-end code for performance and security.
- Cloud Setup - Deploy the server-side application to the server / cloud.
- Submit to App Stores - Deploy the app to the App Stores.
Talent needed to Build a Quality Mobile App
Building a quality mobile app requires many steps and requires different talents with different specialties:
- For wireframing, a UX (User Experience) Specialist who has experience in building app screens with the best user experience. A UX Specialist should know the app conventions and rules of showcasing the navigation and elements on the screens making it easy for users to better navigate the app and find what they need, in the right priority.
- For designing the app screens, the Designer needs to know how to design for different devices: iPhone, Android and Windows phone screens. In short, the Designer should have the experience and the vision of how different objects or graphic elements are going to look on small phone screens and different resolutions. The Designer also needs to use the right size, right graphics and icons, and themes for the app.
- For programming the app screens, the Programmer needs to have experience in using Xcode environment with Objective-C or Swift for iOS, and Java for Android. Usually, programmers become specialized in either iOS development or Android Development.
- For writing the server side application and APIs, the Programmer needs to have experience in writing maintainable code with best security and performance.
- For QA, the Quality Assurance Specialist and Tester needs to be detailed oriented and have experience in looking for the functionality and design issues that are usually not easy to see by the Developers.
- Deployment of the server-side application goes beyond being a Developer or Programmer; it requires an experienced Programmer and a Cloud Specialist, sometimes refered to as DevOps. The DevOps needs to have experience in installing the application, create a reliable server environment, database redundancy, backup, security, performance and scalability of the application.
- Deployment of the app to the app store is usually an easy task.
So, when you look at the talent requirements of building an app, you will realize that to build a quality app that is nicely designed, user friendly, functional and scalable, you will need different talents with different experiences and specialties, and this can add substantial cost to the app project.
Mobile App Development Ball-park Cost
Based on all of the talents that are needed and all of the work and process that goes into building an app, I created below, a ball-park cost estimate on building apps.
To read more about native app development vs hybrid app development, click on below link:
https://www.comentum.com/phonegap-vs-native-app-development.html
Project | Small MVP | Small Enterprise | Medium MVP | Medium Enterprise | Large MVP | Large Enterprise |
Discovery and Wireframing | $1,500 | $2,500 | $2,500 | $3,500 | $5,000 | $9,000 |
App Screen Designs | $2,000 | $3,000 | $3,500 | $5,000 | $5,000 | $9,000 |
iOS native development | $9,000 | $11,000 | $37,000 | $45,000 | $60,000 | $90,000 |
Android native development | $9,000 | $11,000 | $37,000 | $45,000 | $60,000 | $90,000 |
Back-end Programing, Database and APIs | $5,000 | $7,000 | $9,000 | $10,000 | $12,000 | $12,000 |
Application Administration | N/A | $7,500 | $9,000 | $15,000 | $10,000 | $20,000 |
Quality Assurance and Refinements iOS | $2,000 | $2,500 | $5,000 | $6,500 | $7,000 | $9,000 |
Quality Assurance and Refinements Android | $2,000 | $2,500 | $5,000 | $6,500 | $7,000 | $9,000 |
Deployment and Cloud | $1,500 | $2,000 | $2,000 | $3,000 | $2,000 | $3,000 |
Total (One Platform) | $21,000 | $35,500 | $68,000 | $81,000 | $101,000 | $152,000 |
Total (Android and iPhone) | $32,000 | $49,000 | $110,000 | $125,500 | $168,000 | $251,000 |
Project | Small MVP | Small Enterprise | Medium MVP | Medium Enterprise | Large MVP | Large Enterprise |
Discovery and Wireframing | $1,500 | $2,500 | $2,500 | $3,500 | $5,000 | $7,500 |
App Screen Designs | $2,000 | $3,000 | $3,500 | $6,000 | $5,000 | $9,000 |
Hybrid App Development using PhoneGap technology | $10,000 | $12,000 | $38,000 | $45,000 | $65,000 | $100,000 |
Back-end Programing, Database and APIs | $5,000 | $7,000 | $9,000 | $10,000 | $12,000 | $12,000 |
Application Administration | N/A | $7,500 | $9,000 | $15,000 | $10,000 | $20,000 |
Quality Assurance and Refinements | $2,000 | $4,000 | $5,000 | $7,000 | $9,000 | $11,000 |
Deployment and Cloud | $1,500 | $2,500 | $2,000 | $3,000 | $2,000 | $3,000 |
Total (Android & iPhone) | $22,000 | $38,500 | $69,000 | $89,500 | $108,000 | $162,500 |
Mobile App Development Cost Factors
The cost of developing a mobile app is based on these factors:
1. App Platforms and Environment
Building for all platforms substantially increases the cost. This is because Apple iPhone uses Xcode IDE and Objective-C or Swift Programming Language, Android uses Java Programming Language and Windows uses C# Programming Language.
If the developer needs to build the app for all platforms, and the app needs to be built using the native programming language of each platform, the cost of development will be doubled or tripled because of the amount of time that is needed to build the app using different programming languages of each platform.
If the app can be built using hybrid development technology, the developer can build it once using, for example, HTML5, CSS and JavaScript and use PhoneGap to prepare the app for all platforms. This can reduce the cost substantially, of building for all platforms.
To read more about the differences between native app development versus hybrid app development, use the below linked article:
Native App Development vs Hybrid / PhoneGap App Development
2. Customizations vs using Standard App Widgets and Convention
The more customizations that you make, the more time it takes to develop your app.
Also, it is good to know that the app development environment for each platform provides certain widgets for building the standardized convention such as navigation, changing screens, animations, and other app user interaction elements. When using the standard convention, the app development cost will be more cost effective.
3. Number of App Screens
The number of screens has a direct impact on the cost; the more screens you have, the more work will go into building the app.
4. Complexity of the Screens
It is recommended to build cleaner (and less busy) screens with simple navigation that uses standard app conventions. This will provide the best user experience and reduces the cost of development.
If you build busy screens with many complex navigational elements, the cost of the app development will be higher
5. Ecommerce and In-App Purchases
Anytime you are working with money, the developer needs to be extra careful with the calculations and security.
So, in-app purchases and dealing with money add more time to development because extra time is needed to make sure that the calculations are accurate, and the app is secure.
Even after the development is completed, I would recommend doing additional testing on transactions to guarantee the accuracy of the calculations before going live with the application.
6. Integration with the Third Party APIs
When the app needs to communicate with other services, the developer needs to learn and interface with third party APIs.
This will require extra time to learn the third party APIs and implement them correctly. In many cases the developer cannot assess the amount of work that is involved in interfacing with third party APIs until he/she spends some time learning the API and interfacing with it.
7. Complex Animation
Customized and complicated animation and games can take substantial development time.
Complicated animations that do not provide any practical purposes can also slow down your app and frustrate the user. So, try to stay away from complicated animations that do not serve any practical purpose.
8. Support for Multiple Mobile Screen Resolutions
There are three types of mobile devices:
- Smartphones - examples: Apple iPhone 3,4,5,6 or Samsung Galaxy S2, S3, S4, S5, or LG Nexus 4, 5.
- Phablets (the screen size is between Smartphone and Tablets), examples: Apple iPhone 6 Plus or Motorola Nexus 6.
- Tablets examples: Apple iPad multiple versions, mini multiple versions, Air, Samsung Galaxy Tab (multiple versions)
The above devices all have different screen resolutions. For the newer versions of the devices' OS, there are ways to resize the content to match most screens, but to build custom interfaces to support all screen resolutions can be very time-consuming and costly.
9. Support for all versions of the devices operating system (OS)
Below is the list of all mobile devices OS versions and all popular OS versions. If you are looking to support all of the OS versions of all devices, the cost will be much higher.
I would recommend selecting only the popular versions of the devices OS to support.
- Apple's Mobile Devices Apple's Mobile OS is called iOS. iOS has versions ranging from version 1.0 to 8.0 (released on September 2014).
Below is the list of popular iOS versions, and approximate percentages of their market share as of February 2015:- iOS 8: 80%
- iOS 7: 19%
- Android's Mobile Devices Android OS has versions ranging from 2.2 to 5.0 (released on November 2014)
As of February 2015, the popular Android OS versions are: (percentages are approximate)
- Android OS 4.4: 60%
- Android OS 4.3: 7%
- Android OS 4.2: 13%
- Android OS 4.1: 12%
- Android OS 5.0: 5%
- Windows Mobile Devices Microsoft Phone OS has versions ranging from 7 to 8 (released on October 2012) At this point I do not have enough data to provide the approximate percentage of each version's market share.
10. Offline Support
Developing for offline support functionality can be time-consuming and in turn will increase the cost of development.
11. Continuity / Handoff Feature
Handoff feature provides the functionality of connecting and sharing / moving information and data between different devices.
Building handoff functionality can be time-consuming and can add substantial cost to the project.
Research for this article was completed February 24, 2015; information may change.
Bernard Kohan is a mobile app and web application development and technology analyst expert. He is available to discuss any issues or questions you have about web development and the best choices for your company or project.
Bernard can be reached at
619-990-1212
Contact Us »
Joseph Montanez is the head of Comentum's programming department, and technology analyst expert at Comentum.
Innovative Mobile App Experts
GIVE US A CALL
619-990-1212