5 Ways To Reuse Assets and Reduce Cost When Building Enterprise Mobile Apps

The mobile apps that an enterprise develops may have certain unique features, however a percentage of features 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 this will yield ROI from effort saved when using these features as plugins for new mobile apps.

Many of the examples provided below are a starting point. You can add more features into your reuse repository as your mobile app portfolio grows.

1. Build a mobile app design repository componentizing the functions that can be reused.

This is important not only to reduce the cost but also to bring 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 include:

  • Saving app credentials on the 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. Then 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
  • Managing User Profiles
  • Photo and Video Capture via the 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, 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 can also be used across the various lifecycle stages of mobile app development.

Topics