Monday, September 29, 2014

some climbs in Switzerland and France

Here's some climbs I've done the past few weeks in Switzerland and France, having been in Basil in part for work.

As I write this I'm on a bus from Bourg d'Oisans to Grenoble, having just climbed L'Alpe d'Huez and descended via Col Serenne. What an absolutely spectacular ride that was in many ways.... I'll report on that later. The climbs I report here are relatively modest, perhaps with the exception of Le Grand Ballon, although even that wasn't to the standard of either the climb or the descent I did today.

Actually, I don't have GPS data for L'Alpe d'Huez because I took two minor wrong turns, both quickly corrected, the second and more major of which I could have avoided had I looked at the marks in the road instead of staring at the Garmin Edge 500 navigation screen, which unfortunately at the time was on a relatively zoomed-out state -- it tends to scroll between zoom levels.

Dornach - Gempen

The first climb of interest is the climb from Dornach to Gempen. That climb had a certain Old La Honda feel to it in terms of length of effort, although it's less steep. My climb rating formula gives it a ragting of 62% of Old La Honda. That 62% doesn't translate into anything in particular, not work, not time. Rather it's an attempt to combine detailed steepness and distance into a "difficulty" score. There's no such thing as a unified difficulty score, as everyone ranks climbs differently, and it's strongly dependent on what gearing one has available, but I do my best.

The profile and smoothed grade are here:



The climb as shown in tje profile gains 292 meters over 5.45 km, an average grade of 5.3%.

The climb is relatively open, with a good road surface, with enough sweeping corners to keep things interesting. It's a good local climb, definitely an attraction if you live or are staying in Basel, and good for training. The views from the top are nice, and one quickly escapes the Basel sprawl as soon as the grade begins. It's hard to nail down an obvious start and finish for the climb: I think the best places are right after the last intersection in Dornach, then right before the last intersection on the uphill side of the road in Gempen. This roughly corresponds to the limits of the profile.

Le Grand Ballon

The next climb of significant interest I did was Le Grand Ballon (I did others, but none as challenging even as the Dornach-Gempen climb I just described). This is at the level of a category 1 Tour de France climb. The summit was crossed in the 2014 Tour de France, but from the west rather than from the south as I climbed it. There's a number of ways to reach the top, and the one I took is the one which is most accessable from Thann. I decended the same way as Le Tour, ending at the same destination, Mulhouse, although I don't think the Tour riders took the train home, as I did.

Le Grand Ballon reminds me a lot of Mount Diablo from the south, with two parts, first a more gradual climb to a junction, then from the junction to the summit at a steeper grade. Both grades are steeper than Diablo, but Diablo gets a bit of an upper hand int he comparison with it's final 17% wall, which is memorable (as Adam Yates discrovered in the 2014 Tour of California, where he attacked with 500 meters to go, only to discover the wall was more than he'd anticipated. It was painful to watch.). The surface is good and a nice touch is that after the junction the average gradient for each subsequent kilometer is marked on the kilometer signs ("milles bournes").


Here's the profile to the summit sign:


When I rode it just after the summit sign I turned left to keep climbing further. But this small addition is only a stub of a road providing access to a restaurant. Indeed it was under construction when I did it. There's a white line painted on the road, clearly indicating a KOM location, a bit after the summit sign. There's a Strava segment defined to this line. I may do another to the summit sign, since that makes a lot more sense as an endpoint for reaching the summit in the direction I did.

Hauptstrasse - Weissenstein

The next climb I just call "Hauptstrasse - Weissenstein" since I don't know it's proper name. The Strava segment which was there was apparently auto-generated, and was sloppy in its starting point definition. I defined another, better one, which I named along with a well-earned "oomph".

The map of the road was somewhat remarkable. The climb is switchbacked, as are many both in Europe and in the the San Francisco Bay area, but what made these switchbacks interesting was that the segments connecting them were essentially straight lines Usually roads follow contours of a hill, curving gently between switchbacks. I hadn't checked the road grade before I did the ride, the route having been generate by Strava route builder with an additional constraint point placed by me to make sure I went over the mountain. Perhaps that the road followed such straight trajectories should have been a clue as to what I had facing me.

And what I had facing me was pain. Here's the profile:


The net stats are 4.82 km, 511 meters gained, an average grade of 10.7%. As with virtually all climbs which average more than 10%, however, the average grade alone doesn't do it justice, as when roads hit that level it is a good indication the builders valued minimizing distance over smoothing out the grade.

Here's detail on the grade:


It maxes out at 17% sustained (I smooth with a smoothing function with characteristic length 50 meters).

The climb was hard. It came at the end of a decently long ride, after a number of days of reasonably hard efforts, following a period of relatively low volume. So I wasn't anywhere close to 100% going into the climb. And with each switchback, instead of providing the relief I hoped for, the road seemed to get yet steeper. Finally I partially succumbed and did a few minor traverses, which lessons the grade relative to the true road. But I didn't persist long with these, so I think the grade is fairly good.

The sustained nature of the steepness shows up in the ratings. This one, despite gaining altitude equivalent to only 1.30 Old La Hondas, rates at 2.09 Old La Hondas. My legs agreed with that assessment.

The existing Strava segments were flawed, so I was forced to define my own.

Bastille, Grenoble

Just when I thought I'd seen steep, I headed to Grenoble to ride L'Alpe d'Huez and, I thought, Chamrousse if the schedule worked out. My first day I arrived on train around noon, leaving plenty of time for a ride, but after hauling my over-filled backpack to Campanile Süd, which turned out to be a very functional if not aesthetically rewarding place to stay, I was tired and rested a bit. It got a bit late to do anything major, but I dragged myself out the door to find some food, carrying my now mostly empty backpack and wearing my running shoes and street clothes (the unzippable pants legs removed from my REI hiking pants). After getting some much-needed bread and cheese, I went to the Tourist Information office, where I saw on a map they had gondolas riding up to the Bastille, a 19th century fort perched on the steep hillside to the north of the city.

I asked if bikes were allowed on the Gondola. The office assistant said yes. I then asked if you could ride down the paths I saw on the map. No, I was told, you ride down the auto road, of which only a fragment was visible on the edge of the map. Auto road? That looked promising. I immediately gave up any thoughts of the gondola.

So I worked my way over the the auto road. This couldn't be so bad, I decided, since it took a vary indirect path to the Bastille, although the direct way was up a sheer virtual cliff, so perhaps that wasn't saying much. After turning onto Bastille road, which began by passing several old residential buildings, not yet climbing, I soom passed a painted line with words of encouragement written in French. This was obviously the start of a race.


Not long after, the road pitched upwards. The paint on the road providing an ongoing dialog of encouragement, warning, even laughter at the suffering the riders were clearly experiencing. The grade was liberally annotated, with early 16% and 18% evident. I was okay with this, despite my running shoes not providing any pull on the BeBop pedals I'd installed on my Ritchey Breakaway for the trip. An early steep bit before the road leveled out? Dream on.



I'd been okay grinding away at the 18% early on, but my legs were beginning to fatigue. Finally I hit a corner where "30%" was written in paint. The full brunt of this could be avoided by taking the corner wide, but the two "24%"'s written on the road after it straightened out could not. 24% is my limit on the Ritchey Breakaway's 36/26 with street shoes: I used to ride it almost every day commuting home to Potrero Hill. But that was just one short San Francisco block. My legs were already severely basted from the climb so far. 24% wasn't going to happen for me, even if I could power around the corner which preceded it. The shame, the shame.... I got off and began to walk.

Several cars passed me on this walk of humilation, the drivers shouting encouragement. Finally I saw 16%. No more excuses: I got back on and was able to finish the climb, including an 18% section.

It says a lot for a climb when sections marked 12% and 13% provide palpable recovery. This thing was freakin' steep.



