It’s no secret that here at Roam we take pride in how we’ve achieved up to 90% battery efficiency, but you may be asking yourself, why does efficient battery life matter so much to our business? There are few ways to answer this, mainly with industry-specific examples, but perhaps a personal experience is as effective. So, grab your popcorn (sweet is acceptable), and let me relay the story of our founder, Manoj, and his experience one night in Paris (no, this isn’t the plot of Midnight in Paris starring Owen Wilson).
In 2017, Manoj went to Paris to visit some friends. One night, they decided to watch an Indian film screening 30 minutes outside the city centre. The film was great, but by the time it had finished, he missed the last train back to the city. That can happen right? Just order an Uber? Uh, no, that wasn’t possible because his phone battery had died. A location-based messaging app that he was using drained the battery dry. He ended up sleeping on the station floor that night…and the idea of Roam.ai was born the next day.
With the companies we’ve spoken to and currently work with, battery life has been the centre of discussion regarding location. In a previous blog of ours about delivery, survey respondents brought up battery drainage frequently. It’s an integral feature of mobile apps across all genres, and Roam was built to fix it. That’s why battery life matters to us, and that's why we created our Location SDK.
Ok, now that we got the Hollywood/TedTalk story time over with, it’s time to get factual and bring out the quantitative data. We’ve benchmarked our SDK with the native location tracking of mobile phones. The results will show the battery consumption between both apps on different tracking modes. This should give an idea of how you can start saving up to 90% battery life for your location-based mobile app with Roam.
Benchmarking Roam’s SDK
1. Active Tracking and Native tracking
You’ll experience severe battery drain with a mobile app that uses location because the native GPS is constantly trying to pick up your location every 1 second. This puts the GPS chip under a lot of unnecessary stress. Roam’s tracking is adaptable to the user’s movement and picks up locations at the right time, relieving some of that stress on the GPS chip.
Our most intense tracking mode, Active Tracking, gives location updates at a minimum of 25 meters at a time (as opposed to every 1 second). The GPS chip is used at a slower rate while still delivering the user's location precisely. The overall effect is an increase in battery efficiency.
In this 4-hour benchmark test, the numbers speak for themselves. The battery consumption of our most intense tracking mode is less than 1%. On the other hand, native tracking picks up the user’s location every 10 seconds, resulting in greater battery drain. Side note: we've included the full battery history report for our SDK and the native tracking here for developers that like to see more than just a table.
2. Balanced Tracking and Native tracking
Moving on to Balanced Tracking, in this mode, a user’s location is picked up at a minimum of 50m distance intervals. For this test, the native tracking picks up the location constantly every 50m over 10 hours.
By picking up the location every 50 meters, the native tracking consumed 1.64% battery after 10 hours. As we said, Roam’s adaptive tracking means that it picks up the location at a minimum of every 50 meters, but not constantly. Adapting to the user’s movement is crucial to saving battery life, hence why the battery consumption is low in this case. In-between location pick ups, the GPS chip is not "active". Picking up the location every 50 meters isn’t necessary, so our SDK will pick up the location over varied distance intervals up to 500 meters instead, giving the GPS chip some rest when it's not needed.
3. Passive Tracking and Native tracking
The last benchmark here is for our Passive Tracking mode. The name is a dead giveaway because this dynamic tracking mode picks up locations between 100 - 1000m distance intervals.
The results mirror what we saw in the Balanced Tracking benchmark. While native tracking picks up the location constantly every 100 meters, our Passive Tracking mode is selective. After 21 hours, it consumed next to nothing of the battery while native took 1.68%.
The hard data says it all. In all three scenarios, Roam’s SDK never eclipsed 1% battery consumption while providing accurate location data. Controlled tests like these show what companies are capable of achieving when looking for ways to increase battery efficiency.
Interested in starting today, or have any questions?