Mobile-centric Optimization Requires a Mobile-centric Approach

Appurify co-founders Manish Lachwani and Jay Srinivasan talk about the motivation behind their platform and the solutions it provides.

As our always-on society turns more and more to mobile platforms and devices—a recent Global Mobile Data Traffic Forecast predicted 788 million mobile-only Internet users by 2015—mobile app development is becoming more and more important. Developers, however, are finding mobile measurement and optimization toolsets lacking, which is increasingly becoming an issue as mobile users show low tolerance for buggy apps.

Appurify co-founders Manish Lachwani and Jay Srinivasan experienced these challenges first hand and launched a solution. The duo will demo their Appurify performance-optimization platform during the Lightning Demos at the upcoming Velocity conference. In the following interview, Lachwani and Srinivasan talk about the motivation behind Appurify and offer a sneak peek at what we can expect to see at their demo.

What are some of the key challenges developers face in measuring app performance?

Jay Srinivasan

Jay Srinivasan

Jay Srinivasan: Mobile performance measurement and optimization is broken today. This is a three-fold problem: there are no good tools, the mobile space is complex, and mobile users demand exceptional performance in all conditions.

More specifically, most performance measurement and optimization tools that exist for the web and PC world simply don’t exist for mobile. This is both due to the mobile ecosystem being relatively young as well as the added tech complexity that working with mobile devices offers. Compounding this lack of tools is the complexity of the mobile environment. Mobile is much more fragmented from an operating system, device, and firmware perspective, and optimizations can vary depending on the environment. Mobile users are also more demanding, with the expectation that they can use their smartphones or tablets in an always-on, always-connected environment. Your mobile app needs to load quickly and perform seamlessly in all network and device conditions.

What kinds of measurement tools exist now, and how are they lacking?

Manish Lachwani

Manish Lachwani

Manish Lachwani: The majority of developer tools that exist for mobile are focused on post-launch error tracking, and application usage and monetization—not performance optimization, and certainly not pre-launch optimization. The few tools that are available for pre-launch performance measurement are hacks of web tools ported for mobile.

These tools are cumbersome to set up and use, and they’re less than accurate many of the times. For example, capturing your device’s network traffic through an external proxy is not as accurate as capturing the traffic at the WAN or WiFi interface of your device. Optimizing the proxy’s traffic won’t guarantee performance will be optimized on a real device. In addition, the tools that do exist are largely targeted at optimization on Android versus iOS, despite the majority of revenue-generating traffic being on iOS.

Our strong perspective is that mobile-centric performance optimization requires a mobile-centric approach to building tools. Server and client performance optimization tools should be built up from the device as opposed to treating the device as an afterthought.

What problem does Appurify aim to solve?

Jay Srinivasan: We founded Appurify a little less than a year ago with the mission of building the next generation testing, debugging, and performance optimization platform for mobile app development.

Manish Lachwani: Having been mobile developers, we knew the trials of app testing and performance optimization all too well. Unable to robustly test our mobile apps, we’d be embarrassed to learn of quality issues from user reviews. And we hated reading what were basically user bug reports that would accompany a 1-star review on the App Store. There had to be a better way.

Jay Srinivasan: Our cloud-based optimization and testing platform offers the most complete and effective solution available for mobile developers, essentially bringing mobile tools to parity with what’s available for the web and PC world. We radically address the mobile tools problem by providing first-of-their-kind, actionable, automated tools backed by a farm of API-accessible real mobile devices.

What are some of the major features of the platform that you’ll demo at Velocity?

Manish Lachwani: We will demo the impact of server-side latencies and bottlenecks on the app performance—load times, page transitions, and rendering on different network carrier conditions.

Our demo will show how to:

  • Use Appurify to measure server-side HTTP response times and latencies, and their impact on the app. These apps can be native, hybrid, or HTML5. Browser included.
  • Use Appurify and a native app like Facebook or Twitter and capture TCP/IP packets between the device and the server side.
  • Analyze the packets using tools like Tshark, HAR viewer, etc.
  • Pass the HAR data to Google PageSpeed for detailed analysis of the bottlenecks and optimization opportunities.
  • Achieve these capabilities using a small SDK (static library) compiled in your code. Record test cases and replay them in an automated manner, to measure server-side performance on a build-by-build basis.

What superpower will people have after attending your demo?

Jay Srinivasan: Two things: they’ll understand that mobile optimization does not need to take a back-seat to the web and PC world, and we’ll provide access to Appurify to attendees, allowing them to immediately decrease network load times for their apps and web pages across a range of different carriers and signal strengths. In addition, they’ll be able to identify specific opportunities to reduce application CPU and memory usage.

This interview was edited and condensed.

tags: ,

Get the O’Reilly Programming Newsletter

Weekly insight from industry insiders. Plus exclusive content and offers.