Here's the profile, where I manually fit straight lines to some of the interesting sections, then the numerically calculated grade, where I smooth the profile with a characteristic length of 20 meters to isolate sustained grade. I more often use 50 meters, but with grades exceeding 20% 50 meters is still a lot, so I use 20 meters here. Max with this smoothing is 26%, and I took an outside radius to avoid that 30% wall hairpin (there were steeper hairpins later).



I ran the data through my climb rating code and it came out as 1.753 Old La Hondas worth of pain. This is despite being only 27.15% the distance and with only 59.16% the climbing. However, note this works out to a grade double that of Old La Honda, and once the grade gets abover 8% on my ranking code, an exponential factor for grade kicks in.

I wanted to return and give this one a shot with cycling shoes, but unfortunately that didn't work out for me this trip, as the next day I rode to Bourg d'Oisans in the rain, the next day I climbed L'Alpe d'Huez to Lac Bassens and descended via Col Sarrene, then the following day, having taken the train back to Grenoble the evening before, I climbed Chamrousse before heading to the train station for my train back to Geneva, and from there another train to Basil. Too bad. The Bastille climb beat me.


Here's a summary of ratings for these climbs, using my climb rating formula, which is based on a detailed consideration of local sustained grades:

climbdistance ratingvertical ratingrating
LeGrandBallon de Thann2.6222.3262.12
Hauptstrasse - Weissenstein0.8771.3012.086
Bastille Grenoble0.27150.59161.753

There's three ratings for each climb: a distance rating, a vertical rating, and an overall rating. For each, Old La Honda is 1, so these are unitless ratings: more than 1 means more than Old La Honda, less than 1 means less than Old La Honda. The distance and vertical ratings are for the portion of the climb contributing to the overall rating. This may be less than the full length or full vertical of the climb if the climb begins or ends with a gradual section.

Hauptstrasse - Weissenstein from my ride to Grenchen is the highest rated due to its combination of vertical gain and sustained steepness. The Bastille climb in Grenoble was even steeper, and gets a rating of 1.753 Old La Honda's despite being only 27% the distance with 59% the vertical gain. Finally, the Dornach-Gempen climb, near Basil, is the lowest rated. It's distance is essentially the same as Old La Honda, but with only 77% the vertical gain, which in combination with the reduced grade yields an overall rating of only 62% Old La Honda.

Tuesday, September 23, 2014

My Experience using Strava Route Finder

When Brian and Janet visited Cara and me in Basel, finishing off their extensive tandem tour of Europe, Brian told me he'd used Strava route finder as his primary source of routes. This had obviously worked well for him, and it motivated me to rely on it a bit more for my rides here.

There's a variety of ways to make routes with Strava route finder. I'll go through some of the approaches I tried, and how they worked for me.

Enter endpoints, blindly follow

First was my ride to Gempen, which actually preceded Brian and Janet's visit. There I selected my starting point at the apartment, and the end point, the town of Gempen at the top of the hill. I'd expected to be routed up either of the two main Strava segments I'd seen which climb to Gempen, one from Munchen, the other from Dornach. But when I blindly followed the recommended route, I found myself doing a dirt climb, one which started as a well groomed "fire road", but which ended up on a steep, rocky path which caused me to walk for a bit due to traction problems. This was all good adventure, but it wasn't what I had expected. The reason is Strava uses route popularity as a criterion, but if there's enough use by recreational mountain bikers, a dirt path can be sufficiently popular to get priority. A suggestion here might be for Strava to differentiate road categories, and allow priorities to be placed on these. For example, a dirt road might have its equivalent "cost" multipled by a factor, for example 2.

Navigating off iPhone

Next I put a constraint node at the base of the climb. This worked well, although I deviated from the defined route approaching the base, taking an alternate route which climbed and descended a residential hill. This was because I was navigating using only the app and not the Garmin Edge. Since I don't have an iPhone mount, to check directions I had to remove the phone from my pocket, get past the security screen (typically try and fail several times with fingerprint due to sweaty fingers, then enter my PIN), and check the map. The map is great, showing the route taken so far, boldly and clearly, compared to the defined route.

This ride would have been better with a handlebar mount, although keeping the phone display on would have used too much battery, and extended battery solutions for the iPhone aren't very efficient, charging the iPhone battery with a secondary battery then running the phone from the iPhone battery. This substantially decreases energy efficiency and increases battery fatigue relative to using a single battery, and adds a lot of mass and bulk to the phone. So the iPhone is not an ideal platform for real-time navigation. A good head unit makes more sense if it works.

Using an existing activity

Later I did a ride into the Jura mountains south of Basel. This was a wonderful ride, 107 km, made more epic by the fact I suffered a mild bonk which would have become a major bonk if I'd not found a cafe at which I was able to use my extremely limited French to order a delicious brie + tomato sandwich. In this case I directly used an activity I'd found on Strava with activity search. Strava has an option, when viewing an activity, to load the activity directly into route builder. The URL for this is the primary activity URL followed by "/route".

This is a nontrivial operation compared to the alternative way of generating routes for use on a Garmin, which is to just export an activity as a TCX (Edge 500) and loading it into the "new files" directory. The route builder first tries to map the arbitrary position points onto its known "road" network ("roads" being any candidate paths for bicycles). Then it constructs the route data using the road data.

One positive change I made was to switch to using the Garmin Edge 500 as my primary navigation aid instead of relying on the phone only. The phone, however, was essential back-up, because the Garmin Edge 500 doesn't provide any context: it just shows a jagged line for the route, then alarms when you're off course. It also often alarms when you're on-course, as it tries to keep you on a tight leash. This is great as was the case on a later ride where I was flying down a descent and missed the turn to a narrow climb. The alarm was quick, and the amount I had to climb to get back to the turn was trivial. Had the alarm gone off 500 meters after the turn, that would have added a considerable amount of climbing in addition to the difficult climb of the route itself. But the price that's paid for this hair-trigger warning system is that minor GPS errors can cause the Edge 500 to generate "off course" errors even when riding on an isolated, straight road without intersections So to check Garmin warning messages, and to provide context to turns where there's multiple similar options, being able to look at the Strava map display is extremely valuable.

The key thing on using the iPhone to record position on long rides is that it drains the battery. The best option is to run in airplane mode, but then you lose the ability to dynamically load map data. One approach, which I used in France when I was outside of my data plan domain, was to scroll through the route before the ride, pre-loading in the map data (which are cached), then when I did the ride itself I was able to see maps without any further network activity. This approach can also save on data use if, like me, you're on a limited data budget, and can scan the route with a wireless connection.

But even if there's battery to record the entire route, I prefer using my phone for other things, like taking photos, accessing web resources, and sending emails and/or texts. Combining these activities with essentially contunuius position tracking runs a major risk of the phone not surviving a ride.

But an alternative to recording the activity on the iPhone is to instead just view the route, which will indicate the present position with a dot. Then position need not be determined every 3 seconds, as it is when recording the route, but rather only when you bring up the map. Then battery life isn't a major problem. This is what I did this ride. The only downside is if the Garmin Edge 500 fails somehow there's no back-up. For example, on my second Gempen ride the Edge 500 had substantial position errors which caused me to not match the segment I was after. The only real option would have been Paul Mach's "snap to road" utility on RaceShape. And this doesn't work well with switchbacked roads such as the one I was on. So having the phone provides nice security.

Anyway, on this ride I was cruising along a busy road with a nice cycling position on the right between the vehicle lanes and a tram track. The vehicle traffic wasn't so nice, but there were very limited intersections, traffic was relatively light for such a major connecting road, and line of sight was fine so drivers had no issue passing me. Suddenly the Garmin told me I was off course, the path on the screen clearly showing a jog to the left. Sure enough, across the road on the left was a bidirectional bike path. But it lasted only a very short distance, no more than 1 km, and then I would have had to return to where I was riding. I didn't believe the rider had taken that path, although it's possible. When I checked the original data the variation due to GPS errors was greater than the distance between my lane and the path on the opposite side of the road, so I didn't have much clue from his data, although his indicated position seemed to be more on the left of the road than the right. So perhaps the route finder took its best guess.

