Skip to Content

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 https://developer.apple.com/Instruments

Tools for Android

Tool Description Link
DDMS Shows heap memory usage http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html
Eclipse Memory Analyzer Tool to analyze heap dumps http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html

http://kohlerm.blogspot.com/2010/02/android-memory-usage-analysis-slides.html

Traceview Profiler http://developer.android.com/guide/developing/debugging/debugging-tracing.html

http://android-developers.blogspot.com/2010/10/traceview-war-story.html

Hierarchy Viewer Tool to optimize the user interface (remove unnecessary UI elements etc.) http://developer.android.com/guide/developing/debugging/debugging-ui.html
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
http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html

http://aurir.wordpress.com/2010/03/22/tutorial-getting-android-emulator-working-with-fiddler-http-proxy-tool/

For details see https://developer.android.com/

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply