App Quickly Eating Cell Phone Battery Life - How to Fix

I am new Rachio user and yesterday just went through the full App setup, connected via WiFi, which included taking pictures of my Zones. During this process for 10 Zones, my battery life, which started at 75%, quickly dropped down to 2% by the time I completed up to Zone 9. Today, I completed the Zone 10, and once again my battery life quickly shot down during this process. So I hopped onto my desktop computer in order to troubleshoot the issue using the Rachio website. I wanted to see all of the code running and network requests knowing that there was definite bloat in the network calls somewhere.

I quickly saw that the image requests for my Zones were taking up to 7 seconds each from AWS. Turns out, when you take a picture of the Zone with your phone, the actual uncompressed image is uploaded to AWS. In my case, the uncompressed sizes ranged between 21MB to 31MB each. So, every time you open the App, or visit the website, these insanely huge pictures are being retrieved. Luckily, I have Photoshop and was able to reduce the image sizes and compression to get each picture under 60k.

So, either do not take pics of your Zones, or make sure they are suitable sizes before uploading.

2 Likes

Hey! I can give some details around the photo upload / download requests you’ll see the app make. This is mostly information around the iOS app, but I know the Android app works similarly.

When you save a zone image, we do capture the entire image by default. Cropping the image will perform a basic compression, but if left uncropped, the entire image will be sent up to the server. We start with uploading a very small and highly compressed image that blocks the UI so that you can continue using the app without having to wait too long. Then the full sized image is uploaded at a lower priority in the background only when on WiFi to try and alleviate the battery drain when on a poor network (as well as avoid using lots of cell data).

The app on both iPhone and iPad never downloads the uncompressed image when you open the app, but will actually fetch a resized version of the image to save on network and memory constraints. These images are also cached for quite some time so that if you don’t have new images, it won’t download the images that are already saved on your device.

If you continue seeing battery drain though after having setup the images let us know as we can take a deeper look to see what might be causing excess CPU usage. Thanks!

1 Like

Hello @zachio,

Thanks for the additional details. In my case, the resolution was high enough to make print quality movie posters. I’m sure most users aren’t expecting high quality images for their sprinkler zones as they only serve as a reference. Aside from the App, if a user access the website via desktop/tablet/phone, these larger images are being retrieved. Yes, they are cached which certainly helps, but definitely unnecessary to store for users.

I did some testing from my iPhone iOS 13.3.1 via Safari. I took one full size image of a Zone for testing. Connected via WiFi, the complete download size was 19.8MB. Connected via cellular, the download size was 19.6MB. After I replaced the full size image with a simple screenshot (still oversized in my opinion), the download size was reduced to 16.1MB via cellular. As mentioned, this was just one image that created a 3.5MB difference. As a comparison, the CNN homepage was 17.5MB.

Obviously, you are free to proceed as you wish. I’m simply surfacing this information so that others have an understanding of what’s happening behind the scenes and how they may get around it. As a first time user, I was scratching my head why my battery life was being devoured from just setting up my Zones.