Later in the ride, I came to a very short out-and-back section which was obviously meaningless. The original rider appeared to have either taken a wrong turn then recognized his error, or else he's made a quick run to a gas station for resupply of food or water. I ignored the out-and-back and the Garmin route tracking had no problem.

The last climb of the route was an out-and-back according to the original activity. I started the climb, waiting for the turn-around, which I assumed was the top, to appear on the display. When I saw it I ramped up the effort. Closer... closer... I was almost there, keeping the effort high. Then I realized that this wasn't the top, that the climb continued further. The rider hadn't reached the top after all. Perhaps he'd planned on something longer, but then thought better of it, and turned back. But I wish I'd realized that beforehand! I did continue to the top, going off route, suffering the rest of the way. From there, I followed a more attractive path to rejoin the defined route "downstream", instead of returning down what I had climbed.

Toward the end of the ride, the distance to the finish counted down.... 3 km... 2 km... 1 km. But at around 200 meters I went off route. I backtracked a bit, going down a side road which deviated somewhat from the main road, but couldn't reach the route end. The rider had finished his activity at his house, perhaps, or else the activity ended when it reached his privacy radius. In any case, the finish made no sense for my ultimate destination, so I shut off route tracking and continued on my way.

Some of these issues can be dealt with by editing the route in route builder. The route builder instructions say the route can't be modified except for the start and finish, which can be modifed. But in this case I had been unable to move the start and finish points, which were essentially coincident. When I tried to do so, the route builder would re-optimize the route into an out-and-back, cutting off the vast majority of the loop. So after trying various approaches I gave up and decided to use the route with the original start and finish points.

Overall, though, it worked fairly well. The Garmin Edge navigation worked much better than it often does, due to limited road network complexity and relatively good position accuracy. And the rider of the original activity clearly knew what he was doing as he made very few deviations from what I would consider an optimal path. He also clearly had solid position accuracy. It could have been much messier.

By the way, one really nice thing about using Strava versus other options is the use of route popularity. For example, I noticed it tended to route me along roads at which food would be available, rather than options which bypassed food options. This is super-valuable, something for example Google route finder might miss. Basically whatever the locals tend to do, Strava route finder will tend to emulate. It trusts the judgment of locals. Note if the "locals" are racers at a recent Tour de France who uploaded their race data, with full road closure, this may not be a good model for emulation, but fortunately it usually works out well in ways which may be nonobvious.

One comment on using the phone for navigation: this was necessary because I was using the Edge 500, which has no maps. The Edge 800, for example, does have maps. However, with the low screen resolution these maps are of substnatially diminished utility relative to those on the iPhone 5s. Do even with the 800 I'd want the phone as back-up. I'm not sure about newer Garmin units (510, 810, 1000). Without taking advantage of the 800's maps, I prefer the 500 navigation, since the black-on-wide route trace is high contrast and easy to see in a range of light conditions. On the other hand, I'm not able to interpret the 800 map display (using Open Street Maps) safely when I'm riding. It requires too much focus and attention.

Generate a route with GUI, reproducing existing activity

Next I decided to use the route builder GUI to design a route, using an existing activity as a reference. In this case I found a promising loop through Germany's Black Forest, so in route builder, I put down nodes so the resulting route basically tracked the activity. This was to avoid the issues I'd had with using the activity position data directly, perhaps most significantly allowing me to define my own start and finish point.

This process is a bit of a hassle since I had Strava running in two separate browser tabs: one for the activity, the other for the route, which I had to compare using short-term memory. Better would have been to be able to superpose the activity and the route Perhaps Strava can add this feature.

But although it was more time consuming than it seemed it should have been, this worked very well, with one exception. At one point the ride had me do another short out-and-back, one which I resisted but which was enough to cause the Garmin Edge 500 to indicate an "off-route error". The reason is I'd been slightly sloppy in putting down a constraint node, dropping it at a random position in a town. This turned out to be off the main route through the town, so route finder was forced to do a little out-and-back to hit the constraint point, which are strict.

Later in the ride I was riding on a very nice path along a river. Suddenly the Garmin sent me across a bridge to the other side, where I rode on a narrow grade-seaparated combination bike path-sidewalk. The path I'd been on had been much nicer, but I concluded there must have been a good reason it had put me here. It turned out the only reason is I'd dropped a constraint node on this side of the river, rather than the nicer opposite bank I'd originally been on.

Both of these mistakes point out an additional step which should be done in route design: reoptimize the constraint points based on the route. Had I reviewed the route details proximate to the constraint nodes I would have seen the little out-and-back stub and the premature crossing of the river. One way to minimize these issues would be to put the constraint nodes in areas of relatively less ambiguity. So if I need to ride a long, isolated road into a town, put the constraint node on that road rather than in the town itself. Then the route builder can design an optimal path through the town rather than limiting itself to what may be an uneducated node placement.

Of course key on constraint placement is to not over-constrain. It may be tempting to plop down constraint points every km but it simply makes no sense. For a loop, you need the start point, the end point, and just enough points to have it track the loop and in the desired direction. Two or three additional points is probably enough.

There is still the issue of dirt paths, which I'll described in the next section. So make sure to check the route for anomalous "short-cuts" before committing.

One more piece of learning I'd realized: don't put the start point too close to home. In my case there's a lot of street complexity near the apartment. If I put the start point and finish point right there, it restricts me to a single route out and back. I prefer a bit more improvisational freedom. So I instead start with the point right at the apartment, define the route, then move the start and finish points out a bit to provide me a bit of breathing room. For example, if I wanted to ride to a local shop to get some food or perhaps a bike shop to pump up my tires first, this meant I didn't need to return exactly to the start point to stop the Garmin from complaining. So instead I put the point along that initially defined route in a place which is relatively unambiguous, where I'll probably want to go even with a minor diversion near the route start or finish.

Generating a route with the GUI without a reference activity

Next I decided to skip the part where I use an existing activity for reference. I wanted to ride La Grande Ballon, a category 1 climb which has been used (at least among its multiple variations) in the Tour de France, most recently this year. So for this, I put the start point at home, a second point on the Grand Ballon summit (or what appeared to be the summit), and a third point at the Mulhouse ("mul-HOOSE") Gare where I planned to catch a train back home. Then as I just described moved the start and finish points a bit away from the apartment to give me a bit more flexibiltiy in start and end ride behavior.

This turned into a great ride. But, as always, there were a few issues.

First, I was riding along a bike path along a major highway (major in traffic volume and speed, but not in number of lanes, a refreshing change from the US where even middling suburban roads are blown out to 6 lanes or more in many cases). Suddenly the path veered off to the left, between two corn fields. The route, however, continued straight. What should I do? I consulted my iPhone map and, sure enough, the path went around the back of the cornfield to rejoin the road later. So I went that way.

The Garmin complained that I was off course, but I stuck to it, and the path turned out to be exactly what I wanted. For some reason Strava didn't have it in its road database, and it therefore routed me on the main road instead, where I very much did not want to be, with its high speed traffic including heavy trucks.

The only way around this, as far as I can tell, would be to modify the route in the route builder using "manual mode". In manual mode it simply connects constraint points with straight lines. This requires constraint points placed sufficiently close that this is a good approximation of what is generally a curving route. I'm not sure as I write this if I can mix manual mode and automatic mode. Ideally what I'd want is to use the manual mode only for the paths around the corn fields. But it would be difficult for me to realize the automatically defined route was a problem. Fortunately this is the only time in my adventures the route builder made such a mistake.

Then after climbing La Grand Ballon and passing the summit sign I turned onto a side road which appeared to go to summit proper, where I'd placed my constraint point, sort of like the short loop at the top of Twin Peaks in San Francisco, or the climb to the observatory on Mount Hamilton Road in San Jose. In each of these cases the major "through way" would miss getting the full experience.

