mapsme / omim

🗺️ MAPS.ME — Offline OpenStreetMap maps for iOS and Android
Apache License 2.0
4.57k stars 1.15k forks source link

Searching for "sky tree" in Tokyo #8389

Open thany opened 6 years ago

thany commented 6 years ago

Try searching for "sky tree" while looking at Tokyo. You won't find it. Tokyo Skytree is an incredibly popular attraction. Everyone will be able to point you towards it - mostly because it's visible from accross most of the city.

But alas, "sky tree" does not yield any result pertaining to the Skytree. Instead, you have to search for "skytree", because that's how it happens to have been listed. I have no way of knowing this!

So the search is just stupid, at the moment. Not stupidly written, hopefully, but stupid in the sense that it searches literally for what you typed in. The above scenario suggests that there's no intelligence to make a guess at what you might have also meant to search for. On a side note, there doesn't seem to be any intelligence to the order of the search results. Surely, the Skytree itself should be listed higher than "restaurant X with Skytree-view" or something like that?

This problem occurs in many places, and not only in the form of a missing or extraneous space. Especially in Japan, sometimes a thing can only be found by its native Japanese name, sometimes only by its name in Romaji, and sometimes only by its Hiragana name. Other places might include a dash or some other character that I can't possibly anticipate. So if I'm looking for a sushi restaurant, should I search for "sushi"? Or should I search for "寿司" or "鮨" or "すし" (all these mean sushi in Japanese)? I have no way of knowing. And it probably won't even turn up sushi restaurants that don't have the word "sushi" in their name.

All this means that in order to search properly, we have to magically know how exactly the thing is listed, which defeats he purpose of searching. AND we have scroll through a potentially giant list of BS results that are irrelevant or unimportant. On top of that, the position&zoom of the map seems to bear no relevance to the results list. What good is it, if I'm looking at a map of Tokyo, search for "sky tree" and find places that not only aren't the Skytree, but are also far outside of Tokyo? No good at all, that's what.

pshem commented 6 years ago

For general searching - searching phrases within a short levenshtein distance when no exact matches are found would definitely be welcome.

For sushi, I think there are precise restaurant categories on openstreetmaps.org but the're not used in maps.me because most restaurnts don't have those filled.

Searching does prioritise results that are close to the position the map is currently pointing at. When none are found, other objects will be promoted in the search.

thany commented 6 years ago

I think the issue is that the search isn't intelligent. I don't mean that in a diminutive way; it's an expression.

You can only search for phrases as they appear exactly in the OSM data. So superfluous or forgotten spaces will turn up unexpected results (the skytree example). More generally speaking: the search doesn't account for spelling mistakes, which are very common on phones, and very common among non-English speakers when searching English named placenames, or just very common among people looking for places in a country they don't speak the language of, or where that language isn't their first language (for example, an English person looking for a German placename).

On top of that, some OSM data is in local language only, and others in a generic language like English (but might as well be Spanish in South-America). In countries with two or more official (written) languages, this is ever more tedious. There are many such countries: Canada, Malta, South-Africa, China, Belgium, etc.

A possible solution is for the search feature to automatically translate or transliterate a search into the local languages of the country the map is currently pointing at. This is hard in more ways than one, but cool things aren't always easy.

The easiest thing to fix, is for the search to prioritize results that are closest to the area where the map is pointing at. However it should still be possible to find results on the other side of the world.

thany commented 5 years ago

The maps.me team, as it appears, will even silently ignore issues like these. Where people have put some thought into getting towards a solution, or at least identifying the problem.

Are you guys actually still doing something?