A new version of the iWalk Cornwall app (3.15.0) has been released which should start to appear as an update over the next couple of days.
In the new version we've replaced the geolocation component that runs when the app is in the background (e.g. when the screen is off) with a custom one that we've written. The new version is more reliable and has improved battery efficiency on iOS. There is also now a battery drain rate (in % per hour) displayed on the summary screen during the walk so you can estimate if the battery is likely to last to the end of the walk and connect a portable USB battery if not.
The app contains a number of other optimisations to minimise the amount of power it uses, for example it only re-renders the map - the most CPU-intensive part - if you've moved more than a certain distance. You may have also spotted the "Pause GPS" button on the menu at the bottom: that's the biggest win possible if you stop for a significant length of time during a walk (e.g. for a picnic) as that powers down the antennae. Just remember to switch it back on when you start walking again.
The power usage during navigation is almost entirely down to the device's GPS hardware: the GPS signals from space are based on 1970s technology and consequently very weak and need a lot of amplification. iPhone users suffer worse here because the battery capacity in an iPhone is often about half of the equivalent Android phone - a compromise for having a slim device. Some phone manufacturers are trialling a new GPS chipset which uses less power than the current generation. Also the European satellite navigation system, Galileo, is currently being deployed which produces much stronger signals. The result of all that is that in upcoming phone models the battery efficiency of the geolocation hardware is likely to improve.
In the next version of the app we'll be building on the new components released in this version to add a little more battery safeguarding functionality.