I will be presenting an overview of BestBuy.com’s cloud architecture at the SATURN conference at the beginning of May. It is generally an academic oriented conference so I’m glad they decided to hear about a real-life case study. Attend if you can!
Learning to Ride a Fixie
One aspect of riding a fixie that was unexpected was that I discovered the little switch in my head. While first riding a fixie, a little signal went off every time I thought I should shift gears. On my geared bikes I simply shifted gears when that happened and never noticed the signal. However, without any gears to shift, I noticed the signal because I couldn’t complete the action required. My built in instincts for bicycling were no longer relevant.
Coasting can be Painful
Even more exciting was finding out how often I coasted when riding a freewheeled cycle. When first learning to ride fixie, one of the hazards to one’s knees is that every time you try to coast, the pedals attempt to separate your knee joint. Since the pedals don’t stop, the coasting switch can be quite painful. After a few knee jolts, that signal is overridden quite effectively.
Braking no longer Necessary
There’s one more switch in my head for braking, however, with a fixie you can brake just by pedaling slower. Since the pedals are directly attached to the rear wheel, your pedal cadence is directly related to your velocity. A slower cadence means you go slower. To slow down on a fixie you simply slow down your pedal cadence. But since the braking switch is wired to your hands you have to overcome the urge to hand brake and instead slow your legs down. It is fascinating how you can rewire your own brain.
Results are Better
The overall result once you’ve managed to turn off the switches in your head are a much more intimate relationship with the bicycle. You no longer have to do anything but pedal, to go fast pedal fast, to go slow pedal slow. The connection is absolute and immediate. Now, you just think fast or slow and your legs do all the work.
Connection to Software
The process of learning to ride a fixie is the same as learning a new technology. Switching from procedural to OO coding styles requires you to rewire your instincts. There is a large change in thinking when going from RDBMS land to NoSQL stores. When learning about serious scaling, such as supporting the traffic at Best Buy, some of those things you thought you knew no longer apply. But you often don’t notice the rewiring process because there is no immediate painful feedback when you do it wrong.
Learning to ride a fixie helps you recognize the little switch in your head that tells you to do something that’s become hard wired. When it is no longer the correct action, fixie riding gives you immediate negative feedback. The cognizance of the little switch in my head has helped me extensively when creating the new architecture of BestBuy.com. When the switches go off around architectural notions, I can feel them happening and can take a mental step back and evaluate whether it is actually still the right switch to flip. If it is, than no action is needed, if not then the process of rewiring starts again.
So buy a fixie and start riding, it will help your software architecture. However, since it is actually a dangerous thing to do without a little background, review those dangers first here.
Platform Architectures are the next change coming to Web applications, though plenty have existed up to now. Salesforce.com is a prime example of a pure platform architecture but Facebook, Apple, Amazon and Google all are Platforms as well (as described in Phil Simon’s book The Age of the Platform).
However, for the first post let’s talk about my favorite platform, and to me that’s the bicycle. What makes the bicycle a platform? You can change it to fit your current needs and desires, all its component parts are individually upgradeable, it uses a common set of standards for all these parts, and it is up to your will or imagination to make the most of it.
A bicycle allows you to do more than you could before you had the bicycle. You can now get from here to there faster. You can meet your friends and go for a ride. You can work on it in your spare time. But ultimately, you decide what works best for you, and when to use (or not use) the platform (bicycle). That’s the essence of the new breed of platform, the customer will decide whether or not it is useful to them.