Tuesday, March 15, 2011

Bike mechanic win!

In previous posts I talked about trying to find a good bike mechanic. I tried both Kennedys and Cecil Walkers with no success but I've finally found a quality shop.

Abbotsford Cycles is under Richmond station on Swan Street. They don't sell bikes, only repair them which is unusual, but you know they're going to focus on doing good repairs. When I took it in I had a chat to Leon, one of the mechanics and he amazed me with his knowledge and experience. He predicted a number of issues (like delamination of the crank bearing cups) that turned out to be true and he picked up a bunch of problems that all other bike shops hadn't even noticed.

Throughout the process he kept me informed with what he was doing and gave me lots of choices in the repairs. He offered three different choices for crank bearings and the shop has a brilliant stock of spare parts. It ended up costing less than I expected considering how much time and effort they spent on the bike.

I picked up my bike and it is running beautifully. I am so incredibly happy with the service. Big thumbs up Abbotsford cycles!

A strongly typed implementation of INotifyPropertyChanged

INotifyPropertyChanged is an interface used to notify clients that a property has changed. It's used heavily in Silverlight and WPF in combination with databinding and when used it makes updating the ui and then retrieving data from the ui very simple.

I have a major gripe with the way it's generally done though. There are usually two places where the parameter name is specified as text. In the xaml code:
<TextBlock Text="{Binding Name}" />

and in the viewmodel
public class Person : INotifyPropertyChanged
{
  public string Name
  {
    get { return _name; }
    set { _name = value; NotifyPropertyChanged("Name"); }
  }
}

The main problem here is that if you refactor or rename a property you might miss these two locations and will not be alerted. Your app will not work and unless you're testing all your ui field databindings you'll never notice.

Unfortunately we can't fix this problem in the xaml, but in the viewmodel here is a neat typesafe implmentation of NotifyPropertyChanged.

protected void NotifyPropertyChanged<T>(Expression<Func<T>> expression)
 {
   if (PropertyChanged != null)
   {
     PropertyChanged(this, new PropertyChangedEventArgs(expression.MemberName()));
   }
}

public event PropertyChangedEventHandler PropertyChanged;

Usage:
public class Person : INotifyPropertyChanged
{
  public string Name
  {
      get { return _name; }
      set { _name = value; NotifyPropertyChanged(() => Name); }
  }
}

Friday, March 11, 2011

Cecil Walker

In the previous installment I talked about the drama I had getting my Kennedy custom bike maintained well. I tried Kennedy's themselves and they were crap. I tried my local bike shop but they weren't even slightly interested. So I gave Cecil Walker's a call.

They were very proud to announce that they were the only accredited Campagnolo servicers in the CBD. I thought that sounds awesome and I should give them a try. So I took my bike in and asked them to give it a general service and also check my top 2 issues: a) The way downshifting on the front chainrings left the chain lost in limbo between the two chainrings and b) the horrible grinding/clanking noise coming from the bottom bracket.

I even pointed out that it was a Shimano chain on a Campag gearset and that I was worried about compatibility issues. Remember this for later.

So at the end of the day I went to pick up my bike with high hopes. They talked about everything they'd done and I asked about whether the chain or the bottom bracket were a trouble and they said it was all good and charged me $70. So I rode home and my bike was as noisy as ever and the shifting was just as bad as ever. Let me say right now that this was very disappointing.

So I took it back the following week and asked them to have another look at it. I picked it up at the end of the day and was told that they'd checked it out and it turns out that the bottom bracket has never been opened in the 3 years I'd had it. So.... the previous week when I asked them to check it out... they... didn't? They'd just made liars out of themselves!!! Too flabergasted, I took off home and within 30 meters my chain got caught between the chainrings! I turned around and went straight back to the shop.

At the shop someone who I assume was a manager or senior staffer came along and had a look and announced that Shimano chains don't work on Campag gear. That was why I was getting so many issues with the front chainring.

So now they've admitted that they:
  • Didn't check the bottom bracket even though I specifically asked them to and;
  • Didn't identify that a shimano chain doesn't work on Campag gear even though they claim to be a Campag accredited workshop!!
So in summary, I can't recommend Cecil Walkers. My hunt for an even slightly decent bike maintenance store continues...

Kennedys

A couple of years ago I got sick of my shoulders and arms aching every time I rode more than about an hour. So I decided to get a bike fitting. I'd heard that Kennedy's was good so I went to see them.

I was impressed. He diagnosed all the issues that were causing my discomfort on my existing bike and recommended a few options to fix it. Clearly the best option was a custom made bike.

I took the plunge... gulp... it was hideously expensive but I figured that over the course of the next 10-15 years it would be worth it. And it was! I'd never known such comfort riding a bike! The next round the bay was such a pleasure. Plus the gear on the bike is terrific. I can't recommend Campagnolo gear enough. The Khamsin wheels are bombproof and the Veloce gearset is wonderful.

I also figured that I wasn't just buying a bike, I was buying a lifetime of expert servicing and follow up with Kennedy's.

Unfortunately the reality was a little different. Ever since I got the bike I've had nothing but trouble from Kennedy's. They have been surly and unhelpful and pretty much useless. From servicing to finding better/replacement parts they have been so unhelpful.

The final straw
After a service by Kennedy's my bike started missing gear changes. When I shifted down on the front chainring it started getting stuck between the chainrings. So the pedals would spin and I'd have to stop to sort it out. At first this only happened occasionally but as time went on I got paranoid about shifting gear because I knew it would eventually fail.

I took my bike in to Kennedy's for a service and asked them to pay special attention to the noises coming from the bottom bracket and to the issues with gear shifting. I picked up the bike after they were done and all they had done was change the chain. To their credit that's all they charged me for, but it certainly wasn't addressing what I'd asked for. I realised they weren't even slightly interested in looking after their customers in the long run.

The aftermath
In subsequent attempts to get the issues with the bike sorted I discovered that the problem with shifting gears was that Kennedy's had fitted a shimano chain which wasn't compatible with my Campag gearset. So the only thing they actually did when I asked them to try to sort out my issues was to charge me for another chain that only exacerbated the issues I was having. More on how I discovered this in subsequent posts....

So if you're looking for a custom bike... look elsewhere. I've heard good things about Baum's but have no first hand advice.