This object is in archive! 

live tracking and energy saving

joeloc shared this idea 10 years ago
Completed

Live tracking will always keep the GPS on, even if the phone is set to airplane mode or if there is no data signal. That doesnt really make any sense, Locus can not send anything anyway. It would be nice if Locus simply did nothing when there is no data connection.


Another option would be to store the live tracking points gathered when offline and transmit them as soon as the device comes online again.


Both options make some sort of sense, depending on what you intend to do. But querying the GPS for points and then simply throwing them away does not.

Replies (15)

photo
0

I know live tracking is not in the "development focus" right now :-). Nevertheless, I will have need for a seriously energy saving live tracking (buddy tracking) function three weeks from now. Menion, maybe you could shine some light on how live tracking and gps auto off will work together?

photo
0

Situation: Two people on a combined long distance trip through remote territory, taking mostly different routes but still wanting to find themselves easily every few days.


Problem 1:


Energy needs to be conserved as much as possible. Therefore, no tracks are recorded. Locus is configured to only turn on GPS when the display is active for a quick position/direction check.


Problem 2:


Network coverage is bad, maybe out of reception during 80% of a day on average. Also to save energy, the phone might be configured to be in airplane mode for most of the time and only enable the radios for maybe five minutes every hour to sync email & sms.


Currently, I believe this will not work well with live tracking. The timing when a GPS fix is available and a network connection is available and live tracking kicks in will almost never match. No points will be transmitted.


What Locus needs to do to make this work:


Store the last failed live tracking position and transmit it IMMEDIATELY when the device gets online. I am sure there is some sort of notification mechanism in Android for that. You can not wait for the next live tracking interval in this case, by then the internet might have disappeared again.


This "device is online notification" should also be used to refresh all network kml links in the elements list automatically.

photo
0

so let`s move with this topic ...


Live tracking in Locus & internet on/off are not best friends now. To be true, there is no logic now in this way and I agree that this should change mainly to keep battery usage low and to report as much valid points as possible.


Firstly, keep in mind that GPS auto-off has absolute priority. I need to keep this function as close to GPS connection itself as possible. GPS auto-off function have complete control over waking a CPU when needed, waking a GPS when needed etc. so I need to have it first.


Also one more info in my mind before we start to discuss about problem itself - if you really want to have minimum CPU usage by Locus, also disable "Periodic updates" in settings > misc. This feature sends every second various information to add-ons even if no add-on needs it. This consume very low CPU, but every % is counting ...


And now the live tracking problem


I`m little worried of situation when Locus receive info that internet connection is available, and there will be need to send 1000 points in a batch. There is of course a way to choose best of them, but which one choose?


I would prefer disabling GPS when internet connection goes off and opposite.

photo
0

Which points to send when internet comes back? Hm... I guess I`d be happy with simply the last one. That is sufficient for proper buddy tracking and decent live tracking for an audience (like spot messenger).


Storing and sending every missed point would more or less duplicate the track recording functionality (and make things more complex?). I think if users really want a "perfect" track available online, it should rather work through track-recording via auto-gpx-export-and-share-via-ftp or something.


For buddy tracking and rescue purposes, the last point is always the most important.

photo
0

About Live-Tracking and GPS-Auto-Off: I think it is VERY GOOD that GPS-Auto-Off has priority. That allows me to configure something like


live tracking interval: 1 min


gps-auto-off: 30 min (disabled when screen is on)


So the position would be updated every half hour in the background but the GPS would still be mostly off, not wasting any energy. And if the GPS is on anyway because I need it while looking at my screen, the position is updated more often.

photo
0

fine so now:


LiveTracking service reacts on http status. If you put Locus into background then it will still continue with tracking. But then you turn off internet connection, GPS also turn off. When you turn on internet connection, GPS also turn on and meanwhile, live tracking service will try to send last known valid location if it failed due to missing internet before


And I think it is VERY GOOD that GPS-Auto-Off has priority - I also received messages that it should not work in this way, but I still also think this is correct. Main purpose of GPS Auto-off is to reduce usage of GPS for similar cases like you need (tracking, track record) so in this case, is has to have max. priority .


I think if users really want a "perfect" track available online, it should rather work through track-recording via auto-gpx-export-and-share-via-ftp or something. .. good point. Absolutely agree

photo
0

Wouldn`t it be much more logical to set:


