Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Semi unrelated question: Am I the only one who wished navigation apps allowed more precise control of route complexity?

Just a slider that goes between "minimum number of turns" and "most efficient" would be nice. Optimizing a route for complexity vs efficiency is a very important consideration when planning a route. A way to do that in a navigation app would be really nice. I appreciate the intention but taking four extra turns and a one way street or two to save one minute when going somewhere that's one turn off a main road is rarely a good idea. If I'm driving rural state highways for three hours I'd much prefer to go 150mi on two roads than go 120mi on ten roads.



I'm paid to work on navigation software: http://www.project-osrm.org/

The answer to your question is: because it's hard to make some of these adjustments on-the-fly and still have reasonably fast queries.

On embedded devices, space and processing power are limited - so you need to perform optimizations to speed things up so it's usable. These optimizations usually limit the flexibility of features like you're requesting. That's a basic trade-off.

For server-side routing solutions, you need response time to be fast so you can scale - again, you need to optimize your data and you lose flexibility. Route calculations are CPU heavy, it gets very expensive to serve lots of users if your route calculations aren't fast.

There's a lot of algorithm research being done in this space - the last 5 years have seen some really smart new approaches. However these haven't been deployed commercially in very many places.

If you'd be happy with 10s of seconds to calculate a route on your phone (offline), then you can have all the flexibility you want :-) This is rarely desirable, so very few implementations are as flexible as you want.


Just having the option to specify "No left turns" would be immensely helpful.

I believe UPS has done this for years to streamline their delivery-truck routes, albeit probably not in real time.


Just for kicks, I used OSRM and added a large time penalty for taking left-hand turns.

Here's the kind of route you get:

http://imgur.com/VW63fq1

In reality, the metric probably needs to be a lot more complex than what I hacked together here. It's actually more like "don't turn left across traffic, left turns are ok onto one-way streets, etc", my metric was simply based on turn angle, and there are a bunch of scenarios where that falls down.

The rule probably works well in travelling salesman-like scenarios - you want to optimize the route to deliver multiple packages.

Having played with adjusting these kinds of metrics quite a bit, it's never as easy as you want :-(


Similar thought, but in cities, I'd prefer to cross major streets and make left turns at signaled intersections. I might save 2 minutes on my 30 minute commute, but those are incredibly risky and stressful maneuvers. I use my GPS because it has saved me from an hour of traffic more than once, but I don't need to risk my life to save 30 seconds.


OSRM is looking at improving this exact situation right now: https://github.com/Project-OSRM/osrm-backend/pull/2912


I want "I am unwilling to make u-turns." They are illegal by default in the city of Chicago, but if you miss a turn, Google will try to get you to make a dangerous and illegal u-turn. If you ignore that, it'll suggest you another one further down the road. No thanks, I'm not turning around on Michigan Ave at rush hour.

I've looked into this. Apparently you set turn restrictions per-intersection in the maps data editor. No one has the patience to go check "u-turn not permitted" on all the Chicago intersections that don't have it currently, so we're stuck without major architectural changes from Google.

"Avoid u-turns" should be next to "avoid highways."


The fact that you can't default to skipping tollways is ridiculous.

I have to manually toggle that every freaking time in a city with tolled roads. And you usually only end up saving a minute or two over free routes.


I'd actually rather have the device tell me to turn around at a convenient place. Finding a place to safely go the other direction is part of learning how to drive and the exam anyway, and how to do that is at the discretion of the driver. Could be a U-turn, could be a roundabout, could just be going into a side road and using a drive way. But as you note, the map data rarely has the information where is possible or allowed.


My biggest issue is the lack of control over routing in general. I've several times been in the position where all routes on the navigation device pass through the road in front of me, yet I'm sitting in the car looking at a road closure. At that point I know there's a way round the obstruction, but the navigation is of no use in finding it.

A simple "don't use this road" marker seems to me like a really useful feature, yet I've never seen it in any of the satellite navigation systems I've used.


Nope, you're not the only one. I primarily use Waze, but its hyperoptimization drives me nuts. I'd like it to weight "pain" into its calculations, such as (left) turns, to reduce the number of times when a route includes a large number of road changes that, in aggregate, save 1-2 minutes on a 30-minute trip.


I have found Apple Maps to be the absolute worst offender of route complexity. Although sometimes we use it for the specific purpose of taking the scenic route.

It will almost always suggest a confusing “shortcut”, which takes more time because it doesn’t account for all the additional turns, stop signs, speed limits, etc. It would be nice to have an optimization slider, or even a global setting for which mode you prefer.


You must be using google maps :) I have a garmin standalone unit, and android on my dash, making it easy to contrast and compare. Google likes to pick the clinically shortest route, expecting that traffic lights and left turns take no additional time. When ignoring them and taking a more sensible route, you find that their elaborate complexity by their own calculations would have made at most 1 minute of difference.

Google has been improving over the years, but still hasn't caught up with the user friendliness of garmin. Garmin seems to give the kind of directions that a human navigator sitting next to you would. Google seems like a machine that knows nothing of the real world!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: