2+1 Strategies for Mobile Application Development

Do you have an intent to start a mobile application project and have too many questions in your mind? Here are the five Ws of a mobile application development project:

  • What do you want to be developed?
  • Why do you want it?
  • Who will develop it?
  • Where will they develop it?
  • When will they develop it?
  • How will they develop it?

This article can help you to answer these questions and find the most suitable mobile strategy in accordance with your expectations.

 

Regardless of the industry or the market, customers are expecting a mobile presence from every company they interact with and every day another company faces the challenge of developing a mobile application. Mobile web or hybrid approaches may provide temporary solutions, but as we emphasized in various blog posts, your mobile presence is not compared with your competitors, it is compared with the best in class and commonly used applications like Facebook or Twitter.

Therefore, the decision is not about developing a native mobile app or not, it is about how to develop it in the most productive and suitable way for your mobile presence strategy.

There are too many things to consider:

  • Technology: Which platforms should you target? (e.g. iOS, Android, Windows Phone, Blackberry, Tizen, etc.) Which form factors should you include? (e.g. Phone, Phablet, Tablet, Wearables, etc.)
  • Project management: Average development of a single mobile app development takes approximately 18 weeks (source) and lifetime of a mobile application project is less than 2 years.
  • People management: The demand for mobile app developers expected to be saturated in 2020 (source) and the cost of a mobile developer is 1.7 times as much as a senior web developer.

Having a mobile application is not a luxury anymore, but the traditional strategies of outsourcing and platform-based in-house development still require extravagance and forgoing one thing or another:

 

Outsourcing mobile development projects

Receiving professional services from a third party company experienced in mobility to develop mobile apps. Way of working includes models like turnkey projects, project-based consultancy, on-premise human resource supply, etc.

Advantages

Disadvantages

  • No internal experience needed with highly experienced and well-established developers
  • No need to worry about platforms and fragmentation
  • Project management and project risk externalized
  • Faster time-to-market with experienced developers
  • More expensive on an hourly basis, change requests after project completion can be even more expensive
  • Difficult to learn and internalize mobility within the company
  • Project dependency on third parties
  • Mobile application is a living project and dependency is persistent as the lifecycle repeats
  • Reduced agility
  • Sharing company information with external parties
  • Potential communication issues with internal and external parties
  • Remote working problems with developers (e.g. enterprise systems may be inaccessible from outside)
  • Potential intellectual property (source code) issues

 

To avoid high costs of local resources, mobile development can also be outsourced to other countries where resources are less expensive, but this causes additional problems like culture clashes, time zone differences and quality problems.

 

In-house platform-based native development team

Hiring mobile (Objective-C, Swift, Java) developers, analysts and testers for each platform for development and maintenance of mobile applications.

Advantages

Disadvantages

  • Mobility can be internalized easily
  • More agility in development
  • Easier management of resources
  • Full control over development
  • Knowledge stays inside the company along with aligned interests of developers
  • No intellectual property (source code) issues

 

  • Expensive to hire and keep native developers and other resources separately for each platform
  • Learning cost for the company for each platform
  • Mobile application is a living project and learning the dynamics of the mobile world is a never ending process
  • Separate projects to manage, develop and test
  • Slower time-to-market especially in the first projects
  • Project dependency on people
  • High circulation rate for developers
  • Higher than average developer salaries causing conflicts with other employees
  • Especially less productive after project completion just to maintain the application for two platforms

 

In both cases, there are high costs associated with entering to the mobile world. These costs are either paying for the experience of outsourced developers or internal learning cost.

With Smartface, there is a third alternative, which combines the advantages of both approaches. You can quickly enter the mobile world without worrying about these costs and other disadvantages.

 

Cross-platform native development with Smartface

Develop native iOS and Android apps by using existing development resources with single JavaScript codebase.

Advantages

(click for more details)

Disadvantages

  • Current development team can switch to mobile just with their current knowledge
  • Low learning cost with facilitating features like drag & drop WYSIWYG design editor and Android and iOS emulators on Windows
  • Transparency from platform differences, device fragmentation and OS updates
  • Only one project to manage, develop and test
  • Faster time-to-market with single codebase and ease of use of JavaScript
  • Agility in development
  • Full control over development
  • Eliminating project dependency on people and third parties, keeping knowledge inside the company
  • Project maintenance is more productive with shared resources with frontend/backend developers. Same person can develop the same project for web and mobile channels.
  • Plug-in support for easy reuse of development packages
  • Built-in enterprise plug-ins
  • No intellectual property (source code) issues
  • Dependency on a platform
  • Perpetual license fees
  • Some niche features of platforms not built-in
  • Potential resistance to a new tool from current iOS and Android native developer team

 

Dependency on Smartface may seem a disadvantage, but it is an advantage as well. You do not need to worry about different devices types, platforms, OS updates, etc. Smartface creates a transparent layer for you and takes care of such complications within the framework.

 

iOS and Android version and fragmentation timeline

 

Just keep your project upgraded to the latest version of Smartface and you are all set and if you do not want to develop everything with Smartface, you can always use Java/Objective-C/Swift codes in your Smartface application with the plug-in support.

Moreover, Smartface reduces dependency on people and the knowledge is kept inside the company. With features and components designed for the specific needs of enterprises, you can easily build fully integrated company-wide systems, allowing the standardization of processes and enhancing them with mobility.

 

Therefore, we recommend you to choose your mobile strategy wisely and consider all factors such as

Download Smartface now and start developing your apps right now free, without dealing with a third party developer or worrying about hiring a new developer.