This turned out, instead, to be an access road for a restaurant, not typically climbed. To the contrary, when I returned down the path and continued on the main road, no longer climbing, to my horror I reached a white line painted across the road. Clearly this was a "KOM line". So would the Strava segment have been designed relative to the summit sign or relative to this KOM line, which was actually at slightly lower altitude? It turned out the latter, resulting in extra minutes having been added to my time due to my excursion up and down the side road.

Descending, I followed at first the route I'd taken up, then turned left at a junction to follow the Tour stage. The Tour stage had climbed the opposite side of the mountain, crossing the summit, then descending the side I'd climbed for the final kilometers. It then at least initially followed the path I planned to take me to Mulhouse, where the stage finish was, rather than going through Thunn, from where I'd begun my climb.

From the junction there was a short climb, the road decorated with paint both for riders and for Didi the Devil, then it descended again. Suddenly as I was shooting down a modest grade I got "off-course". I checked the iPhone and sure enough, the course deviated from the main road for a brief short-cut. I tried to follow this way and there were two roads, a dirt one going down, and a paved one going up. I tried the paved one but again I got off-course errors. It was obviously the dirt path.

So this was another example of where I should have checked the details of the route, and where Strava isn't at all shy about using shorter routes which are likely mostly used by mountain bikers. I decided given the relative difference between the curving main road and the relatively straight route Strava recommended, the dirt road was a bit too steep for my present liking. I stayed on the main road and, as I passed, I saw I was correct: the dirt was rough and very steep.

So the lesson here is one I've described already: review the route for obvious anomalies. This includes not only things like this deviation, but additionally such things as going to a train station at the less convenient side of the tracks (it typically doesn't matter at which side of the tracks you arrive, although the route to one side may be significantly less direct). Fortunately this latter error isn't one I've made so far this trip.

Further along the ride, as I was entering Mulhouse, the route sent me straight into a fully packed street fair. There was simply no penetrating this mass of people walking with my bike at my side, let alone riding. It extended for multiple blocks, as far as I could reasonably see. I decided I needed to improvise.

The Garmin isn't up to this task: it simply shows the line I was supposed to follow, and as I deviated from the route, that quickly disappeared out of the display range. So the only guidance it was able to give me at this point was "off course".

So it was back to the Strava iPhone app. With this, I was able to follow main roads to reconnect with my route. Fortunately the Garmin is relatively quick to detect that you've returned to the course, not being at all pedantic about making sure you've tracked every inch of the way. This is an improvement over much earlier firmware versions, which had less flexibility.

And so after navigating a surprising amount of Mulhouse streets I was able to reach the train station. Then with considerable difficulty (since the French train ticket machines don't take my US credit card, which has a chip but no PIN; Swiss ticket machines take it) I was on my way back to Basel. I may even have been able to ride back quicker, but 130 km was enough for this day. (Note: I later learned you can buy tickets on the train as well, and there's no fee for bicycles).

Variation on recommended route

Next ride I wanted to return to Grenchen, to which I'd taken a round-trip train ride the day before to watch Jens Voigt break the hour record. There were some very attractive mountains visible just north of the city, and I wanted to ride these.

So I started route finder and defined a start point at the appartment and the finish point at the train station in Grenchen. It recommended a route along main roads which avoided the mountains. I'd later learn there was a very good reason for this, as the roads over the mountains are freakin' hard. But I definitely wanted to go that way.

There was a web of roads evident going over the mountains, and I wasn't sure where I should stick a constraint point to get into them. I didn't even know from what side I should climb them: from the northern side, from the east and ride a ridge, or from the south, go along the ridge, then return south? I could guess, but instead I requested instant guidance.

A very nice feature of the route builder is the ability to superpose the global heat map. Strava has become suffiiently popular that this heat map is fairly comprehensive in highlighting popular routes. With this, I could clearly see "hot streaks" going over the range. So I inserted a point at a promising location and I had what appeared to be a very nice route which met my goals.

And what a route: the climb maxed out at 18% sustained according to my Edge 500 data, with the following descent similarly steep. But it was a wonderful ride, a real success. The heat map was a very useful component in achieving this.


  1. Define a route with the GUI rather than using activity data directly. You can use the activity for guidance, although unfortunately there's no way to superpose the activity and the route.
  2. Use as few constraint points as possible to get the route you want.
  3. Place constraint points on relatively unambugious route segments, not in regions with navigational complexity.
  4. Move the start and finish points a bit away from "home", to allow for beginning and ending ride freedom without Garmin whining.
  5. Check the area proximate to constraint points, to make sure the constraint points are on the route (not requiring out-and-backs) and that the constraint points placement isn't excluding the use of more attractive routes which accomplish the same goal.
  6. Check along the entire route for unwelcomed "short cuts", for example down gnarly mountain bike paths.
  7. Look at the global heat map option to search for possible alternatives.
  8. Don't believe your Garmin when it says "off course" without checking a map first.
  9. View the route on a Strava phone app without recording to preserve battery capacity.

Monday, September 22, 2014

Visiting Paris Day 2: Velib

Continuing my description of a recent trip to Paris from Switzerland....

Sunday, however, we abandoned the Metro for the Velib bike-share system. This would have been a far, far better way to get back from Notre Dame. ("a far, far better place..." Sorry.) The Velib system, in contrast to the San Francisco bike share system, made a huge impression on me.

First, there was the number of users. A substantial majority of the considerable number of cyclists we saw on the streets of Paris were on Velib bikes. And it made sense. With Velib, there was no reason to worry about locking your bike or returning to your bike after finishing with a destination. You could park it at a station, go do stuff, then move on to a different station closer to your destination and check out another bike. Being somewhat scatter brained my internal alarms were screaming at me "you forgot your bike!" as I'd walk away from where I'd docked the previous one. But of course it wasn't my bike.

Velib cockpit

Then there was the ease of use. We got day passes, which we purchased on-line for only 1.30 Euros each. This is substantially cheaper than the San Francisco system, something Paris can afford because the daily utilization of the Paris system is no doubt considerably higher than the San Francisco Bay area's barely more than 1 ride per bike per day. Then at each station we'd go to the machine and enter our ID numbers, our PINs, and the number of the bike we wanted. We'd then go to that bike and depress the button, releasing it from the rack. This was all relatively easy and quick, although it would have been far quicker still had we been subscribers, in which case we could have simply waived our cards in front of the rack at our selected bikes and released them for use.

Arc de Triumph: less auto traffic when riders circle it in Le Tour

The downside of the high daily utilization, however, in combination with the common Paris pavé cobblestoned streets (but a remarkable lack of potholes and road glass), was that the bikes apparently suffered a fairly considerable degree of wear. I had a seat post which didn't tighten properly, a front end which had considerable play, and a shifting system which freewheeled in 2nd gear (I stayed in 3rd, which sort of worked) on the first three bikes I tried. The fourth was the charm, though, and I had good bikes from that point onward (I think I rode 6 in total). I learned to check the bikes before selecting them. Cara had similar luck, including a bike with low tire pressure.

Key to making the system work was an app Cara had downloaded. This was provided a map of the nearest Velib stations, reporting semi-real-time the number of available bikes and the number of free spots. Sometimes the app was slow, taking in excess of ten seconds to update, but far more often it was fast.

Velib stations are essentially only half the use if they have either no bikes or are 100% full. We never encountered the latter, but exceeded the 3-minute prepaid time-limit, going into the one-Euro overtime period, because one station we passed had only a single available slot. Still, despite the app, getting to the nearest station wasn't without its challenges. First, the streets of Paris are a maze of one-way streets arranged in nearly random orientation. Bikes can ride both ways on many, but not all of these one-ways.

