Retail businesses that build successful mobile apps do more than just display catalogs of products, they shape the entire in-store and online experience, facilitate price comparisons and purchasing, and create interesting and dynamic ways to engage and interact with customers while maintaining app efficiency.
We all use apps to locate our closest drugstores, coffee shops, supermarkets, home improvement store, and the list goes on and on. According to a recent Multichannel Retail Survey, 41% of US consumers use a mobile device to find a retailer’s nearest store or opening time. Almost a third (32%) of UK customers showed a similar behavior.
Our own recent data(i) shows that Store Locators are one of the most commonly used APIs in modern retail apps - There has been a greater than 400% increase in Store Locator API use in 2013.
(i) We used Apigee Insights to collect and process API traffic data, examine API traffic patterns, and generate trends and industry-wide insights for all Store Locator traffic we see.
Average response time for store locator APIs trends upwards in the first half of 2013.
Turning insights into action
The real benefit of data is the insight to be gleaned, which in turn allow you to take action to improve your app, make it more responsive and delightful and consequently increase satisfaction, grow usage and your business. In this case, businesses with store locator apps should be asking:
How responsive is my app?
It’s largely the speed of responding to customer requests that attracts customers and builds and maintains loyalty over time. To avoid the dreaded one star app store rating, and customer disatisfaction, apps must be monitored and tuned to respond to requests quickly.
To understand how to diagnose your app’s responsiveness and learn how this impacts end-user engagement, we suggest the following best practices:
- Understand the components of mobile apps that impact latency.
- After you plan and design your app, perform load testing to identify bottleneck and performance issues.
- Incorporate Mobile Analytics into your app and track app responsiveness by device, platform, and carrier.
- Instrument your app to track store locator API responsiveness, identify anomalies, track trends, and perform root cause analysis.
- Track end-user feedback on social media like Twitter and Facebook, and on services like Applause.
Spotting and diagnosing slow apps and APIs
Here is a diagram depicting the components of the modern app ecosystem that can contribute to latency issues when servicing end user requests.
The components above demonstrate the complexity of servicing today’s API and app economy from back-end services (exposed as APIs) to the app consumer. That is why Apigee created easy-to-use, RESTful APIs that help you identify and investigate your slowest and most error-prone API calls over time.
Apigee Analytics provides tools that measure latencies at any of the hops in the request-service value chain above by combining the strengths of API Analytics, Mobile Analytics, Custom Variables, and Custom Events. Apigee Analytics can easily identify and extract characteristics of request URIs, requests, and responses.
For example, the following API call to Apigee Enterprise returns a list of APIs that have a latency of 10,000 milliseconds (10 seconds) or more.
https://api.enterprise.apigee.com/v1/organizations/[YOUR ORG NAME]/environments/[ENVIRONMENT]/stats/request_uri?select=avg(total_response_time)&timeRange=3/1/2013 00:00~3/2/2013 00:00&timeUnit=day&filter=(total_response_time gt 10000)
For more information about the Apigee Analytics API, see the complete documentation.
When instances of slow APIs are identified, the data set can be mined to uncover similarities or patterns in API Requests. The easiest way to approach this is to break up an API Request across the following dimensions and then mine for the attributes that occur most frequently in the slowest API set.
This analysis can provide insights such as:
- “Apps in the EMEA markets have the worst responsiveness” or
- “POST requests have the worst responsiveness” or
- “Requests coming on the 3G networks from Devices of type X and Platform Y have the worst responsiveness” or
- “Requests for Resource R from Backend Server IP address A.B.C.D have the worst responsiveness"
The above analysis (easily possible through the Apigee Analytics APIs) identifies a course of action to determine why APIs with certain attributes are correlated with bad responsiveness.
Tips and Tricks
Need to measure latency times for requests and responses? If you're running on Apigee, the following features and reports are readily available:
- Request Processing Latency: Time taken by the Apigee Gateway to process an incoming API request
- Response Processing Latency: Time taken by the Apigee Gateway to process an outgoing API response
- Total Response Time: Time lapsed since the API request hit the Apigee Gateway, was processed by the target server (API provider backend) and the response left the Apigee Gateway
- Target Response Time: Time lapsed since the API request leaves the Apigee Gateway as it heads to the target server (API provider backend) and the response from the target server is received at the Apigee Gateway