soundscape icon indicating copy to clipboard operation
soundscape copied to clipboard

Towns and Cities Features

Open JJGatchalian opened this issue 8 months ago • 7 comments

Before we can tackle something big by creating the High Speed Rail mode feature, maybe a good feature for everyday users would be things related to towns and cities. First there could be a Towns and Cities callout. So it announces the name of the town when entering the new town on the highway. We may need to add a new town sound effect, but the callout may be announced like this, "Approaching Moorpark." And then, once the user gets there, it should say "In Moorpark." And then we could have the "Towns and Cities" category within "Places Nearby", which allows the user to mark or place a beacon on a town or city. the Marked Towns feature, which should be placed within "Markers and Routes", would be useful when taking a long road trip and they want to mark or set a beacon on the town but are not sure what specific place in town they want to go to yet. They can always check the distance to the town using the audio beacon. Meanwhile, we shouldn't update the behavior of any of the rest of the buttons for the time being.

JJGatchalian avatar Mar 31 '25 00:03 JJGatchalian

I do like this idea. Do you know if municipal boundaries are in OpenStreeMap and how they are encoded? I'll note as well that, at least in the US, there are many so-called "unincorporated areas" that people refer to like any city or town but have no official boundaries. This is true even around some major metropolitan areas.

steinbro avatar Mar 31 '25 01:03 steinbro

I'm not sure how community boundaries are encoded in Open Street Map, but I know that address info can be entered into nodes and ways. I added some places using Go Map, and there is a city field. But if OSM doesn't have the boundaries, could we use the non-OSM database to encode these boundaries?

JJGatchalian avatar Mar 31 '25 03:03 JJGatchalian

I just checked Open Street Map with my own city, and I was able to find it. It was tagged as a city, and when I clicked the link, it says Relation. Let's use a different city as an example. I'll post the link for Chicago, IL for this example. https://www.openstreetmap.org/relation/122604

JJGatchalian avatar Mar 31 '25 03:03 JJGatchalian

I'll explain a bit more clearly how the Towns & Cities category filter may work. We might change the name to "Communities," but whatever it is, you have a list of nearby communities arranged by distance, but you also have a search bar called "Choose Community" patterned after "Choose Destination". Then when you select a community, you are taken to the "Community Details" screen where you can start a beacon, or save as marker. The marker will be saved in the "Marked Towns" or "Marked Communities" section of the "Markers & Routes" page. Meanwhile, there should be safeguards like this. You shouldn't be able to access Street Preview within the "Community Details" screen, but you can mark a beacon on a community when a session of Street Preview is already running. This might be useful if you want to start a beacon on a city, and you're crossing the border into the city within Street Preview. Another possibility is to forget about the "Community Details" screen altogether. Instead we can just use the existing "Location Details" screen and hide the Street Preview and NaviLens buttons when selecting a community from the Communities category or from the "Marked Communities" page. That way, I don't have to do a major update to the help manual because everything in the "Location Details" screen should work as normal. We may need to add a tip on using Soundscape with communities to the "Tips" section of the help.

JJGatchalian avatar Mar 31 '25 03:03 JJGatchalian

I think the first feature to tackle is the Communities callouts so that it announces the name of the community when you approach and then enter. Let's not worry about the Places Nearby or the marker and beacon behavior yet. We have to take baby steps. Now this callout doesn't need to have a toggle switch in "Manage Callouts". I'd rather have it always on just like the location updates because the majority of users don't frequently enter a new town unless they live near its border.

JJGatchalian avatar Mar 31 '25 05:03 JJGatchalian

I'm not sure how community boundaries are encoded in Open Street Map, but I know that address info can be entered into nodes and ways. I added some places using Go Map, and there is a city field. But if OSM doesn't have the boundaries, could we use the non-OSM database to encode these boundaries?

I came across another project that can identify the municipality of coordinates using OSM data: https://github.com/mysociety/mapit

I do think even just announcing boundary crossings or distance to nearby municipalities will take effort to implement, because it's a bit different than Soundscape's current model of announcing nearby points. The only boundary crossing I know of is entering the vicinity of a beacon or route waypoint, which is just a fixed circle. Also, how do you define distance to a region? For objects like buildings, I think Soundscape just treats it like a point at its centroid for distance calculations, but distance from the border is probably more intuitive for larger regions.

steinbro avatar Apr 03 '25 01:04 steinbro

I have no way of knowing how Soundscape exactly behaves by reading the code because I'm not much of a program coder. Anyway, through my experience using the app, it seems like it depends on the building how the app behaves. I think if the building is marked down as a node, Soundscape will treat the marker, and possibly the beacon, as a circle, but if the building is marked down as a way, it treats the marker based on the building's actual shape. I've been to buildings marked as ways, and the marker seems to behave differently. Anyway, I wonder how Soundscape treats places marked as relations, such as towns and cities.

JJGatchalian avatar Apr 03 '25 14:04 JJGatchalian