Posted by Matt Laroche, Android Engineering Lead, Strava
Editor's note: Today’s guest blogger is Matt Laroche, Android Engineering Lead at Strava, a social network and community for athletes. See how Strava and other developers are using the Google Maps API to bring maps and location content to their users.
In distance training, runners and cyclists always want to know how far they’ve gone and track where they’ve been. At Strava, we provide them with this information and a lot more: we measure, map and analyze the runs and rides of millions of athletes around the world so they can get the most out of their workouts.
To do this, we use
Google Maps to show them exactly where they’ve run or cycled. We can even help them plan future routes.
Mapping is a big part of what our members do with Strava. Maps help them relive past workouts, visually share their run or ride with friends, and engage in friendly competition. We started using
Google Maps API when we launched five years ago. We tested other mapping providers, but found that Google Maps was the best API for mobile — it’s the easiest to use to create new maps, especially when using polylines to draw routes and mark items on a map. It’s a straightforward, developer-friendly API.
Because maps are key to the Strava experience, we pay close attention to the tools we use and how our members will benefit. Here are three areas we focus on when developing our maps using the Google Maps API:
Performance
We compile a huge amount of location data — including 400 billion GPS data points of the activities our members share from around the world. GPS data can tell us where our members are going in real-time. With the Google Maps API, interaction and display or map tile latency is minimal and rendering was faster than other services we tried, despite the large amounts of data in use. To make the app work even faster, we trimmed down the data points that are delivered back to the user’s device.
Control
Our members spend a lot of time looking at maps on the Strava app and have different needs, although all of them want detailed information. They also want the power to play with different views. With Google Maps, they have a lot of options. They can switch between different map tiles, including normal, satellite and terrain. Terrain view is key for showing them if a particular route will send them uphill, and if so, what elevation changes they can expect. The maps also have an intricate level of detail, such as bike lanes and paths, which gives users vital information for planning their workouts. The interaction is smooth too — zooming, rotation, and map tilting work in a way our members expect.
Creativity
With Google Maps API, we have a lot of room for
creativity and experimentation. For example, we created a
Heat Map that visualizes the most popular trails and roads based on 160 million rides and runs. Our
Activity Playback project lets users watch their rides and runs and see where they might have passed friends who were on the same path at that time.
Google Maps lets us plot new ways athletes can visualize their data. We’re testing
Google My Maps, a feature in Google Maps on Android that offers a simple, fast version for users on the go. We can launch new web ideas on Strava Labs, which doesn’t require us to do full support or commit to integration in the long run. This gives us flexibility to try new things and see what resonates with our users.
We’re able to focus on the user experience — particularly performance, control and creativity — because Google Maps is developer-friendly. It minimizes grunt work, like re-writing thousands of lines of boilerplate code. The API natively handles features we’d otherwise have to build — like identifying which map marker is nearest to a user when she searches for a location. Because of this simplicity, we can focus on making the app more useful and intuitive.