top of page
Abhishesh Srivastava

Abhishesh Srivastava

Staff Software Engineer at Uber

Mobile engineer @ Uber

Adaptive App Framework: Design features responding to device constraints

Imagine using your awesome favorite app and the app dies/crashes under a resource constrained environment while you’re doing something important & you needed the app the most. Under such conditions, the app performance isn’t just about being smooth or non sluggish, it actually hinders the ability to use the app in a productive way. This directly influences the effectiveness and usability of the app. This session talks about how we’ve envisioned apps to be resource aware(or adaptive) and shifting the paradigm from being reactive firefighting to proactive adaptation. We’ll walk you through the design of adaptive app framework which is a new framework that monitors device health in real time, smoothen noisy signals into stable signals and empowers feature teams to gracefully degrade under stress instead of crashing or causing regression in rollouts. We’ll talk about how we have designed a lightweight profiler that runs safely in production. This framework takes into account battery drain, memory pressure, thermal stress, network conditions and different business related rules too to take informed decisions in predicting the app health state. We’ll also talk about the strategies for keeping the health signal stable, avoiding flip-flopping and how we can ensure core experience remains reliable under degraded conditions. Whether you’re building a large scale consumer app or smaller product app, your app must perform reliably in a resource constrained(or stressed) environment across a diverse spectrum of devices. This talk will provide you techniques to design apps that remain reliable and resilient under real world resource constrained conditions.
bottom of page