Node Types - Multi use and meaningful for routes (Traffic Lights, Lane Guidance, etc)
An intersection always has a node, this node could become much more meaningful than simple turns and could significantly enhance the functionality of Waze (albeit with a significant development penalty).
By adding some logic to nodes you will be able to introduce some logic that will significantly enhance the ability for the routing engine to calculate superior routes when taking in things like traffic light penalties and other metrics.
1) You can collect timing metrics for intersections much more efficiently, and potentially learn intersection timing and other factors which will help produce much more accurate route timings without depending on segment traversal metrics (which in has many drawbacks, including underutilisation not populating metrics for meaningful calculations) it could become a cumulative metric for "hour of day" leading to a permanent figure affecting routing evaluation.
2) By adding a widget in the editor for "in/out lanes, including directions" to the node, you can build lane guidance at the node level for routing and direction purposes. Admittedly it would lead to some level of complexity, and ideally a L3 and above editor would only be able to configure this one with training.
3) Default penalty of 30 seconds could be applied to any intersection with a traffic light which would lead to meaningful routing choices without any cumulative data. Many routes are much faster by avoiding long drives with many traffic lights, even if those roads have more meaningful segment data than others.
I personally don't use many of the Waze routes in my city as I know the area well enough and which side streets to use that avoid traffic lights at each time of day, and my choices are based almost exclusively due to traffic light delays (often leading to significant time savings depending on the length of journey). Introducing this same choice into the routing engine may very well lead to a market leading engine that is significantly different from all the rest, and the only way it can be implemented is through user editing like Waze.
-
Lysdexia Eht commented
Further to this, the two pictures linked is as I imagine how the editor could work.
When you select a node, two checkboxes are visible. One for traffic lights, the other for lanes.
When you select traffic lights, the nodes on each segment are already flagged as being controlled by traffic lights, no other action is required, and a 30 second penalty is added to that node for routing purposes. Beyond that those nodes will over time calculate time of day penalties based on real traffic wait times (granularity is up to Waze, 30 second, minute, quarter hour, half, or full hour etc).
Lane Guidance would become available once you select a segment and is visible as a button with a separate simple editor window only offering lane choices through combo boxes (number of lanes) which populates a series of lane comboboxes with arrow choices.
The greatest problem facing development is the UX of implementing lane guideance, this could be a representation issue, next to the arrow comboboxes the direction of travel related to the arrows may need to be represented such as A -> B or B -> A (vertically) independent of the orientation of the editor window for the segment being edited which will imply editors can adjust their orientation properly ... similarly only offering 4 directional arrows would only be necessary, being left, right, up (straight), and U-turn.
Permitted turns on the node (existing implementation) would augment the lane guidance, for example in the linked example there's a left turn permitted, but the left turn is a straight arrow, meaning it would direct users to the left straight lane to turn left (represented by a straight arrow with a left arrow branching off) but from an editor perspective it would simply direct people to only add as straight not left arrow.