Skip to content
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

Nearby: Load pins as I move the screen, cache pins, remove "search this area" button #5664

Open
nicolas-raoul opened this issue Mar 27, 2024 · 6 comments
Labels
enhancement gsoc Google Summer of Code nearby

Comments

@nicolas-raoul
Copy link
Member

nicolas-raoul commented Mar 27, 2024

Currently, when you move the map in Nearby, you have to tap "search this area" to load the pins in the area you moved the map to.

It would be more user friendly to automatically load the pins (like Wikishootme does).

Our queries take more time than Wikishootme because we load more information about each point. To avoid losing the already loaded pins (which probably are close to where I am, and thus will probably be shown in the map again shortly afterwards), each pin should be cached in the local database, with its attributes (label, class, latitude/longitude, Wikipedia URL, needs photo or not, exists or not, etc) and also the timestamp it were fetched.

Cache invalidation:

  • Once a day, the cached pins whose timestamp is more than 7 days in the past should be removed from the cache.
  • Every time the user initiates an upload from Nearby, the pin it came from should be removed from cache (no need to wait for the upload to finish if that makes implementation complex).
@nicolas-raoul nicolas-raoul changed the title Nearby: Load more pins as I move the screen, cache pins, remove "search this area" button Nearby: Load pins as I move the screen, cache pins, remove "search this area" button Mar 27, 2024
@shashankiitbhu
Copy link
Contributor

@nicolas-raoul this will greatly enhance the Nearby feature, I am currently working on Nearby, I would love to take this task as well, can I work on this?

@kanahia1
Copy link
Contributor

kanahia1 commented Mar 27, 2024

Hey @shashankiitbhu, I think we should work on #4560 first than working on this issue. Otherwise this issue will make things much expensive. Also this issue is now part of GSoC project. How about leaving this for GSoC ?

@shashankiitbhu
Copy link
Contributor

Hey @shashankiitbhu, I think we should work on #4560 first than working on this issue. Otherwise this issue will make things much expensive. Also this issue is now part of GSoC project. How about leaving this for GSoC ?

Sorry , Just Checked it on Phabricator, Leaving it For GSOC

@shashankiitbhu
Copy link
Contributor

@kanahia1 It's better do both together in a GSOC , I agree that the mentioned task should be done first

@nicolas-raoul nicolas-raoul added the gsoc Google Summer of Code label Mar 27, 2024
@ShashwatKedia
Copy link
Contributor

@nicolas-raoul, would we want to cache the pins only within a specific radius around the user or cache all loaded pins?
Also, shouldn't we invalidate the cached pins if the current user location changes by a significant distance (for ex, before and after giving location permission, the location changes from default to the current location)?

@nicolas-raoul
Copy link
Member Author

I think we should cache everything, irrespective of distance. The data is light, I don't think it will ever go over 10 MB.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement gsoc Google Summer of Code nearby
Projects
None yet
Development

No branches or pull requests

4 participants