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

Show scale (i.e. real-life distances) on the map #5765

Open
mnalis opened this issue Jul 23, 2024 · 17 comments
Open

Show scale (i.e. real-life distances) on the map #5765

mnalis opened this issue Jul 23, 2024 · 17 comments

Comments

@mnalis
Copy link
Member

mnalis commented Jul 23, 2024

Use case
Especially when I am adding things to the map (e.g. using Things or Shop Overlay), but also when verifying existing map, it is not always easy to judge how big distances displayed on the map are, yet it is very important to place things on the map e.g. will those two things I just added to the map end up being 5m apart or 50m apart?

See also that missing functionality contributing to other issues: #5760 (comment)

Proposed Solution

It would be great if there was some scale / indication on the map showing how much an 1 cm on screen is actual distance in reality. Here is how some other apps (OsmAnd, Commons App and Vespucci) show those (I personally like OsmAnd one the best, but all are usable):

small_Screenshot_20240723_164844_OsmAnd~ small_Screenshot_20240723_164416_Vespucci small_Screenshot_20240723_164200_Commons

@westnordost
Copy link
Member

When the scale is only helpful when placing things on the map, it means that it should probably only be shown when either placing things is possible or even only when currently placing a thing.

Then again, a scale shown at the bottom of the screen is problematic as it will both be hidden by the bottom sheet and it is potentially very far away from the distance one is interested it, e.g. the distance of some building corner to the crosshair or whatever.

@westnordost westnordost added the feedback required more info is needed, issue will be likely closed if it is not provided label Jul 28, 2024
@mnalis
Copy link
Member Author

mnalis commented Aug 1, 2024

When the scale is only helpful when placing things on the map

While that is main use case, it might also useful when verifying that existing POIs are placed correctly. But yes, it would be huge improvement even if it was shown only when placing things on the map, as I encounter the problem there majority of the times.

Then again, a scale shown at the bottom of the screen is problematic as it will both be hidden by the bottom sheet

Placing it at the top (like in the Commons app example above) would avoid that particular issue

[...] and it is potentially very far away from the distance one is interested it, e.g. the distance of some building corner to the crosshair or whatever.

