runnerup icon indicating copy to clipboard operation
runnerup copied to clipboard

Start activity without waiting for GPS first

Open netmackan opened this issue 10 years ago • 34 comments

Feature request:

  • Being able to schedule an activity before the GPS signals are available and have it start as soon as they are.

Background: I usually start biking by first bringing out the bike from indoors (bike shed or underground garage) and it is first when I get out I will get the GPS signals and can start the activity. It is a bit annoying to have to stop as soon as I get out to bring up the phone, possibly in the rain, to start the activity.

Suggestion: For instance instead of having the start activity grayed out, it could be yellow or something to be able to schedule a start as soon as there is a GPS signal. Alternatively, there could be an additional button for schedule the start when signals are available. Then when there is enough signals available, I would expect to hear the "Activity started." audio from my pocket without having to bring out the phone.

netmackan avatar May 14 '15 08:05 netmackan

Should the yellow part of the activity be recorded or not? If not, I think it could be easy enough to do and I might give it a look.

bagage avatar Jul 18 '15 21:07 bagage

I was thinking that the yellow part would not be recorded. Basically the activity would officially start when the location is first known.

netmackan avatar Jul 19 '15 12:07 netmackan

OK, then I'll give it a look when I get some time. Can you assign this to me @jonasoreland as a reminder? Thanks.

bagage avatar Jul 22 '15 18:07 bagage

Could it be a setting if yellow should be recorded or not? Because I would like to be able to start activities without having GPS fix for indoor sports for example (saving HR)

nebmo avatar Jul 22 '15 20:07 nebmo

The problem in that case is: what to do when GPS finally comes available?

Should we consider position points or ignore them? In the first case, many thing would be broken (map would not display the whole activity, etc.). What do you think?

bagage avatar Jul 22 '15 20:07 bagage

For indoor sports i think we should do activities wo/ gps at all...

Not the same as this if you ask me

/Jonas On 22 Jul 2015 22:13, "Niklas Weidemann" [email protected] wrote:

Could it be a setting if yellow should be recorded or not? Because I would like to be able to start activities without having GPS fix for indoor sports for example (saving HR)

— Reply to this email directly or view it on GitHub https://github.com/jonasoreland/runnerup/issues/255#issuecomment-123849047 .

jonasoreland avatar Jul 22 '15 20:07 jonasoreland

Why not? Is it not just an activity parameter "record GPS location"?

bagage avatar Jul 22 '15 21:07 bagage

difference is

  • there will never be GPS...no need for yellow, no need for even starting GPS receiver, no need to consider what to do if/when GPS is available
  • i already long ago wrote an option to the TrackerGPS that will do this...

On Wed, Jul 22, 2015 at 11:03 PM, Gautier Pelloux-Prayer < [email protected]> wrote:

Why not? Is it not just an activity parameter "record GPS location"?

— Reply to this email directly or view it on GitHub https://github.com/jonasoreland/runnerup/issues/255#issuecomment-123862798 .

jonasoreland avatar Jul 23 '15 01:07 jonasoreland

No GPS at all would be better for sure. What is the current status of your implementation?

Regarding the current issue I'll only add yellow state it should be simple enough.

bagage avatar Jul 25 '15 14:07 bagage

I will not have time to implement this actually, so if someone wants to implement it, feel free to do it. Sorry about that!

bagage avatar Oct 25 '15 20:10 bagage

My phone sometimes takes 3-4 minutes to get signal after I leave the house and start my run. So I, for one, would prefer to start recording upon pressing "start", without waiting for signal.

But either way is better than having to wait for signal to start.

dsjstc avatar Oct 09 '16 21:10 dsjstc

Can you enable the button to start without gps and and record when it finds the gps? It's really cumbersome to stop when outside, get the phone, wait for gps and press start. I hope someone can implement this.

club4android avatar Jun 07 '17 10:06 club4android