live tracking interval: 30 min


gps-auto-off: 30 min (disabled when screen is on)


As it is implemented now battery saving has higher priority than functionality which means that functionality is cropped.


In my opinion GPS shall only go off when it is not needed. It is partially implemented like this with the switch "disabled when screen is on".


I also wrote my opinion in another topic where it was about track recording. If I need a point every 10min I should use a setting exactly for this and not the general switch GPS auto-off.


How should navigation or *proper* guiding work if GPS goes off and on when it decides this by itself?

photo
0

hard to say


In my opinion GPS shall only go off when it is not needed


In this way, works all services in Locus. All has flag if really need GPS on, or just use GPS if available, but do not need at all costs. But in this way it do not work for a single service. So for example when you have enabled track recording, there is always need for a GPS. Track recording itself cannot say "I do not need GPS for next 10s".


I also wrote my opinion in another topic where it was about track recording. If I need a point every 10min I should use a setting exactly for this and not the general switch GPS auto-off.


And what about some actions between ... you have to keep in mind that obtaining a new fix took usually much more longer then keeping GPS alive. So if you`ll need a location every 10s and you want to have +- precise track, it`s really not a good idea, have some auto-off on this 10s.


Anyway I understand what you want to say. All these features should have it`s own "Auto GPS-off" build in, right? Interesting idea ...

photo
0

In theory, Locus could "know" when it next needs the GPS. Just check the timing for all those different functions and calculate a bit into the future. If the next time is longer than X minutes away, turn it off.


Advantage: Less settings mess. If the user configures track recording with ten minute intervals, he can be sure it saves energy. He doesnt need to dive into another "gps auto off" page, the concept is quite hard to understand really.


Disadvantages: Will not work when "distance" is used.


Major disadvantage: Might create messy situations with manual turning on and off GPS. A thing that I never really understood anyway. Why can I start track recording and then turn off the GPS? This just puts Locus into a weird state that doesnt really make any sense.


Long story short: All this needs careful thinking :-)

photo
0

Shame on me - i don`t read the whole "story" here.


Just a link to an older idea about last transmitted position.


https://getsatisfaction.com/locus/top...

photo
0

tiny side note: now that locus can react on http status... can you also run through the network links and see if they need refreshing when the internet comes back on? i guess that would also be required for "energy efficient" buddy tracking.

photo
0

I have to different use cases that may overlap with this idea, let me know if they are relevant here or if I should post them as a new idea.


reference: http://forum.locusmap.eu/viewtopic.ph...


Case 1


I`m planing on going on a MC trip abroad and letting my family track my ride with live tracking. But going abroad also means that I`ll have no data connection (roaming off) except for a WiFi service that is included in my mobile service. The WiFi service is amongst other places provided at certain fueling stations. This means that when fueling my bike, I`ll have Internet connection.


I would like Locus to cache/buffer all the points that hasn`t been successfully transmitted, and when gaing access to Internet again, transmit them in sequence to fill the gap, and letting my family at home see my route/track, with some time delay of course, but the will se it. In my case energy wont be an case as I`ll be able to charge my phone on the bike.


Case 2


Also being a pilot I would like to able track my flight nearly the same way as described in case 1, with the difference here that cell service can be poor when you are in the air, and that leading to the same need of cache/buffer function of LiveTracking. Also here energy wont be an issue as flight usually are not longer then 2H.

photo
0

I`m curious about what I wrote above, if it is something that is under consideration?

photo
0

Hi Anders,


I suggest to vote in this topic that is focused exactly on this task


https://getsatisfaction.com/locus/top...

photo
0

Thanks!

Replies have been locked on this page!