The mobile apps that are developed by an enterprise may have certain unique features but there are a percentage of features that are common to all apps.


Defining and fine tuning the behavior, appearance, development and performance of these common features may take rigor and multiple iterations but will yield ROI in the effort saved when using these features as plugins into new mobile apps that need to be developed.

Many of the examples provided below are a starting point and enterprises will find that they can add more features into their reuse repository as their mobile app portfolio grows.


  1. Build a mobile app design repository componentizing the functions that can be reused. This is important not only for reducing the cost but also bringing a consistent user experience across all apps. For example, have wireframes designed for common features like
    • Registration
    • Login / Login Help
    • Profile
    • Location Services
    • Search
    • Settings
    • Messages
    • Menus Templates

2. Define the requirements for common mobile app functions at a parent level. Examples of functions that can be defined for use across multiple apps are:

  • Saving app credentials on device for easy login
  • Password changes and password refresh rules on the mobile app
  • Managing user sessions across mobile devices and platforms
  • Managing User Profiles
  • Search behavior
  • Location Services
  • Push Notification Handling
  • Handling Network Connectivity Failure
  • Handling offline functionality
  • Payment Integration
  • In-app purchase modules

All new mobile apps can use these common specifications as the base and add the app-specific features requirements on top.

3. Build a framework library of these common functions for integration into the app. For example, libraries that provide the following features can be reused over and over again:

  • Authentication and authorization
  • Geo-location functions
  • Maps Functionality
  • Photo and Video capture via device camera
  • Push Notification Handling
  • Handling Network Connectivity Failure
  • Handling offline functionality
  • Error Handling
  • Social Media Integration
  • Data loading mechanisms e.g. lazy loader
  • Screen animations, loader and popup/alert styles
  • Mobile app analytics SDK integration
  • Connecting with standard external devices
  • Charting and graphing libraries
  • Custom-built but reusable widgets – calendar pickers, sliders, dials, list views etc.
  • Image resizing and proportional scaling

4. Use the existing backend components and infrastructure to provide the data that drives the app. For example, if a mobile app depends on workflow rules that are being used by another application, reuse the rules and the rules repository for the mobile app. This is important both for reuse and consistency. Expose existing data as web services instead of building out new data structures.

5. Build a test suite that handles common test scenarios across all your mobile apps. For example, the test case suite would consist of the following scenarios:

  • Memory Testing
  • App Impact on Battery Life
  • App Performance for Geo-Location Scenarios
  • Testing app on multiple OS and screen sizes and resolution
  • Testing common features such as login, authentication failure, push notifications, offline features etc.
  • Testing network and server connectivity scenarios
  • Testing with simulating interruptions such as incoming calls

Reuse is not just for code and code libraries but across the various lifecycle stages of mobile app development.

What will a CIO’s To-Do list look like in 2016? Distilled here are the 5 areas of focus and priority that find a place in the to-do list of these technology visionaries in 2016.

Download this free ebook to learn more.