-
-
Notifications
You must be signed in to change notification settings - Fork 358
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Option to play a sound when close to a quest #48
Comments
If you are driving, you should look on the road..! ;-) But well, seriously, actually you should. StreetComplete is more geared towards on-foot survey, actually. Usually, the density of quests - perhaps not now since there are not many yet - is so high, that you do not need to drive anywhere to "find" quests. I plan to add a feature that displays an arrow at the screen border that points towards the closest quest if none are in view. That should solve the issue of "finding" quests if the quest density is really that low that you have to drive there. |
I use your app while cycling. And I cycle a lot in different areas so it would be nice if I could get a notification when I am close to a quest because the display consumes a lot of battery. |
Ok, sounds reasonable. However, this has no high priority |
It would be awesome if this sound (or maybe: just a default Android notification) could also be played when the screen is off (optionally, at least). This could be very useful to save energy and the advantage of Android notifications would be that some devices/custom ROMs/… light up when a new notification is shown and display it shortly so the user can see that this is from this app and maybe could even read the type of the quest or so. |
I would appreciate a sound notification while the screen is turned off. I dont want to look always on the screen while I am walking with my dog |
A feature like this would mean that the app continuously needs to monitor your position while in the background. Personally, I despise functionality like this as long it is not clearly announced in the app before. I am not sure if there is a technical difference between "in the background" and "in the foreground but the screen is off". The latter would be less invasive. On the design side, the app could show a notification just like when it is currently downloading quests that communicates to the user that a "quest proximity alert" is on. However, as said, this has not high priority right now, there are so many other things that need to be done in this project atm. |
Sorry for the duplicate, I saw this issue but somewhow from the title it didn't seem it was the same (not sure why :) Indeed, if this distinction exists I think it'd be better to use “app in the foreground with screen off”. Citymapper (and other navigation apps I guess) do something like that: when you're on your way you don't need the screen to be on to have navigation tips. Notification would be just fine for me, at least for my use case where I just use the app while commuting and I don't have my eyes directly on the smartphone but rather on the path (I could also use the app while skateboarding, where you definitely don't want to have your eyes on the phone). Anyway, I can understand low priority, thanks for the work! |
+1 for having the app run in your pocket and notifying you when you're within a configurable distance of an unsolved quest. |
This should be implmented after the filters. For house numbers a want a notification but not for building levels. |
Well, why not let the user decide what quests they'd like to get notified for? Sure, this could be post-filters, but it'd probably make sense to consider offering notifications for only a subset… |
I also have the same need when walking and there is no quest for a few minutes. I don't necessarily want to look at my phone all along the walk if quests are quite rate. This is in particular true when new quests appear on a path you use regularly and for which you have already solved mosts quests. I suggests that this could be configured as in the quest-selection menu, with a button on each quest, rotating between:
We could first do this without background mode: the screen is still on while the phone is in your pocket. |
Was just thinking this would be amazing when I'm out walking or biking! Currently, I have to keep my phone unlocked and up to my face which can make me a bit distracted. A more "ambient" mode would be great so that I can decide if I want to listen to the notification or not at the given moment. |
Im not sure if this functionality makes sense. I think either you are actively looking at your screen or you are...not. Why getting notified? And also, most areas have bunches of quests on each street. SC would go crazy for most quest where one actually knows that this area should be mapped. So why extra remind? |
Sorry folks for the notif, just want to add my 2 cents here, i feel the way google map does it is really powerfull, like maybe you don't need a notification and sound and all, but whenever you open your phone you got a notif like "hey, you where in a shop there right? what is it's name?" Sometimes while walking i don't think about streetcomplete, and a small nudge (de-activable) could be really helpful, even apreciated :) |
Thanks for pointing me here. |
Please also consider making the solution independend of gapps. |
StreetComplete doesn't use gapps at all |
Perfect 👍 Just thought that it might be tempting to use it for notification, but please don't (or implement an alternative in case they are not available on the device) |
I can see this as a being useful but only if quite configurable, like notify by quest type and at what distance. Off by default would be good. I suppose this means a bit of an increase in data usage since it would need to download areas it doesn't have cached while not actively using the app, though, for some cases, this is pretty desirable (like walking or bicycling in a busy area). |
Hey, bad news for everyone who would like this implemented. I decided to close this issue as will not fix, after conferring with @matkoniecz about how it could be implemented. During our conversation, a lot more difficulties and/or problematic UX was revealed, so that we don't think anymore there is any reasonable way to implement it. Probably none of the reasons below are absolutely not solveable, but in total, it just adds up to the feature not being reasonable: So, the use case is that you are on the road, e.g. cycling, thus covering a large area or rather, route. And certain (or all?) quests are really important to you, so you want to be notified (with sound) if any of this is near. Issues
|
Thanks for the explanation. Sucks, but totally reasonable. Thanks for investigating it. |
Thanks for that good long reasoning and explanation! Regarding this, I just want to add a valuable resource:
Yes, definitively. Each setting has a cost that should not be undeterminated. |
ad 7: I managed to download enough data that StreetComplete started having noticeable slowdowns. Just by solving quests along my way as I cycled on multiple longer trips. Clearing app data completely fixed this slowdowns so it was almost certainly caused by persisting data for a large area. |
Not sure how these slowdowns are posssible though. Fetching the data to display should not take inherently more time as the local database grows. Well, maybe a little, but I don't expect it to be by much. Access to data by bounding box is indexed in the database. Not sure if database fragmentation (=database becomes scattered over the file system on the disk drive) is possible with SQLite. Other causes for a slowdown currently don't come to my mind. Theoretically, displaying all those quests at once on the map may slow down the app. When you move, or even just scroll through the map, ever-more-larger areas with quest pins are pulled from the database for display which involves converting the data to a GeoJson string and pushing that data into tangram-es. But IIRC each time you solve a quest, all quest pins that are displayed are cleared and the quests for the currently viewed area are pulled from the database again (because tangram-es does not support removing/adding single quest pins, only remove/add everything). Yes, this itself is slow, BUT then only the quests that should currently be in view are pulled from the database, not the potentially huge area that was displayed before. So in other words, this should not get worse over time / with more data. Maybe next time this occurs, try the following (and report back to me:)
|
OK, next time I will do this. There are many cofounders possible, but I am pretty sure that there was a slowdown. As bonus, even uninstalling was tricky: I triggered uninstall and phone become frozen for quite long time (around a minute) and I rebooted it. After that I triggered uninstall the second time which worked. Sadly, I have not checked how much space app was using or tried clearing app cache then. |
For those adventurous enough to try it, in SC Expert Edition fork v48.0-beta1 there is now an setting which would put notification (with sound) when there are quests nearby! |
Interesting! @Helium314 : How did you overcome the issues I described in the post that explained why I closed this issue?
Is there any reason why this cannot be added upstream, too? |
Currently this is a rather simple implementation.
And it's not tested at all on Android versions that require background location permission.
|
I was unable to get it working. Could you provide exact steps needed?
|
Whitelist app via https://dontkillmyapp.com/ instructions? @NotSoImportant But you should likely open a new issue at https://github.com/Helium314/SCEE/issues as it is implemented in that fork, and not here in upstream StreetComplete. (I only linked to this upstream SC issue to notify interested parties of the related implementation in SC EE fork) |
@NotSoImportant you should see a permanent notification if the setting is enabled, and SC is in background. |
Useful while driving and when the display is off.
Maybe a setting how close one needs to be (100m, 50m, ...).
The text was updated successfully, but these errors were encountered: