Bicycle Pedals

Posted on Dec 7, 2018

Here's an exercise in design thinking.

Let's say we want to model following objects as a Software object called Vehicle - Car, Motorcycle, Bicycle.

  • Car
    • Input : Steering wheel, brake, accelerator
    • Output : 4 wheels
  • Motorcycle
    • Input : Steering handle, brake, accelerator, gearshift
    • Output : 2 wheels
  • Bicycle
    • Input : Steering handle,brake,pedals,gearshift
    • Output : 2 wheels

What UI components will we use for input to create Vehicle.

  • Steering wheel can be modeled as a rotary dial
  • Brake as a toggle button
  • Accelerator as a slider
  • Gearshift as dropdown list

The only problem is modeling bicycle pedals.

One could model them as a single rotary dial - but that won't be appropriate because they require two feet to drive. One could model them as two rotary dials linked to each other - but then there would be redundancy (if their rotation is linked, why have two dials).

I think the reason behind this awkwardness is the fact that Bicycle can not be modeled as a closed system with clear separation between interface and implementation. The design of pedals is a function of bicycle's implementation (or internal mechanics), yet it has to be exposed directly to the user.

P.S. This is only an exercise in design thinking and not a judgement on bicycle's design.