I needed this desperately, so I ditched RunnerUp and installed AAT (http://bailu.ch/aat/) from F-Droid instead. Works as I expect it to and the interface is much simpler.

tropikhajma avatar Aug 08 '17 21:08 tropikhajma

Another problem that I see here is that if the screen of phone goes dark (which it does after a while, I could probably change that...) the count of locked GPS satellites goes down to zero. Annoying.

Can't we keep them locked like after the activity has been started?

@davidedelvento

davidedelvento avatar Aug 10 '17 02:08 davidedelvento

@davidedelvento I believe the current behavior should be kept. With auto-start GPS enabled, GPS should not be kept alive unless the "run" starts. Otherwise you need to delete the activity to stop GPS which would be annoying.

With auto-start off, the GPS is started and kept started also when screen is off (and other apps are started).

gerhardol avatar Aug 10 '17 14:08 gerhardol

GPS should lock some time before activity starts. It sometimes happen that just after locking it gives weird results for about a minute then stabilise (depend on weather)

czw., 10.08.2017, 16:02 użytkownik Gerhard Olsson [email protected] napisał:

@davidedelvento https://github.com/davidedelvento I believe the current behavior should be kept. With auto-start GPS enabled, GPS should not be kept alive unless the "run" starts. Otherwise you need to delete the activity to stop GPS which would be annoying.

With auto-start off, the GPS is started and kept started also when screen is off (and other apps are started).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jonasoreland/runnerup/issues/255#issuecomment-321560216, or mute the thread https://github.com/notifications/unsubscribe-auth/AAyOZsBCHywlDm58OlW29rr4Nrs3xAjLks5sWw2DgaJpZM4EaNzQ .

Marx2 avatar Aug 10 '17 15:08 Marx2

@gerhardol

With auto-start GPS enabled, GPS should not be kept alive unless the "run" starts. Otherwise you need to delete the activity to stop GPS which would be annoying.

A common patter for runners is to set up the up to get ready, then do some warm-up exercises (in the hope of the GPS satellites being locked) and then run.

This use case is not supported by RU, because of the problem I described. Maybe we can have a separate button (let me call it "lock GPS" but a better name is needed) that would do that? I think this would be extremely useful, instead of having to wait at the end of the warm-up.

In addition to the "start" which would become "start as soon as the GPS are locked" (when they are not locked) that @netmackan proposed, of course

davidedelvento avatar Aug 11 '17 16:08 davidedelvento

My prefered functionality was to handle sport type as a "tree" with overlay for all settings. With that you could have an "Indoor" branch where GPS is off. That is a major change...

I want to be able to start without GPS completely. For instance set the activity type to Indoor and hardcode it there. Changes are needed to RU to handle GPS less (in addition to a new sport type).

If I have a runners watch, it is OK to start GPS and the press start when actually running. With a phone I want to pick it up once, then put it away, possibly control it with a remote (headset, some watch or maybe even voice). I now need to start GPS, put it away, go out, bring it forward and protect it and put away.

I would like to have an option to start an activity directly also without GPS, even if the points are bad (that can be filtered). The countdown can be used too.

I propose that pressing start before GPS (when the button is gray) prompts you if you really want to start now, wait until GPS and start or wait.

Edit: it is relative easy to handle "force start" with long click. Without changes, recording will start when GPS is locked. Audio cues for GPS connected makes sense here...

gerhardol avatar Aug 12 '17 22:08 gerhardol

@gerhardol

I propose that pressing start before GPS (when the button is gray) prompts you if you really want to start now, wait until GPS and start or wait.

Edit: it is relative easy to handle "force start" with long click. Without changes, recording will start when GPS is locked. Audio cues for GPS connected makes sense here...

Great. I agree with that. I could not care less for hard-to-implement indoor branch (what would you be using RU for? maybe the HRM and cadence?)

Having at least one, or better both of the different "start flavors" you proposed (i.e. start now and add GPS when possible, or start as soon as GPS is locked) is great. But would my third "start flavor" hard to implement or easy? To me it sounds very easy and as I said earlier it would be extremely convenient for doing warm-up exercises before the run (and by the way, behave identically to what many GPS watches do).

davidedelvento avatar Aug 13 '17 02:08 davidedelvento

But would my third "start flavor" hard to implement or easy?

I see that as "no auto start GPS", already existing. Then you start GPS without starting the activity, also trying to connect when the screen is off. (I would like to change the default to this too.)

gerhardol avatar Aug 13 '17 08:08 gerhardol

Sorry I don't know what "auto start GPS" in the option does (maybe as part of this refactoring for NG, we need some tooltips or user documentation on every option we have around...) Can you please be more clear on how this works at the moment?

davidedelvento avatar Aug 13 '17 13:08 davidedelvento

If "auto-start GPS" is set, the GPS is always on while the app is running. If no activity is started, GPS is cnot locked when the app is not active (otherwise the app would keep GPS on always after the app had been started once).

Without auto start, you have to start GPS explicitly. So GPS is not on when you look at the history or creating workouts. The GPS is on (after starting it) also when the screen is off.

I want to change the defaults from first alternative to the second.

gerhardol avatar Aug 13 '17 22:08 gerhardol

I tried to disable auto start GPS and it did what I wanted for my "third flavor".

However I'm still confused about what auto start does. Let me try to say it in totally different words and you tell me if I'm correct.

If autostart GPS is set, then the GPS is on only if:

  1. you are waiting to lock the GPS and the screen is not gone in power save or
  2. you started from the previous screen and now are in the middle of the workout (that is, the workout is not ended). otherwise, it's off.

If autostart GPS is not set, then the GPS is always on (unless you turned it off from the global settings of the phone, obviously).

Is this correct? If so, I propose to rename "autostart GPS" to "reduce power consumption by limit GPS usage" or something along those lines.

davidedelvento avatar Aug 14 '17 02:08 davidedelvento

The way it is implemented is the only sensible and the naming is OK to me A description could be added, but I better do that in the manual Changing the default is easier to explain

An alternative name could be Keep GPS on in the foregound, but Autostart GPS is simpler to me

GPS is obviously always on when recording. The behavior is different only before starting.

Auto start GPS: Keeps GPS when the app is in the foreground. It cannot be in any other way, it will drain the batteries. It is not expected by users to keep the GPS on in the background without any explicit start.

gerhardol avatar Aug 14 '17 21:08 gerhardol

Thanks for the explanation.

To me, Auto start GPS sounds more like "give this app permissions to enable GPS on its own without asking me each time" or something along those lines.

Keep GPS on in the foreground does not sound very clear either.

Moreover, this setting is not much about starting as much it is about stopping the GPS, and from the name that's totally unclear. I propose calling it Auto start/stop GPS and adding a "tooltip" (or whatever is called in android) like the one for Headset key start/stop below. The tooltip could say "reduce power consumption by stopping GPS when the app goes in background and the workout is not started".

I think changing the default like you proposed in #621 is good.

davidedelvento avatar Aug 14 '17 21:08 davidedelvento

I expected the autostart gps option to start recording when the app is launched. It could start logging data, adding in the actual gps data points when available. (I don't really care if I miss the first few seconds of a workout. However, I get annoyed when I have to wait in the rain for a lock or don't get anything recorded because I forgot to press a button after gps lock.)

jhubble avatar Oct 02 '17 00:10 jhubble

Apologies if this is slightly off-topic here but it seems the challenge that most people are trying to overcome here is the wait for the GPS when they want to start an activity. Also, there are other related threads about poor accuracy of GPS and lost signals (which are effectively more hardware/firmware issues on the phone as far as I am concerned).

I frequently used to have major GPS issues with other apps and also with RunnerUp which was incredibly frustrating but I now normally get a GPS fix with a few seconds by following a few simple steps. You may well have seen some of these elsewhere but I thought it would be worthwhile sharing what works for me...

  • Before I plan to use RunnerUp I will start another GPS application (such as the free version "GPS Status" from MobiWIA) and then rather than exiting that with the back button I will use the home button to leave it running in the background. This activates the GPS "in the foreground" and keeps it going.
  • This app (and other similar ones) also have a facility to manually download current GPS "Assistance Data" to make the GPS more accurate so I will sometimes do that as well (especially if it seems to have any problem acquiring satellites).
  • If possible, I will leave the phone near a door or a window before I go out to run so that it can see some satellites before I need to start using the GPS (preferably after starting the app above and also maybe RunnerUp itself).
  • When I initially go into RunnerUp I will wait a few seconds more after it has locked onto the first satellites in order to get additional satellites to increase the accuracy (and thereby avoid the jagged points you can often get at the beginning of the run).
  • I don't start moving/running until the GPS locks as it seems easier for the phone to initially get an accurate lock if you are static.
  • I always want to leave RunnerUp running as the foreground application to ensure it is prioritised as I feel this reduces the number of GPS drops. So I will get my music and things going as well before I switch on the RunnerUp app and if I do need to switch to a text app or something then I will always switch back to RunnerUp (rather than letting it run in the background) before I lock the screen. Note: I also find that sometime switching to the camera will cause a GPS drop for RunnerUp.
  • If GPS does drop during a long run, I often find clicking "Next Lap" will kick it back into action. Also, switching back to "GPS assist" can fix a glitch and then I will return to Runnerup to continue the activity.

I don't know how many of these tips are are psychological and how many make actually a difference but I just know that GPS works a heck of a lot better for me these days. Thsi routine might sound like a bit of a complicated workaround but it only takes a few seconds of preparation and avoids the frustrating wait when you get outside and just want to RUN! Hopefully something in there will help someone reading this. I find even coming from an indoor are with no GPS, I still normally only have to wait about 15-20 seconds to get a fully accurate lock on my HTC One with the above routine. _____________________________________________________________

I acknowledge that this does not specifically address the OP's reason for the feature request but I would advise against automatically starting recording immediately when GPS is available as it generally gets more accurate over the first few minutes as satellites lock in and will take longer to stabilise if you are actually moving - so you may well end up bizarre readings for the first few minutes that will throw off all your activity stats. If such a feature were to be implemented then I would think about setting an accuracy threshold so you had to have a higher number of satellites (and hence a higher degree of accuracy) before automatically recording location as part of the RunnerUp activity in order to avoid this.

Cagier avatar Oct 02 '17 08:10 Cagier

@Cagier If you deselect "Autostart GPS", then you dont need to start another application (unless you want to force AGPS download). (You will have to press Start GPS once though.)

GPS is fundamental to RU recording right now. I have tried some quickfixes, but what that will achieve is just to delay starting the activity recording until GPS is tracked. OK for me, but a little lame behavior and hard to explain for those that just wants to use RU as stopwatch/HR recorder (cadence meter). I have considered adding a "long press on disabled waiting for GPS" button to handle this, but that would be a little hidden functionality...

gerhardol avatar Oct 02 '17 20:10 gerhardol

For my purposes it would be really great if I could use RunnerUp with indoor activities as well, where no GPS is needed. So far RunnerUp is better than any other app I've found for watching heart rate zones, and the only other one I've found is the Adidas app. Not only not open source, it costs $50/year to get that functionality there... and it isn't even as good as RunnerUp. However, it will bail on the GPS. Not saying that there aren't good reasons for why things are they way they are here currently.

bbarker avatar Nov 18 '19 20:11 bbarker

I agree it would be good to be able to record without GPS but it is not the highest of my priorities.

gerhardol avatar Nov 18 '19 22:11 gerhardol