soundscape icon indicating copy to clipboard operation
soundscape copied to clipboard

Separate transportation and intersection info in the Mobility category

Open jchudge opened this issue 7 months ago • 15 comments

Separate transportation and intersection items in the Mobility category under Manage Callouts' in the main Settings menu

jchudge avatar May 12 '25 19:05 jchudge

That switch actually controls three callout groups: intersections, transportation, and safety (e.g. steps and other hazards). Do we want to group safety with intersections or with transportation? Arguably the intersections are a type of safety callout, but perhaps the point of separating the intersection callout toggle is to allow everything except intersections to continue being called out.

steinbro avatar May 14 '25 02:05 steinbro

That's a great point :-) Perhaps we split out all 3 separately? All the other Callout options are quite binary whereas this one currently incorporates 3 different types...so splitting them out will allow a person to fine-tune the information they wish to hear. It will increase the panel and require more scrolling for the page...but I think it's worth doing.

jchudge avatar May 14 '25 11:05 jchudge

I could also argue that the safety spots callout should remain on unless the user decides to turn all callouts off. In the early days of Microsoft Soundscape, there used to be a toggle switch for the Location Updates callout, but starting around the early 2020's,the Location Updates callout became permanently turned on and cannot directly be configured by the user. My argument to leave safety spots on is so that the user is always aware of anything hazardous while walking around. That way the "Manage Callouts" menu wouldn't be cluttered with too many configurations. If we decide to go ahead with my solution, I also wrote a revision to the help documentation explaining "Note: some callouts essential for safe navigation do not have their own toggle switch and can only be disabled with the "Allow Callouts" button." Anyway, having all three callouts in this section or just Transportation and Intersections will be an improvement, even for sighted users. The term Mobility isn't as intuitive for the average user.

JJGatchalian avatar May 14 '25 13:05 JJGatchalian

I can look into this

MBtheOtaku avatar Jun 30 '25 17:06 MBtheOtaku

Do we know which files in the backend are connected to the different toggles that we want from the Mobility section?

MBtheOtaku avatar Jun 30 '25 18:06 MBtheOtaku

The code where the single toggle is changing three separate settings is here: https://github.com/soundscape-community/soundscape/blob/6a84924d63fc0a2542abac51d8c823832f0330d7/apps/ios/GuideDogs/Code/Visual%20UI/Controls/Settings/CalloutSettingsCellView.swift#L84-L90

The visual design for the toggle is in a storyboard: https://github.com/soundscape-community/soundscape/blob/6a84924d63fc0a2542abac51d8c823832f0330d7/apps/ios/GuideDogs/Code/Visual%20UI/Views/Settings.storyboard#L270-L317

That's all you should really need to tweak for this feature. You don't need to dive into how those settings are used by the AutoCalloutGenerator to filter the announcements.

steinbro avatar Jul 01 '25 01:07 steinbro

Just for clarification, I separated Transportation and Intersection into 2 different toggles. Before I make a pull request I want to confirm that we get rid of the Mobility toggle altogether and it just be the 2 new toggles?

MBtheOtaku avatar Jul 17 '25 18:07 MBtheOtaku

Based on your description, it looks like you are using my suggestion of leaving the safety callouts on permanently without a toggle switch. It might be a good idea to look at the advantages and drawbacks of the two suggestions. Would we rather have fewer toggle switches or a more customizable UI? My own suggestion has the safety callouts to not have a toggle switch so that the user is always aware of them in order to stay safe while walking. This may be good with cane or guide dog travel or for those individuals who are less experienced with O&M because a mobility device alone may not catch some safety spots. This solution also produces a less cluttered UI. You could argue in favor of the previous suggestion from Jchudge that having a toggle for safety callouts so the user turns off everything except for intersections may produce a more streamlined listening experience. That solution could be great for very experienced cane travelers who don't need that much guidance from Soundscape's callouts. The drawback is that the list of toggle switches looks a bit too long and overwhelming for beginners. Should we take a vote or something? Thanks.

JJGatchalian avatar Jul 18 '25 01:07 JJGatchalian

Mmm, I don't think we should make safety callouts permanently on. There's a valid use case for the app for low-vision non-cane users who don't need assistance finding steps and crosswalks but just want to hear road and shop signs they can't read.

I'd suggest making three toggles, for mobility, transportation, and intersections. This shouldn't be much more difficult than two toggles, since the setting is already split into three under the hood.

steinbro avatar Jul 18 '25 08:07 steinbro

Thanks, since I don't object to having three separate toggle switches, should the new buttons be labeled "Transportation," "Intersections," and "Safety?" What should we do with the old "Mobility" switch? I assume that the "Mobility" or "Safety" button would be redundant if both buttons are in the UI so I think we can try either of two solutions. If we keep the "Mobility" label, and use the safety callouts for that label, then we should create an accessibility hint like "Info for safe navigation." If you would rather go with "Safety" as the new callout name, the hint for the button could be written as "Info for safe mobility." I can't come up with a good hint description right now, but you should get the gist. After everything is put together, the final list should be ""Allow Callouts," Places & Landmarks," "Mobility" or "Safety," "Transportation," "Intersections," "Distance to the Audio Beacon" and "Repeat Callouts." Maybe the order of callouts can be switched around a bit. Since the old "Mobility" hint said "Intersection and Transportation Info," it may be better to put the "Transportation" button after the "Intersection" button for consistency.

JJGatchalian avatar Jul 18 '25 15:07 JJGatchalian

Ah, good point, the three categories should actually be Mobility, Safety, and Intersections. The "Mobility" category encompasses some random stuff that aren't directly related to modes of transportation, like ATMs and NaviLens codes.

Here's a stab at the new hint text:

  • Mobility: Practical features like crosswalks and bus stops.
  • Safety: Potential hazards like steps and construction areas
  • Intersections: Announce street names and their directions

steinbro avatar Jul 18 '25 15:07 steinbro

So how I'm understanding what the final list should look like is this: "Allow Callouts," "Places & Landmarks," "Mobility," "Safety," "Intersections," "Distance to Audio Beacon," and "Repeat Callouts." BTW, thanks for the new accessibility hints.

JJGatchalian avatar Jul 18 '25 19:07 JJGatchalian

So how I'm understanding what the final list should look like is this: "Allow Callouts," "Places & Landmarks," "Mobility," "Safety," "Intersections," "Distance to Audio Beacon," and "Repeat Callouts."

Yep, that sounds right to me.

steinbro avatar Jul 18 '25 19:07 steinbro

This message is for MBtheOtaku. I saw some of the changes in your "Log Of Changes" pull request, but it's better if you open a PR just for this issue. When you open up a new PR, be sure to put in the localized text for the new callouts and hints into the strings. That way, when it gets merged, I can be able to translate everything to Spanish on Weblate. BTW, I already have the text of Steinbro's hints in Spanish in my notes so I can just copy and paste. Thanks.

JJGatchalian avatar Jul 25 '25 21:07 JJGatchalian

Yeah I'm not sure why the commits for the new issue are going to an old pull request I made a long time ago but I will try to separate it out and make a new one

MBtheOtaku avatar Jul 28 '25 19:07 MBtheOtaku