The bikes-either-way on one-ways (note I resist writing "wrong way", since it's right-way for bikes) works surprisingly well. The only issue is on the narrow streets the bikes are forced into the door zone on parallel parked cars. Drivers parked on what them is the left side of the road need to check for oncoming cyclists before flinging open their car doors. But this is easy: the cyclist is visible through the windshield. For a rider violating the law, riding wrong-way in the US, this oncoming cyclists might be unexpected, but in Paris, this isn't the case. Obviously doordings can be a very serious matter, as they can push a cyclist into the path of an oncoming vehicle. However, the Paris system seems to work, and it certainly facilitates getting around by bike.

Really we never had any issues. Of the roads we rode, only the Champs Elysee was really worrysome, being an exceptionally wide road which serves as a major through-way for Paris drivers. But it had fantastically wide sidewalks, on which it's legal for cyclists to ride. This provided another contrast with the United States, where allowing cyclists on urban sidewalks is considered guaranteed carnage. For some reason in Paris it works fine.

Velib equals smiles

In addition to the price difference, another source of contrast between the bikes in Paris and San Francisco is the time limit. They both have 30 minute time limits, but in Paris this works. We only missed the 30 minute deadline once, because there's such a fantastic density of bike stations, if a trip goes long you can dock at a nearby station and recheck out the same bike. With a card this would be quite fast, but having to enter a one-day code at a kiosk, it's slower. An additional aspect of the density of stations is that if a desired station is full, there's probably another station not too far away. So with a buffer of just a few minutes you can still find a spot for your bike with good probability.

Velib kiosks

San Francisco BABS kiosks

So in summary, comparing the Paris system to the San Francisco, the overwhelming difference is simply the number of stations: both the density of stations and the extent of the system. In Paris we didn't even think about if the Velib would get us where we wanted to go. We just found a nearby station, got bikes, rode to near the destination, then checked the real-time app to find the nearest dock with available spots.

I've not been an enthusiastic adaptor of the San Francisco system. It works only for a very limited range of trips due to the insufficient deployment. Expansion has been retarded due to the hardware supplier filing bankruptsy. Hopefully that can be resolved and the system can be brought closer to its capacity. It really is wonderful when done correctly: no worries about finding secure bike parking, or about returning to where a bike was parked. Just dock it and forget it.

Friday, September 19, 2014

Paris day 1, the metro

This blog is a bit out of sequence, as what I describe here is two weekends ago.

On Friday evening Cara and I took the TGV from Basel to Paris, remarkably (to me) an only 3-hour journey. This is super-easy, way easier than plane travel with its remote airport locations, long lines, body scanners, body-bending coach seats. I did a brisk walk to the Basel train station, can go directly to the train as late as seconds before the precise departure time, and I'm on my way. Cara, wisely, took the Basel tram to the station which runs reliably every 7 minutes. It's all very low-stress, shorter than my friend's San Francisco Bay area commute. With European discount air fares it is more expensive than flying, but you get what you pay for. Flying coach is dehumanizing in comparison.

In Paris, we took the Metro from Gare Charles de Gaul to our hotel not far from Le Tour Eiffel. The location was excellent, and for that we paid plenty. The room had a private bathroom, but it was so small the shower door opened only sufficiently to function as an effective BMI filter. The toilet was installed so close to the wall the cover wouldn't stay open. Maybe they should have attached a hook to keep it up.

But it was wonderful. The street, at least on the weekend, hosted an open air market, and was lined with a boulangerie serving the most incredible bread and pastries, two produce markets selling cherry tomatoes which tasted as if they'd been picked from the garden the day before (in comparison typical US supermarket tomatoes are at best convincing stage props), and a Carrafour City food market with a wonderful selection of yogurt, quark, cheese, etc. It's a wonderful thing when simple foods are a wonderful experience. In addition, we had paninis and a croque-monsieur (Cara) from local venders, a very simple matter of baked-that-morning bread and cheese which in the US would likely be considered "artisinal" cooked in a simple panini press, perhaps with fresh tomato. All simple, all incredible.

Saturday we did tourist stuff, including the Louvre where I was in irrational awe over my first live viewing of Mona Lisa. Mona Lisa is in a huge triple-glass frame, the frame about the size of what I'd expect the work to be, but contained within the work itself the size of a small poster. But isn't the small size an essential part of the almost supernatural fascination the work attracts? The model sits there, staring into your eyes whatever your viewing angle, her enigmatic smile reflecting 16th-century thoughts. Once I got my front row viewing spot, considerably easier than I anticipated, I was transfixed. That alone was worth far more than the ridiculously cheap 12 Euro entry fee.








But to say the Louvre is all about the Mona Lisa is beyond absurd. Every room was a masterpiece in itself, in addition to the masterpieces housed there. I had to remind myself with each new room to look upwards, the ceilings incredibly detailed 3-dimensional works of incredible genius and dedication. I could have stayed all weekend had not early afternoon hunger gotten the best of me. Then it was out to an outdoor cafe with a panini, listening to classical street musicians play through a series of popular classic tunes by memory.

From the Louvre, we used our Metro day passes to go next to the Cathedral Notre Dame. That was a free entry, but the lines outside extended all the way across the extensive square outside to the adjoining street, despite it being off-peak season. The line moved quickly, however, and soon we were in, passing the poster for a Mozart Requiem scheduled for 23 Sept. Tempting, so tempting.




I've been to many impressive churches before, for example a cathedral in Pisa where the intricasy and extent of the art was almost incapacitating in its depth. Notre Dame was modest in comparison, but while it lacked the overwhelming artwork of Pisa or Florence, it was a masterpiece of architecture and design. I had had decently high expectations, but these were far exceeded.



After donating to the nun collecting at the exit, we exited for a second, substantially slower line for a tour of the towers (no pun intended). This involved waiting in a long line, sitting against a ledge along a tourist-filled but nevertheless pleasant street, as groups were sent into the stairs in groups. We went first a brief way to a first room where we paid the 8.50 Euro entry fee, then up a first set of stairs to a first viewing level where we were held for at least ten minutes, then ushered up a second set of stairs to the vertigious viewpoint from the top of the 69-meter tall towers. I had expected to see the bells ("The bells! The bells!") but this was not to be. Instead the highlight was the close-up view of the diverse set of supernatural animals sculpted along the walls, a 19th century addition to the 12th-to-13th century cathedral. It was worth the time and the entry fee, but not as impressive as the cathedral interior.

After Notre Dame, it was back on the Metro, where Cara, using an app, recommended one connection-and-stop-intensive route back to the hotel. Looking at the map, I saw an alternate, apparently far more direct route, with the C-line to Invalides then connecting to the 8 for a 2-stop trip to L'Ecole Militaire, near our hotel. But this turned out to be a big mistake. The C-line is more of a long-range commuter express, with a less-frequent schedule, and at Invalides a pathlogically long foot transfer back to the Metro. I should have stuck with Cara's app.



As the day faded, we saw the Tour Eiffel as first the lights came on and then a modest light show impressed all. It was great. There was a contrasting combination between the locals enjoying the view and the grass and tourists being set upon by a bunch of vendors selling toy Tours Eiffel, flying-lighted toys you tossed into the air, and even one selling bottles of wine. All very nice.

Sunday, September 14, 2014

cycling in Basel, Switzerland: Gempen climb from Dornach

On Friday afternoon, I decided to try again for a paved climb up to Gempen. I wanted to climb the road I'd descended on Thursday, the one I'd seen so many riders climbing. My nominal goal was a Strava top 10. I thought this should be attainable from the VAMs I saw on the leaderboard if I was feeling good.

I decided to head out along the Rhein, crossing the river near where I was staying to the northern shore (German-side, but not Germany here), then heading east, crossing again near where the Birs river feeds into the Rhein from the south. Then I'd head southward to Dornach and begin the climb from there. I once again used Strava route-find, this time putting constraint points at the base of the climb and at the river crossing where I planned to recross the Rhein southward.

I was mostly able to follow the thus designed route, and it was again an okay route, but not as scenic as I'd hope. That bridge crossing wasn't great, with some slightly dicey navigation immediately following, but I made it fine into Dornach. Once there I clearly missed a turn because I found myself climbing a decently steep residential road. I viewed this as good warm-up for the main climb, and the power numbers I was seeing were fine for my perceived exertion, despite having done a middle-distance run after my ride the day before. At the top of this climb I stopped to check my position, and realized I'd taken an alternate, hillier route which got me with minimal added distance to the base of the main climb, which I could reach from this point via a short descent. So it worked out fine.

So there I was, at the outer edge of Dornach. The climb itself didn't begin immediately, the road starting generally flat before gradually transitioning into pure climbing mode. I wasn't sure where the segment began, so I needed to begin at a decent yet fully sustainable tempo before ramping up the effort only when I was sure I was on the segment. I expected the climb to take around 14 minutes.



Here's the profile, along with the grade. Comparing to Old La Honda, it's very similar in distance, but it gains close to 100 meters less. From where I hit the lap button (where I felt like the real climbing began) to where the grade finally drops toward zero is 5.2 km and 295 meters, an average grade of 5.7%. In contrast Old La Honda gains 394 meters in 5.4 km, an average grade of 7.3%. So the climb is clearly easier.

The day before there had been two weed-trimmers working the fringe of the road, and today they were still there. They presented no delay, however, as one passed me going the opposite way, and for the other I was waved pass in the opposite lane. Vehicle traffic was otherwise very light: just a few cars. The temperature was moderately warm. I was wearing my shorts, a wool undershirt I didn't need, my jersey, gloves, my Poc helmet, and a Poc cycling cap under that. Despite being a bit overdressed, I was fine, however. I'd rather be too warm than too cold.

But for some reason my power just wasn't where it's been this year on Old La Honda. I pushed and pushed but my legs just wouldn't let me keep it there. As I passed ten minutes, I tried to ramp it up a bit, not knowing when I'd reach the top. But as 13, then 14 minutes passed I still wasn't in sight of the buildings marking the outer fringes of Gempen, and the end of the segment. FInally I saw them, and the grade relented a bit as I approached. I'd been "ramping up" the effort for too long at this point, my lap timer now exceeding 16 minutes, and I was unable to avoid letting the power drop with the reduced grade. The penalty for doing so isn't as severe on gradual slopes, however, and I reached what I knew was the end.

The road continued to climb through the town, and on this portion I rode at strictly recovery mode, feeling fatigued from my effort. I knew from my time I was going to be disappointed with my Strava ranking. Why the bad legs? Loss of fitness from insufficient riding in the very busy weeks leading into my last week before leaving for Switzerland? Having run each of the preceding two days with insufficient running base? Residual jet lag after having arrived only the Monday 4 days prior?

I didn't think jet lag was a large factor at this point, but the running and fitness loss likely were. In any case, it was what it was.


Here's my power during the climb, comparing with what my power's been in recent Old La Hondas done on the Wednesday noon ride. You can see the rate of power loss during the climb is similar in all cases, it's just that the power on the Swiss climb is lower. The result was a 42nd place on one of the Strava segments for the climb, 51st for the slightly more extended one I'd been targeting (I lost rank on the reduced grade portion where my power had slackened). I was around a minute over my target 10th place. To reach 10th, I'd have needed to not only close the gap to my Old La Honda powers, but to go a bit higher still, as could be expected for a climb of shorter duration. With how my legs had felt on that climb that simply wasn't going to happen.

I'll have another chance, at least, before I leave Switzerland. Next week I'm working out of my company's Zurich office. Hopefully I can work in some decent runs that week despite my relatively long Basel - Zurich - Basel commute. This isn't a "riding" or even "training" trip, but hopefully I can find a way to at least retain what limited fitness I had. Indeed since my 50 km race in April, this year has been a massive downer on the training and fitness front due to work and moving. The goal on this trip is to get myself pointed in the right direction.

Saturday, September 13, 2014

cycling in Basel, Switzerland: Strava route-find and a Gempen dirt climb

As I write this, I'm on a TGV waiting to leave the Paris Gare de Lyon station for Zurich. I get off in Basel. The total trip is little more than 3 hours. Really remarkable. It's considerably more distance than the train between Santa Barbara and "San Francisco" (really Emeryville), the Coastal Starlight which is a 1-a-day affair in each direction. Delays of several hours are common. The TGV, on the other hand, is of course precisly on time. Indeed the entire timing board in Gare de Lyon was "á l'heure".

Prior to the weekend in Paris, I was in Basel last week. A search on Strava Segment Explorer turned up one obvious "local" source of climbs: the road to Gempen, a nearby hilltop town, small and rural, remarkably isolated from the Basel semi-sprawl.

There's two main paved climbs from Basel to Gempen. The most heavily trafficked, by far, is the 2-lane road from Dornach to the west. Dornach is somewhat inland from the Rhein, and reaching it from central Basel isn't too bad, given the extensive bike infrastructure including bike paths, lanes, and bike-specific signals. But navigating off my iPhone without a corresponding mount for my Ritchey Breakaway meant I had to frequently stop, remove my phone, unlock it, and check my position on the Strava app. It was slow going, but if I'd known the way it would have been better. Certainly it was no worse than riding my bike across San Francisco, which on routes I know well I find quite enjoyable.

A shorter way is a climb which begins further to the north, in Muttenz, gains a bit more vertical on the climb proper, but is on a narrow, bidirectional one-lane road which is certainly scenic but which may demand a bit more caution than is optimal for producing an optimal effort. I didn't know this, however, when I requested from Strava route finder a way from where I'm staying in Basel and Gempen.

A nice feature I had thought route-finder had was, given one or more segments, to find routes which include the requested segments in the order given. This feature could certainly be provided as long as segments could be mapped to the roads database used by the route finder. This is a non-trivial if. Segment definition and segment matching know nothing about roads. They're just a list of longitude and latitude coordinate pairs to which Strava's segment-matching algorithm compares the longitude and latitude points measured for the activity. This is important because bikes aren't constrained, generally, to pre-defined roads. They can ride pretty much anywhere. However, the option of constraining segments to roads would be a very useful feature, as long as the road data are sufficiently reliable. It could improve the integrity of segment definitions for road rides. But this is a major digression.

So I'd done a route expecting Strava to take me on either of these two paved climbs. Since the resulting route clearly wasn't going anywhere close to Dornach, I assumed it was the northern route, not really looking at it so closely.

As I set off early Thursday afternoon from Basel, I had two options. One was the route loaded into my Edge 500. The other was to track the route on the Strava app. Despite past frustrations with the Edge navigation, the most infamous where it wasn't able to navigate me south on Highway 1 without multiple "off course: turn back" warnings, I was going to give that another try. If it works, it's by far the best option, since it sits on my stem and I can navigate without stopping. Unfortunately it never has really worked, but there's always the possibility of a first time.

But not this time: as soon as I turned on the Garmin I got a "battery low" warning. So off the bike it came. When I plugged it into the charger it read "2%". At some point I'd inadvertantly left it on and it had drained down before finally shutting itself off. So it was the Strava app to save the day.

The Strava app, on the other hand, doesn't seem to do any real navigation: it just draws your point history along with the route itself on the same map. However, this is fine in many instances. While it won't tell you to "turn left", "go straight", "approaching a climb", or whatever, the map clearly shows the route to be taken and the route taken so far.

The problem is I don't have an iPhone mount. Tour Magazine did a review of these in the February 2014 issue, which I coincidentally downloaded for another article. LifeProof was the top scorer, followed by a 3-way tie between Armor-X, Biologic, and Wahoo. I should really get one of these 4 to make app navigation more workable. Without it, I found myself frequently stopping, occasionally backtracking to reach turns I'd missed. My only big question about the case is whether I can avoid the phone requesting a security code when the phone shuts off. I want to be able to put the display back on just with a touch, and the iPhone 5S fingerprint matching is confused with sweaty fingers. But I can look more into that. (added later: Armor-X looks good)

route through Basel

One of these times was a turn I'd seem but rejected. Riding along a paved bike path, I was looking for a left turn which I knew to be forthcoming. I saw a dirt road to the left, and I rejected it. I went further, seeing a roughly paved road which immediately set off at a ferociously steep grade. Was this it? Ahead the path appeared to T-intersect into a busy street.

I stopped, pulled out my phone, entered my code after (as typical when riding) the fingerprint reader rejected me, then brought up the Strava app. Sure enough, it had intended for me to take the dirt road. The paved road extended for only a short distance before giving way to a second dirt road which intersected the first. Indeed the dirt went on for a considerable distance. Strava had routed me this way, a third option in addition to the two paved options I'd expected.



This wasn't my first similar experience with Strava route finder, but in the past it's been with roads and paths I've known, so it was immediately obvious upon first glance what it had done, and I was able to constrain the path to stick to pavement. I don't blame it -- I asked it to connect points A and B with cycling routes, judging the quality of the path based on distance and popularity, and as long as a sufficient number of mountain bikers take the dirt option, Strava considers that a viable candidate.

I like the dirt, so off I went. The riding was a gradual, long climb, with a somewhat rocky but non-rutted surface which was fine on the road bike. The quality of the experience was somewhat attenuated by the need to too-frequently check the phone at junctions.

One such junction was where the wide path extended ahead to a series of piles of cut logs. To the right, a narrower, rockier, steeper route climbed onward. I was intended to take this latter option.

I got into my 46/26 and climbed up a steep initial portion before the grade leveled out. But then I heard the unmistakable sound of descending mountain bikers. I pulled to the side of the road as first one then a second downhiller flew by. This didn't bother me: I wasn't in a rush.

But I couldn't get enough traction to restart. My rear wheel would slip on the rocks. I was glad I'd brought mountain pedals and shoes on this trip: my maiden voyage with BeBop pedals, which I really like. They're staying on the Breakaway -- with a low stack (requiring some Dremel surgury on the shoe pads to allow axle clearance part of the standard installation procedure), impressively low mass, and a float similar to Speedplays, the pedals are a great solution where some walking will be required or dirt clearance may be an issue. I'll stick to Speedplay for the racing bike.

So I walked a bit, which offended my "death before dismount" sensibilities, but was functional. And then I was to the paved road.

The Strava route had me turn right on the paved road, take that a bit, then take another dirt path which was to act as a short-cut for a less direct, but no doubt less steep, path climbed by the pavement. I decided to stick to the pavement.

The climbing was surprisingly steep, despite the relatively meandering route. But after more of this than I expected, I was in Gempen.

With all of the stopping to check directions, all of the tentative riding on dirt roads whose character I didn't know, and finally with one to two hundred meters of outright walking, I knew I wasn't going to set any ranking times on Strava this day. Yet as I finally rolled into Gempen, the small agricultural town, I decided I was done climbing for the ride. I descended the wide, open road to Dornach, a steady stream of riders coming the opposite direction, along with two large vehicles with weed-trimmers working the road fringe. This, I decided, I would climb the next day, with a real effort to get a decent Strava ranking.

I semi-improvised my route home, deciding instead of the relatively heavily trafficked route I'd taken out to ride toward the Rhein, then head back along that. This was partially successful, but also involved some decidedly less nice riding. I made it back fine, however.

Friday, September 12, 2014

Thursday, September 11, 2014

Fairwheel Bikes brake test: mechanical ratios

Fairwheel Bikes, the most technically engaged bike shop I know and one which has made an incredible impact for its size at numerous bike shows including Interbike and NAHBS, earlier this year published the results of a brake test on the WeightWeenies forum. They did a number of tests, including stiffness and braking force. Here I'll look at the brake deflection versus cable pull.

But first, here's the brakes in the test, with mass for the pair measured without brake pads or holders, and a price. No price is listed for the Campagnolo single-pivot, perhaps because it is typically sold paired with a dual-pivot brake (single for rear, dual for front):

KCNC C7111 grams$330
THM Fibula116 grams$1429
KCNC CB3126 grams$335
EE Cycleworks139 grams$610
KCNC CB4150 grams$200
KCNC C6161 grams$180
Far and Near168 grams$290
Sram Red190 grams$350
Campag Single pivot212 grams 
Shimano 7900216 grams$400
Shimano 9000218 grams$400
Campag Dual Pivot232 grams$355

Brake pads and holders would add around 50 grams.

They attached the brakes, optionally with Edge grey pads, to an apparatus which pulled on the cable by a specific amount. By not using brake levers, they avoided conflunding the results of the brake with the design of a specific lever. For brakes designed to work with a specific lever (for example, Campagnolo, Shimano, and SRAM are presumably all designed to work best with their specific levers), this may provide misleading comparisons. But other, 3rd-party brakes don't have matching levers, so this allows comparison of different brake options. Since Fairwheel is a shop which specializes is less common, typically extra-light parts, this was the best approach. But the results need to be interpreted in the context that the lever will also make a difference, and different levers have different mechanical characteristics.

Jan Heine, in Bicycling Quarterly, has done an incredible review of the history of brakes. One conclusion from that work was that some relatively recent models which have been considered novel were instead based on designs which existed long ago. We sometimes think the history of brakes began with the single-pivot calipers which dominated in the 1980's and into the early 1990's, but this is incorrect. More recently, direct-mount brakes have become increasingly popular, but direct-mount brakes have a long, long history, pre-dating the single-pivot design.

In any case, Fairwheel tested a variety of brakes of different design. Campagnolo has two designs, a dual pivot and a lighter single-pivot. Shimano, which started the long run of dual pivot dominance (at least on road racing bikes) with its 105 brake in the early 1990's, is dual pivot, as is Far & Near and KCNC. SRAM Red is a modified single-pivot design. EE Cycleworks is relatively complex multi-pivot design: Jan did a specific review of that brake in Bicycle Quarterly which I highly recommend, but I don't have access to that article to reference right now (on train from Basel to Zurich: my BQs are sorted on my bookshelf in San Francisco). I wish they'd included the Camillo Zero-Gravity brake, which I use, but that's considered generally inferior: it uses a cam-enhanced single-pivot design similar to the SRAM Red which followed it.

As Jan described in his Bicycle Quarterly article, brake design is a balance between range of motion (allowing the brakes to clear the rims with sufficient margin) and mechanical advantage. If I pull the lever a particular amount the force exerted on the pad is proportional to the ratio of the cable pull to the pad deflection. This is why disc brakes are considered powerful: they sit extremely close to the rotor and so relatively little deflection is required, providing a high ratio of cable pull to pad deflection.

A compromise is to use a variable rate of deflection. As the cable is initially pulled, the brake pad moves relatively rapidly, closing most of the gap to the rim. But as the pad gets close to contact, the rate of deflection with respect to cable motion decreases, providing greater mechanical advantage. This provides the best of both: plenty of clearance for out-of-true rims or removing wheels with tires whose profile extends beyond the rim width, while allowing for plenty of braking force once the brakes contact the rim.

A key here is that the mechanical advantage felt by the hands on the brake lever come from three sources. One is the conversion of lever motion to cable pull at the brake lever. The second is the conversion of pull at the lever to pull at the brake. This is ideally 1:1 unless the cable stretches. The third is the conversion of cable pull at the brake to brake pad deflection. This third stage consists of two parts: one is the unloaded conversion ratio, and the other is a reduction in this ratio due to bending of the brake with increasing load. Stiffer brakes will maintain closer to the unloaded ratio. The important thing is the product of these stages. So I can tune the characteristics of the mechanical advantage either at the brake or at the brake lever.

This test looks only at the brake. Here I plot the inverse of unloaded mechanical advantage, which is the ratio of the brake pad deflection to the cable pull. A high value means the pads are closing rapidly, but the braking force is proportionally low. A low value means the pads aren't moving much, but the ratio of braking force to lever force is higher. I plot some of the brakes tested by Fairwheel, omitting only the KCNC models:


One thing to note about this plot: Fairwheel measured the brakes at 3 mm, 6 mm, 9 mm, and 12 mm of cable pull. There is also an implied measurement at 0 mm cable pull when the brake is not in contact with a rim. To measure the marginal mechanical ratio, I'd take the slope between measurement points, for example between 0 and 3 mm, or between 3 mm and 6 mm. This results in a slope estimated at the average pull of the two points. So using 0 mm and 3 mm cable pulls, I get the slope estimated at 1.5 mm cable pull. So from their measurements I get ratios at 1.5 mm, 4.5 mm, 7.5 mm, and 10.5 mm.

Then in this plot I show the KCNC brakes. I separated them because there are four of them and including them would have cluttered the preceding plot:


You can see that most of the brakes have a relatively uniform rate of cable pull to brake pad deflection, while a few have more variable relationships. The deflection axis here is logarithmic, so a given distance on the axis corresponds to a different ratio, as opposed to a different absolute difference, in deflection ratio.

The more variable relationships come from the Campagnolo single-pivot an the Shimano 9000 brakes. The Shimano 9000 has a relatively broad range of relatively uniform ratio between 3 and 9 mm of pull. The Campagnolo brake is more variable, however, with no real uniform range.

It may seem like a good idea to engineer the variable deflection into the brake. However, a disadvantage of doing this is that if the brakes are set up so the sweet spot of optimal mechanical advantage comes with the pads just touching the rim, when the brake pads wear the brakes will need to be deflected more to initiate braking. Either the "sweet spot" needs to be extended to accommodate a range of rim widths and brake pad thicknesses, which reduces the available clearance, or the braking quality will vary from optimal.

If instead you put the mechanical tuning in the brake lever, then when brake pads wear or a wheel with a different rim width (measured at the braking surface) is installed then all you need to do is rotate the barrel adjuster and you've restored the lever range of motion. The mechanical characteristics are thus in tune again.

So a uniform mechanical response is the most resiliant approach.

To analyze this, I took ratios as plotted (incremental ratios). The mean mechanical advantage is considered by looking at the average such ratio. The variability in the mechanical advantage I evaluated using the statistical standard deviation of the natural logarithm of the slopes. I took the natural logarithm because I'm interested in the fractional change of the mechanical ratio, not the absolute change.

Here's the sorted result:

brakevariabilityavg. ratio
Thm Fibula0.03100.5800
Sram Red0.03600.6075
Shimano 79000.04990.5267
Far and Near0.05360.6550
KCNC C60.06590.7117
KCNC CB40.06720.7900
KCNC CB30.06950.7900
Campag Super Record Dual0.07200.7050
KCNC C70.08260.6333
Campag Super Record Single0.10550.9150
Shimano 90000.13010.6167

So the Fibula, which is also the 2nd lightest of the brakes tested (116 grams compared to 111 grams for the KCNC C7), also has the most uniform mechanical ratio by a fairly good margin. Only Sram Red comes within 20%. The Shimano 9000 and the Campagnolo Super Record single pivot are the most variable, although as I noted the Shimano at least has a relatively uniform range mid-deflection, while the Campagnolo brake is variable through its range to the resolution of the test.

The EE brake is an interesting case. It scores only mid-range in ratio variability. But notice that the variability is due to the first 3 mm of cable pull. The brake has excellent linearity from 3 mm to 12 mm, as seen in the plot. This provides additional clearance when the brake is open relative to, for example, the THM Fibula or Shimano 9000 brakes. So the brake is fine, arguably better with this design.

The average ratio is is mathematically the same as the ratio of deflection with 12 mm of cable pull to that 12 mm cable pull. I show the same data ranked by this:

brakevariabilityavg. ratio
Shimano 79000.04990.5267
Thm Fibula0.03100.5800
Sram Red0.03600.6075
Shimano 90000.13010.6167
KCNC C70.08260.6333
Far and Near0.05360.6550
Campag Super Record Dual0.07200.7050
KCNC C60.06590.7117
KCNC CB30.06950.7900
KCNC CB40.06720.7900
Campag Super Record Single0.10550.9150

The Shimano 7900 has the least pad motion followed by the THM Fibula, Sram Red, EE, and Shimano 9000 all fairly tightly bunched behind. All of these brakes have an excellent reputation for stopping power, so it's clear the mechanical ratio is significant here. The Campagnolo Super Record single-pivot is a solid last place in this ranking, with KCNC brakes taking the 3 spots immediately behind (the CB4, CB3, and C6).

One note: these are unloaded deflection tests, and this translates to force only if the brakes are perfectly stiff, which they are not. Fairwheel also did several force-based tests but since I don't fully understand the results I won't comment too much on them here. But basically the actual brake performance under loaded braking may be different.

So what do I conclude from this? It seems that if you want a lot of stopping power, the Shimano 7900 is the top choice, but without much margin to clear the rim. The THM Fibula, EE, and Sram Red have a bit less mechanical advantage but more clearance. The EE gains a bit extra clearance by having an increased pad-to-cable motion ratio during the initial stage of motion. Since my rims aren't always perfectly true I like that, and so if I had to pick one of these curves, I'd probably go with the EE. But the super-low mass combined with a very uniform ratio through its range of motion make the Fibula also an attractive choice.

Tuesday, September 2, 2014

Tour magazine frame mass tests: carbon vs titanium vs steel

Here's a comparison of Tour magazine tested mass data for medium-to-large frames taken from three articles:

  1. steel bikes, Aug 2013, on-line summary
  2. "sub-800 gram" carbon bikes, Dec 2013, on-line summary
  3. titanium bikes, Sept 2014, purchased today in print version


This sample is biased in favor of the carbon since the carbon frames selected are the lightest, most expensive available, while in steel, for example, a custom builder like Rob English, emphasizing weight, can get lower than most stock steel frames, which have less emphasis on weight. But I think the Crema represents this quite well: only 1512 g for the frame.

Forks are heavier on the steel and Ti bikes, in general, but I am focusing on frames, since forks can be selected, especially with custom steel, which is still a lot cheaper than those carbon bikes.

Result: best carbon is 704, best Ti is 1350, and best steel is 1512. So the cost of Ti is around 646 grams, and the cost of steel around 808 grams, relative to carbon.

808 grams: that's not bad at all. Still within typical daily body mass fluctuations.

Monday, September 1, 2014

Fit change from Cervelo R to 2015 Cervelo S5 geometry

Cervelo's new geometry for the S5 is a move toward the industry standard for stack and reach, with shortened head tubes reducing the stack and increasing the reach of each size.

I decided to see what this new geometry did for my fit on the bikes. Would I end up with a hideous tower of spacers?


Here's a chart I posted before, with Cervelo S5 2015 replacing the Cannondale Evo. The Cervelo S5 and Evo geometries are fairly close, and so I removed the Evo curve to reduce color. I also show the Trek H1, an example of an aggressive geometry, and the Fuji SL1, which is my bike.

My bike is small, with an 11 cm +6 degree stem establishing the position set for me by 3D Bike Fit in San Francisco. Then from those coordinates (to the right of the plot), I trace back to the frame using a variety of stem options, using the head tube angles of the Cervelo R-series bikes.

With the R-series (also S2-3, and also the 2014 S5), I could ride a 48 cm frame with a 13 cm +6 degree stem, a 51 cm frame with a -6 degree 11.5 cm frame (adding 1 cm of spacers), or a 54 cm frame with a -17 degree, 10 cm stem (with around 5 mm of added spacers). The 51 cm is the most likely candidate here.

To the S5, shown with dotted lines: now the 51 cm would require an 11 cm, +6 degree stem, removing around 5 mm of my present 1 cm stack height. But with the 54 cm frame, I'd be very close to my present fit using a 10 cm -6 degree stem. It would be even closer if I'd adjust for the fact that the 54 cm has a 0.9 deg steeper head tube and the displayed stem trajectory is just slightly too steep (upward).

The result: with a -6 degree stem, I can use the 51 cm R-series with an 11.5 cm stem, or the 54 cm S-5 with a 10 cm stem. Personally I'd prefer the 10 cm stem.

So really no spacer difference is involved: to the contrary, in fact. With the S5 I end up with fewer spacers than I would have for the R-series. And the reason is with the S5 I can upsize to the 54 cm frame with a -6 degree stem.