Spring Release Mobile SDK Improvements

Mobile Application Performance SDK Improvements

April 16, 2018 · by Paul Hirst ·

This is one in a series of posts about the Akamai 2018 Spring Release. For an overview of the Spring Release, see our post here

Akamai’s 2018 Spring Release includes several improvements for the Mobile Application Performance (MAP) SDK. These updates correspond to the MAP SDK versions 19.1.1 - 19.1.3. Please note that many of these features are in Tech Preview at this time. Let’s dive right into each Tech Preview feature to learn a little more.

Purge for Universal Cache

Universal cache allows you to effectively replicate the existing browser caching rules on a mobile device. If the cache control header value expires, and if the content has changed, the content gets refreshed automatically the next time it gets requested by the host app. Universal cache works when the device is offline as well, serving content from the cache until the expiration date.

New with this release is a Purge button for Universal Cache. Click the Purge button in the Luna control panel, and you can purge all cached content, or a specified list of URLs, within 5 minutes.


Brotli Support

The Android Brotli library allows your Android app to accept BR headers and apply content encoding. Testing shows a 15-20% improvement in performance over GZIP. To learn more about Brotli, see our recent blog post on Brotli from Origin.

Image Manager

MAP SDK now includes support for Image Manager. If you’re already using Image Manager, you know it optimizes images for the display type and connection, and now MAP supports Image Manager to optimize images for your native mobile apps.

You need Image Manager enabled and configured to use this feature. If you aren’t using Image Manager yet, you can sign up for a free trial in the Marketplace (note that you have to be logged into the control panel first).

Custom Reports

Custom event timers are special events you’ve set up that measure how long it takes for a user to execute app-specific use cases, such as time to navigate to a product or to check out. In the latest release, we’ve included a summary report giving you a high-level overview of your mobile app custom events, which allows you to quickly see if the performance for the past day is in line with historical performance. In addition, we improved report performance with snapshots and 1-hour aggregations for all reports.

A/B Testing

In previous releases, you had to contact Akamai to enable A/B testing and have us set the configuration values. With the latest release, A/B testing can be configured in the Luna control panel. In addition, we’ve added master A/B testing to the existing feature-level tests. I’ll explain the difference.

Feature-level A/B testing allows you to test one or two features at a time, to see how they affect performance. For example, suppose you’re interested in how SureRoute for Cellular affects your customers, you could set that feature at 20%, and then 20% of your users would be randomly placed in the A group with that feature enabled. Or maybe you’re interested in Image Manager, but you want to see what kind of improvement to expect before you commit.

Master-level A/B testing allows you to select multiple features and effectively test that configuration against a holdout group. For example, you set 80% of devices to have Universal Cache and have Brotli enabled, thus creating a holdout group with 20% of devices having no features enabled.

SDK Footprint & Packaging

We’ve updated the SDK to support QUIC transport and have made the Cronet library available separately from our base SDK zip.

We've also reduced the footprint: Android base SDK reduced 29% from the previous release, now at 610 KB; iOS base SDK fat framework reduced 22% for 4 architectures from the previous release, now at 7.8 MB. Also, Cronet library reduced for Android from 6.2 MB to 3.8 MB (~38% improvement), and for iOS from 20 MB for 4 architectures to 15 MB for 4 architectures (~25% improvement).

More Coming

As noted earlier, these features are available in Tech Preview, but to make testing easier, we have made these features configurable using the Luna control panel as part of the Spring Release. After thorough testing, we’ll move these features to general availability and include more details like recommendations, limitations, etc.

If you’re interested in learning more or need more information before taking these new features for a test drive, please contact