Scottish-Tech-Army / Soundscape-Android

This is the source for an Android version of the original iOS Soundscape app
https://scottish-tech-army.github.io/Soundscape-Android/
Other
2 stars 2 forks source link

Search #151

Open davecraig opened 3 days ago

davecraig commented 3 days ago

This is potentially the most complex feature to implement on Android. As well as searching the database of markers, and showing recent callouts, the iOS app also runs an Apple maps Internet search. It also shows results as the user types. However, I'm not impressed by the search results and most of the address needs entering to get the result I'm looking for.

There are several ways that we could implement this with varying complexity. It's hard to gauge how many searches our users would do - it may be that they do a lot when setting up Soundscape in the first few days and then never again.

  1. A simple option might be to only search our markers and have a separate button to launch Google Maps. We already support sharing a location from Google Maps back into Soundscape.
  2. Full commercial search from within the app (e.g. Google) is prohibitively expensive and we really want search to use the same mapping info as the UI and audio callouts.
  3. There are open source options and https://photon.komoot.io/ seems like the best from a feature perspective. It returned all the places I tried to search for, and it has typeahead auto-complete. It can also be used with "location bias" which means that it returns nearby locations first which. Cost of hosting our own server running this would need to be investigated.
  4. https://www.geoapify.com has a service which provides both and search capabilities. Their pricing is more expensive than running our own protomaps server, but possibly not much more than running our own search too.

Perhaps we could go with option 1 initially and see how users find it, and add analytics to record how often search is used.

https://scottish-tech-army.github.io/Soundscape-Android/mapping.html has a discussion of the mapping tile server, but I haven't written anything up on search yet.