True, but that is not a big issue in practice (in my experience at least). But if you feel it is, and SC decides to go with center-based placement (see #5760), then there is also an option to do center-based "concentric circles"; like this more complex OsmAnd example:

small_Screenshot_20240801_021822_OsmAnd~

(the OsmAnd example shown here contains much extra cruft, like compass directions, heading etc. which are not needed for this use case; it is solely "concentric circles with distances" e.g. "50m", "100m", "150m", "200m", "250m" that I suggest here)

@Nick-Tallguy
Copy link
Contributor

Personally I would find it useful to have the scale when adding 'things' - I might find it clutters the screen at other times.

@peternewman
Copy link
Collaborator

This was previously raised as #2376 .

I'd agree with @mnalis regarding it being relevant when doing existence checks etc too (is it that bench or another one, is it misplaced or missing), particularly in places with fewer other points of reference (e.g. in a park/field). I've repeated my other comments from last time.

I was going to open one for this before, I'm not sure I ever found this one though. I was searching for scale.

If you're answering an existence check for example, then scale is important, is it this bench or not (how close is the next one).

It also differs quite significantly from paper maps by

Also being able to zoom in and out trivially, therefore throwing out any innate knowledge of scale. I got caught out by this on a paper map as they're 1:10k in Luxembourg because the country is so small and I kept overshooting as I was used to 1:25k and therefore roughly where you'd expect things.

Originally posted by @peternewman in #2376 (comment)

@westnordost
Copy link
Member

How would it fit at the top? There's already the stars counter, the menu button, the overlays button, the upload button and the messages button.

@mnalis
Copy link
Member Author

mnalis commented Aug 16, 2024

How would it fit at the top?

In that second OsmAnd example, ruler is only slightly wider than a button, comfortably fitting between 4 buttons in the same row (with enough space to fit a 5th button). (it's on the bottom row in that OsmAnd example, but it makes no difference)

here is quick copy/paste mockup (just for size comparison, so ignore the colors etc) of that OsmAnd ruler to SC:

ruler_sc

@westnordost
Copy link
Member

There can be a button to the left of the upload button (the message button)

@mnalis
Copy link
Member Author

mnalis commented Aug 16, 2024

Perhaps put it below stars then, or in bottom right? (quick mockups - more margin should be added from existing buttons)

ruler_sc_TL ruler_sc_BR

Or, if if will only be displayed while adding things, ruler could be bigger / placed elsewhere / in some other style (see previous screenshots from other apps earlier in the thread)

@westnordost
Copy link
Member

I guess below the star counter would work, space-wise. On the bottom right corner, there can be the stop-recording button.
There'd be more space and it would be a little less busy if the scale was vertical, but that is really uncommon, isn't it?

@mnalis
Copy link
Member Author

mnalis commented Aug 16, 2024

There'd be more space and it would be a little less busy if the scale was vertical, but that is really uncommon, isn't it?

Yes, that would be quite uncommon... I've only seen Vespucci do it (see pics in original report), but even it does both it as part of full-width horizontal+vertical scales. Tried mockup, looks somewhat strange, but not unusable:

ruler_vertical

@lgommans
Copy link

The stars counter could also be hidden at times where the ruler is shown in its place (while positioning elements), since stars aren't relevant during the short time this task takes to complete

(For me, the change in GNSS position as I step around gives a good idea of scale or, in urban areas, the buildings are a good reference. Was just browsing issues as this occurred to me.)

@westnordost
Copy link
Member

westnordost commented Oct 14, 2024

Another bad idea would be to show the scale below the navigation bar.

Anyway, regardless where it is put, it would turn out to be less useful than it could be, because it is only shown in one corner of the screen. What would be more useful to have is the ability to measure the distance between two arbitrary points on the map. But how to trigger this?

  • Most intuitive would be a two-finger-tap, but that already triggers either the shove, rotate or zoom gesture. Always displaying a line between the two fingers with a number on it would also look confusing.

  • Still convenient would be to trigger a measure when tapping on the "+"-button in the overlay: start point is the position of the crosshair when the button was pressed, end point is the current position of the crosshair. But while convenient, it would be somewhat confusing for users.

  • Less confusing would be to trigger a measuring with an item in the context menu (long press). The end point would then also be controlled with a crosshair. However, this is much less convenient already, and it also litters the long press menu.

In the end, I think what would somewhat mitigate the thirst for such a UI feature would be to display satellite imagery, but this is another ticket.

@mnalis
Copy link
Member Author

mnalis commented Oct 18, 2024

TL;DR: IMHO small static ruler would be better than explicit user-triggered dynamic measurements (even if those would be more precise) .


... and not just because of ease of discoverability, but ease of use - quick glance is always easier than finger gestures (and hugely more so if those gestures happen to require using both hands or multiple touches!)

it would turn out to be less useful than it could be, because it is only shown in one corner of the screen

Not really. As noted in examples earlier, I do use such static rulers in several different apps with different layout, and do not have much problem with it. Note I never use it a geodesic tool -- high-definition precision is not the idea, but just getting the approximate estimation of distance (i.e. scale).

IOW, when mapping in SC I'm not really interested if that is 5.9 or 6.1 meters between those two mapped shops/atms/benches/whatever; but I'm very interested to know if that distance is about half a meter, about 5 meters or about 20 meters or about 100 meters.

Even if it the app would be more precise, it would be useless in practice, unless I were carrying and using a measurement tape (or laser distance measurement tool) all the time. Sure, app may tell me those two ATMs are exactly 5.12 meters apart, but my eyes/internal navigation will not be able to confirm or that (at best I could say by quick eyesight without significant effort is that it is about 4-6 meters apart, and even GPS measurements will have errors)

What would be more useful to have is the ability to measure the distance between two arbitrary points on the map. But how to trigger this?

Well, those whole idea about having to explicitly manually trigger this ruler display reduces its usability significantly. And, as your suggestions note, if the ruler jumps randomly on every screen touch (which partially resolves that usability issue by makes it very easy to trigger) it will get annoying in those 90% of the cases when you don't absolutely need a ruler (but might still come handy if was always-on).

OsmAnd for example does offer that capability of user-triggered precise measurements too (as a third OsmAnd way to measure distances, in addition to the two mentioned before. There if a also a fourth way in OsmAnd, that allows composite ways and is even more powerful, but that is part of complex full .gpx editor, so I won't detail it here).

small_Screenshot_20241017_205839_OsmAnd~

That third way allows user-triggered measurements both as a current-location-to-touch-point and as a multitouch-distance-between-two-points; but I've rarely if ever used it, as additional complexity and UI overload was not worth it - slight mental calculation of just looking at the ruler and rotating, transposing and multiplying was practically always more than good enough for me.
(even if we're talking kilometers instead of meters where difference is much more noticable, my instant approximation of "about 5km more biking over that grass path until we reach asphalt again" was always more welcome than "let use stop for a moment and I can look it up and precisely tell you if it is 4.7 or 5.3km". While SC mapping is obviously quite different than dynamic bicycle route planning, the same issue of "ease of convenience is much more important than extreme precision" maps surprisingly well to that use case too)

@mnalis
Copy link
Member Author

mnalis commented Oct 18, 2024

I think what would somewhat mitigate the thirst for such a UI feature would be to display satellite imagery, but this is another ticket.

Only in (very limited) amount of cases.

E.g. in that OsmAnd example picture above (i.e. big buildings with multiple amenities, which is one of the significant uses, if not the main one), satellite imagery wouldn't help at all.

And in many other cases where satellite imagery might help, it often doesn't because the resolutions are usually too low. (I do use satellite imagery both in Vespucci, OsmAnd and SCEE from time to time, but even local Croatian aerial imageries which are better resolution then public Bing/Maxxar are very often insufficient. And then there is the dynamic satellite imagery offset issue with them, dealing with which pushes that workaround to Vespucci or SCEE territory at least, IMHO)

@westnordost westnordost removed the feedback required more info is needed, issue will be likely closed if it is not provided label Oct 18, 2024
@westnordost
Copy link
Member

with the new arrangement of buttons in v60, below the buttons on the upper right corner might be a reasonable space for this. (PR welcome)

@mnalis
Copy link
Member Author

mnalis commented Nov 14, 2024

with the new arrangement of buttons in v60, below the buttons on the upper right corner might be a reasonable space for this.

Something like this? (too complex for me to implement, but a mockup to discuss / potentially help anyone doing it)

ruler_sc60_topright_big

(style and color are of course better chosen with someone with actual artistic ability 😸 )

@westnordost
Copy link
Member

Yes, right-aligned and black with white outline (like stars counter). When zooming in and out, it should behave as other such ruler do, i.e. the number remains constant until it flips to the next value (10m, 50m, 100m etc.) while the length of the ruler changes.
The measurement unit should be localized, maybe with the option to switch between imperial and metric on click for locales where both is used sometimes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants