Skip to Content
Author's profile photo Former Member

Enterprise Mobility – Performance Know-How

Enterprise Mobility : Business Importance

  • Tablet industry growing from 233 million in 2013 to 1 billion  in 2017 for a CAGR of 36%, according to Yankee group
  • According to a recent study, By 2015, the world’s mobile worker population will reach 1.3 billion, representing 37.2% of the total workforce. According to an updated forecast from International Data Corporation (IDC)
  • Mobile analytics gives enterprise organization the ability to analyze, collaborate, and act within a single workflow for better decisions – across lines of business and in any industry, which involves high volume of business data in the backend
  • Utilizing mobile devices requires that by considering limited CPU speed, reduced memory and storage, narrow bandwidth and high latency connections, and limited battery life
  • Complex device/user traffic

Increasing Complexity.png

  • High user experience (Mobile ≠ Desktop !!!)

User Experience.png

  • Devices with different hardware configurations
  • Diverse network connectivities/technologies

It is important to achieve good performance and scalability with Mobile Enterprise Applications.

Enterprise Mobility – Architecture

Enterprise Mobility Architecture.png

Important Performance KPIs for Mobile Applications

  • End 2 End Response : Very high priority KPI in the customer perspective. This will be the combination of response time from each layer(Device to Middleware to backend to device).

Remark : E2E response also includes the network latency. LAN network latency b/w different application server back ends with middleware and WiFi/3G/4G network latency, where device operates. Since control over network latency is limited, tight coding standards to achieve better performance is important.

  • Roundtrips : one network roundtrip per user interaction step.
  • Transferred data volume : Keep the data volume as low as possible (approx. 10 ~ 20 KB per user interaction step).
  • CPU Time : Minimum device CPU consumption.
  • Memory : Minimum memory consumption.
  • Memory Leak : Zero memory leaks

Performance Characteristics – Offline Application

offline App.png

Data Volume and Throughput Characteristics

  • App performance is determined by device persistence performance
  • Typical number of total BO instances on a single device is dependent on the platform
  • Typical throughput of 100 uploaded CRUD messages per device and day

Resource Consumption on Server Side

  • Low performance impact on backend system
  • DOE is the multiplying component
  • Typically two synchronization peaks per day (Morning and Afternoon)
  • Sizing of landscape is critical because of idle vs. peak time

Performance Characteristics – Online Application

Online App.png

Data Volume and Throughput Characteristics

  • Each device is fetching the business data from the backend
  • Low number of screens/objects
  • Low number of CRUD messages per device and day
  • Recommendation: not more than 100 objects per screen/list

Resource Consumption on Server Side

  • High performance impact on backend system
  • One device user is creating a backend load equivalent to one online user
  • App performance is determined by server stacks and connectivity

Performance Recommendations :

App Implementation

  • Smart caching mechanism is essential for good performance. Reuse configuration/customizing data
  • Think about doing asynchronous prefetching of business data
  • Splitting the data that is retrieved into multiple requests. Load important data first, display it and then retrieve the remaining data e.g. pictures asynchronously
  • No more than two round trips in parallel, because GSM/3G networks will add because of serialization and low bandwidth a lot of response time
  • Keep data volume at a minimum, recommendation is 10 KB compressed data volume per screen

Architectural Design

  • App performance is determined by server stacks and network connectivity
  • For optimal performance the app design has to follow the backend applications
  • Keep the resource consumption in backend at a minimum to ensure good response time

Performance Tools

Tools for iOS

Instruments can be used for analysis of most of performance related issues

  • Memory Leak detection
  • Memory allocation
  • Method Profiling
  • Frame Rate of views with animations
  • Battery usage
  • Test Automation

Fiddler can be used for analysis of HTTP communication

For details see

Tools for Android

Tool Description Link
DDMS Shows heap memory usage
Eclipse Memory Analyzer Tool to analyze heap dumps

Traceview Profiler

Hierarchy Viewer Tool to optimize the user interface (remove unnecessary UI elements etc.)
Fiddler Tool for monitoring network traffic.
The provided link shows a how to on an iPhone Device.
The how to on an Android Device will be provided from our side

For details see

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.