In this session we will talk about all the performance bottlenecks that we found along the way developing the Mapbox Navigation SDK for Android. We will learn how we monitored, made decisions based on numbers and tackled them: from designing and implementing a pipeline that runs automated tests, to selecting and analyzing the data obtained so issues can be detected and after evaluating their impact fixed. We will show the tools and platforms used, such as Systrace, test @Rules and AWS Device farm.
When you are developing SDKs or libraries, their performance is crucial to your customers, especially in the context of turn-by-turn navigation. The Mapbox Navigation SDK is built on top of different components and services and contains logic needed to get timed navigation instructions. To make the calculations for these instructions, the SDK compares the user's current location to the current route being traveled along.
The entire navigation experience includes voice announcements, real-time user progress to their destination, smooth map camera animations, and detecting when a user goes off-route. As you can imagine, all of these are critical when building a navigation app but at the same time pretty heavy in terms of performance.
By the end of the talk, you will be obsessed about the performance of your application and itching to fine-tune everything!