Terminating or disconnecting the app [solved]

We tested as good as we can. But there will always be things we didn't find. If you found things that apparently don't work as they should, you can report them here so we can take care of them as soon as possible.
kay1234
Posts: 4
Joined: October 20th, 2018, 7:16 pm

November 4th, 2018, 11:09 pm

I agree with wdaehn. Let me describe the app behaviour:
  1. Turn on sending GPS data in the app
  2. The app displays a permanent (cannot be closed) notification ("Unleashed - Sending geotagging data")
  3. Remove the app from the app switcher (by swiping or deleting all apps)
  4. The notification is still displayed (did not check if it still sends GPS data)
  5. Tapping on the notification reopenes the app
Even worse:
  1. Turn on sending GPS data in the app
  2. The app displays a permanent (cannot be closed) notification ("Unleashed - Sending geotagging data")
  3. Turn off sending GPS data in the app
  4. The app still displays the permanent notification
  5. Remove the app from the app switcher (by swiping or deleting all apps)
  6. The notification is still displayed (did not check if it still sends GPS data)
  7. Tapping on the notification does nothing
The only way to get rid of the permanent notification is to kill the app from within Android settings like wdaehn described. Without having checked this thouroughly I assume the app stops sending GPS data in the second scenario because the Unleashed goes into standby after a moment while it keeps flashing green indefinitely in the first scenario.

Greetings
Kay


Nikon D810 / D7200, Sony Xperia Z5 compact, Android 7.1.1, App 0.9.3
Oliver
Posts: 1127
Joined: October 9th, 2018, 4:17 pm

November 5th, 2018, 8:01 pm

Hi all, and thanks for your feedback.

Indeed there seems to be an extra state with android apps that I was also not aware of: swiped up in the app switcher, but not terminated. Our android team is on it.

That said, both the app and the Firmware is designed in such a way that it adapts to each use case and uses as few resources as possible in every case.

This means:
1) ACTIVE: while the app is in the foreground (ie your phone's screen is on, you're seeing the app), and you are actively using it, camera communication (settings) is on, and we're using the highest amount of energy.
2) FOREGROUND: after about 2 minutes, if you're not actively using the app (even if it's still in the foreground), the firmware will stop fetching settings from the camera, to allow the camera meter to go off. The meter of the camera is actually what's using most of the energy, not the communication itself.
3) BACKGROUND: if you switch to a different app, or turn off your phone's screen, the app goes into background mode.
4) DISCONNECTED: if you kill the app, the bluetooth connection is terminated, and the Unleashed knows nothing more of the app.

(it looks like there's a 3.5) in Android, which I also did not know about.)

If GPS is off, and the app is in foreground or background mode, there is virtually no communication between Unleashed and app, but Bluetooth remains connected all the time. Bluetooth Low Energy is designed in such a way that this draws as good as no power, certainly much less than if the App/Phone keeps searching for an Unleashed to connect to.

If GPS is on, and the app goes to background mode, we switch from the app actively sending GPS data every [GPS Interval] seconds to the Unleashed, to the Unleashed requesting it at this interval, but only while the Camera is being actively used. So if you turn off your camera or simply stop using it, after a certain timeout, the Unleashed will also stop requesting GPS data from the phone, and go into a low power sleep mode, to conserve energy. Again, Bluetooth stays connected, so that when you start using your camera the app knows immediately that it should send GPS data, or if you open the app, the Unleashed would start communicating with the Camera again, and you're instantly ready to use it.

iOS as well as Android are designed to leave Apps running in the background, Apple actually even recommends not "killing" apps, as in most cases, the apps use more resources if you kill and reopen them, than if you leave them running in the background. And if that's not the case, Apple will "kill" the app for you! In fact, if your app uses significant energy while in the background, it won't even be allowed in the App store. I suppose this is a big difference to Android - pretty much anything is allowed in the Play store, which means many App developers won't put too much thought into energy use. (This becomes obvious when you look at the Top charts in the Play store and seemingly half of the apps are "Cleaner" apps to help get rid of energy- and resource-wasting apps). And maybe this makes Android users use their phones very differently than iOS users.
But of course we did put a lot of effort into low energy and resource use, so that the app can be left running in the background. And if you want GPS data, it's a requirement (where else should the Unleashed get it's data from).

I hope this clarifies the issue a little, but we'll definitely still look into that 3.5 state between Background and disconnected.
Founder & CEO of Foolography, Hardware & Firmware developer.
Post Reply