Fallback to Offline Calculation

Potentially a matter to improve:

When driving through areas with poor or no internet bandwith, the switch over to offline calculation is not working. It calculates and calculates, but doesn’t find a new route when leaving the planned route and it doesn’t switch to offline routing (I use Kurviger and brouter for offline routing).

For better traceability what happens I find it good if the calculation method is written as text in big letters (including transparency features) somewhere (maybe at the bottom of the screen) to find out or better see when the calculation method is switched (or not where it should switch). Or would it be it easier to just use a timer in the way when a route is not found in 10 or 15 seconds, then automatically switch to offline calculation?

When there are selected 2 routing services and there is a route request, there is also an internet check.
If internet check succeeds then Kurviger server is called.

That’s the simplest implementation and I don’t intend to complicate it more.

If you don’t like that workflow, you can close internet in your device or select explicitly the offline routing.

And if you really need offline Kurviger routing you can ask @boldtrn to provide it for the app:

Also the rerouting tries to find a route every 30",
so a retry timer already exists.

The question is, how reliable is that internet check?
I remember situations (way before offline routing was introduced) where rerouting took very long, but the message that internet is missing was not triggered.

Is there any chance to improve that internet check?

The user has no good choice here:

  • If switch internet off in android then all other apps are affected as well.
  • If select explicitly offline routing, then partial rerouting is lost.

The internet check is reliable, but why the online communication with a server is slow…

Internet can never be reliable and cannot fix that, only offer offline maps + routing.

I can see if something extra is possible, but cannot make any promises.

But it does not switch to offline routing, doesn’t it?
Or is internet check repeated after 30sec?

The internet check happens in all route requests.
(so also every 30")

Recently I had several times the message “route cannot be calculated”. Last time today. In principle a simple task, I am in the middle of nowhere and want to go home. I have to select the favorite in the submenu and select as destination. Then after a while the message comes up “route cannot be calculated”.

When I then manually selcect only Brouter calculation in the submenu, then after a while a route is calculated.

In principle this should not happen to my point of view. Why does online calculation via Kurviger comes up with this error message and manually select offline calculation works? It should be possible to calculate at least a halfway acceptable route to the destination from the actual location/gps position. If not, Kurviger app could directly fallback to offline calculation and re-calculate a tour instead of coming up with an error message.

That’s route planning, not navigation.

Can Kurviger really calculate a route for your case?
And what was that route, is there some example?

If want to play with online+offline routing, nothing can be done
if a device reports that has internet and Kurviger still fails to deliver a route.

If want to use directly the offline routing, better select it explicitly in routing settings.

Or can ask for offline Kurviger routing implementation:

Probably should remove the online+offline routing.
(if it is so difficult to understand or use in some cases)

And leave only explicit options:

  • Kurviger (online)
  • BRouter (offline)
  • GraphHopper (offline)

Sure :smile:. If I can prepare the tour, most things are running smoothly including pausing and resuming.

And what was that route, is there some example?

it was no route. I was just driving and started kurviger app. Then just selected my home destination (by the way, maybe a good idea to have direct button for home and work location? or maybe an extra favorite button to select most visited locations) … the app tried to calculate a route and then came up with this message “no route calculated” (in german). I tried it several time after another and internet connection was available. As told after manually switched to brouter only (not very convenient while driving), then it worked. Therefore I would propose instead of displaying a message, first try to calculate offline automatically. If then still no route can be found for whatever reason, then finally ok, display the message. But I think it also doesn’t resume the calculation after 30 seconds, the timer is not working in this situation after the message has popped up.

This is not repeated rerouting in navigation, it’s regular route planning.
(not expected to do while driving anyway)

Right, but I did it. :joy:

But I also stopped and tried it again and it also didn’t work, at least not in the mode Kurviger (online), Brouter (offline). In this situation I didn’t test another method, except the Brouter only and this finally worked. But this doesn’t calculates my preferred routes. The Kurviger routes (quick and and curvy mode) results in better and more funny roads.

I tried to simulate “no internet” with my old tablet (Android 4.1.2, API 16) at home.
For this purpose I created a firewall rule on the router which I can activate/deactivate.

The device has only WLAN, so I can block internet by activating the firewall rule.

  1. Connection to internet available =>
    Routes can be easily calculated.

  2. WLAN switched off at the device =>
    immediate message “no internet connection”, when I try to calculate a route.
    That was expected.

  3. WLAN switched on again, but now internet is blocked via firewall rule =>
    When calculating a route, the “circle” is spinning and spinning. After about 80sec “no route found”.

In test 3. I would have expexted “no internet”, as the device definitely had no connection to internet due to blocking firewall rule.

This seems to be a good Test. Issue 3 is exactly what I have out in the fields when maybe a time out is reached because of poor Internet bandwidth. This No route found is a defined state. When this occurs why then not force calculation offline?