Sometimes I got a strange routing with traffic-lights or crossings on the way, but I know it would be saver and quicker using another route. Do you give time-supplements for traffic-lights or crossings to prefer other routes without them? Sometimes route-calculation differs just seconds or a minute. Time-supplements would make routing more realistic.
That's a real bummer. I fully expected that you would have a set of speed penalties for the several "obstacles" possible, being (but maybe not complete): barrier, traffic_calming, traffic_signals(*), crossing(*), stop(*), give_way(*), toll_booth(*), ford(**). *: tag=highway, value=... **: ford can be a highway value and a separate tag
Each needs its own speed penalty which should be incorporated in the route calculation. A traffic calming or crossing takes less time (on average) then traffic_signals. That is how a number of apps work.
Edit: Now I also understand a few routes which didn't make sense to me.
It also has influence on how you cross a city or go around it. It might even have influence on a related problem mentioned in "Routing Problem". Maybe that routing problem would also have been solved if all the speed penalties would have been in place.
I see :( In theory it is quite simple. When using the A* (bidirectional) algorithm for every shortest path segment you get a "time to pass" (taking the heuristics and road preferences into account). To this calculated time for that shortest path segment you add a number of "speed penalty seconds": Say 30 seconds for traffic_signals and 10 seconds for a crossing or traffic_calming.
Not being a java programmer :D, I should think it could be easily implemented.