Communications optimize battery usage

Hi.

I am trying to develop a companion app that will get data (historic HR) from the Garmin Vivofit HR and show historic calories graph on the phone app. I also want to send back the calorie values to the vivofit (including the intake calories logged by the user, to be shown on the vivofit display as a graph).

On my current prof of concept, the battery power usage is about 4x than a watchface and I believe the issue is with the communications (here is the code: https://github.com/DailyWeightFatControl/garmin_watchface/tree/watchapp1). Can someone please help me with suggestions for optimizations?

I plan to have the phone app asking at any time the Garmim device app for the historic HR and send back the users logged intake calories. Maybe I can define define some specific frequency and not have the communications always on? would that be possible?

NOTE: I am an ex Pebble user and I were starting to develop this app when they shutdown and were bought by Fitbit :-( :-(
  • One more data point. I think the best I ever saw on my 630 running an app was about 1.2% / hour where I was doing virtually nothing. No communication and no sensor stuff. And very simple drawing.

    My current app averaging about 2%/hr does a web request every minute, and has always is looking for a couple of sensors with an open ant channel. That also only had minimal impact.