Zikes - The "Overly" Opinionated Routing

My name is Remek Zajac and I have prepared this web page to showcase Zikes* - the bicycle journey planner I've been working on, much in my spare time, for the last couple of years. With Zikes I make the following two (product) bets:
  • That it is the best long-distance bicycle journey planner available. Contrary to ad-hoc approaches of 'get me there now', Zikes lets cyclists prepare, annotate, share and scrutinise a multi-legged journey before they take it. I am a keen cyclist myself - especially following my knee injury. I pedalled through France, Spain, California and the whole of northern Europe. I've done London->Wroclaw once and every time I'd gotten myself frustrated with the inability to store, inspect and sufficiently tinker with my plans. I wrote Zikes to address the needs I had with the hope that I am not alone in having them.
  • That there is enough people pining for the à la carte path finding it offers. By recognising the plethora of temperaments, motivations and ever-changing dispositions - contrary to existing services catering for a common denominator - Zikes makes a simple guess that you may like to climb that windy scenic back-street today, but prefer a bigger road tomorrow as there is so much more distance you need to cover. 
I brought Zikes to life inspired by my trip to Barcelona. Initially because it was a very interesting problem domain to tinker with. Now, as write this in Nov 2016 and as my codebase seems to have outgrown its prototype vest, I decided to give it the final push and offer it as a free tool to whoever takes a fancy.

Structure

Zikes has four relatively independent sub-projects to it: 
With the exception of the Appengine backend, all the above components have been written by me.

Inspiration (Barcelona)

Back in 2012 Simon, Rob and I (who all lived in London) concocted a plan to visit our mutual friend Ivan (who lived in Barcelona) on bicycles. Not all the way from London - just what we thought would be the most interesting part of that way: from the northern foothills of the Pyrenees onward. All just shy of 300kms. 
We knew the Pyrenees were not to be taken lightly, we expected snow, switchbacks and steep climbs. As we read, unlike north European ascents, the southern ones were, through centuries, calibrated with burly donkeys, not feeble horses. We thought we prepared well:
Humbled by the rocky nemesis, we remained cavalier about the rest of our trip and assumed, as soon as we left the Pyrenees behind, Barcelona will be mostly downhill. And as much as it mostly was, it eventually presented us with the Catalonian coastal range of Serra de Collserola, rolling its hills immediately north of Barcelona:

We only started appreciating our sorry position around the town of La Floresta, perhaps Vallodreix (top of the map above). It must have been coming to 4 o'clock in the afternoon. 
Gradually all the smaller roads set off climbing away left and right, whilst the Barcelona 
signage became decorated with the ominous tunnel icon.  What a plane pilot must see on their Doppler upon entering a storm is what we saw in the mountains around us. 

Virtually blindfolded - as the signs, biased towards motorised traffic, kept directing us back to the tunnel we could not take - we of course managed navigating through the mountains and we enjoyed every bit of the trip. But the sore point remained - we turned out ill prepared and we should have done better than that.

I have since took a several more long distance bicycle trips and I have learnt that the existing routing services (e.g.: Google Maps, MapQuest or Cloudmade) continuously neglect cyclists much like the road-signs do. 
They neglect it, in my long-distance-cyclist opinion, and I hope MTB riders, competitive cyclists, city-warrior commuters and "Sunday" cruisers will all agree, in the following aspects:
  • Tailoring. As the Velomninati's rule #12 will hint, most serious cyclists own more than one bicycle. They will all be different kinds of bicycles, because they serve not as redundancy, they each serve a different purpose. This means that there may be as many different ideal routes between A and B, as many tyre types, pannier loads, temperaments and heartbeats there are. This web page bets (I bet) that people would like to be more prescriptive choosing their route. 
  • Planning. When you use Google Maps to plot the route between Essen in west Germany and Berlin in the east, Google will tell you it's likely to take 28hrs. I know just about one person that could actually follow this advice. Everyone else can only pedal for six or seven hours a day. Otherwise they need a bed for the night and a table outside for the lunch. They may need to track a nearby railway in case it starts raining and they probably want to be taken along the river Wesser because it's simply nice to cycle by the water. 

Further Development

The sliders don't work all that perfect and they need meticulous tuning. The Android app isn't something i am overly proud of and it neglects those with Mac products. I would then like to have the browser code i wrote execute somehow (react native or the webpage as is) on mobile devices.

Popularity Index

The algorithm visualised below tries to reconstruct the route I once took (starting at London's Billingsgate Fish Market). Since the GPS precision varies, the reconstruction isn't always about finding streets nearest to the signal, it is about finding the most plausible streets. In turn, and at the cost of singal-to-street proximity, the algorithm favours presumed traffic restriction obedience and continuity. Two kinds of continuity: (1) would rather pick a street further to the signal than conclude the traveller leaped across the road network (jumped a block or waded across a river). (2) would be more inclined to assume that the traveller stayed on the same street than temporarily verged off it. 

Why is this done? The Open Street Maps freely offers anonymised tracks that its users actually navigated (and volunteered back to the server) - all 848,000 of them. Strava.com offers similar data at a small fee. If I succeed, even to a limited degree, at filtering in the bicycle data (40% out of the bulk meets the basic cycling profile: average speed within 5..30kph, max speed within 10..40kph), overlaying the result onto the road network will generate the most popular cycling routes. These will be, I am going to argue, a near enough approximation of the most pleasant routes.

Differentiation

With my cycling helmet on I see no shortage of ideas for how to come up with a better route. Are right turns more expensive than left turns? In Britain they're certainly are. Is steering off a big road worth the hassle if we come back to it after 100 metres? Are junctions with traffic lights more expensive than those without? Is a three lane tertiary road really as quiet as its qualification suggests? Or is this rather the urban planners' fantasy? 

The truly vexing thought however, is machine-learning and crowd-sourcing the very cost function... so that one could ask: get me the most pleasant route to B.

Postamble

Contact

If you wish to contact me and you haven't got my personal address. Please use this: routorrent@gmail.com

Footnotes

* The name Zikes (the first letter of my surname followed by 'ikes' as in 'bikes') is tentative as it conflicts somewhat with a certain other product.