Why is cruise control so complicated? From left-to-right, my Chevy Equinox has a cancel button (4), a two-way slider (1,2,3), and an on/off toggle (6). Setting a cruise speed takes two actions: toggle cruise control on then push the slider down to SET
the speed. But once I’m going, there are six — six! — ways to change my speed.
- Faster: push up (
+
) on the slider - Faster: press the gas
- Slower: push down (
–
) on the slider - Slower: hit
CANCEL
- Slower: hit the brake
- Slower: toggle cruise control
OFF
Did you notice that in addition to the four dedicated controls the brake and accelerator also play a role? As far as I can tell the state machine diagram for my cruise control has two states, four substates, and thirteen transitions controlled by six overloaded user input controls:1
To walk through all the transitions:
- The system starts in
Cruise Off
. Flipping the toggleON
enters theNot Set
substate ofCruise On
. -
Pushing the slider towards
SET
startsCruising
at the current speed.From
Cruising
there are the six means of changing speed, each of which has a subtly different result. -
Sliding
+
keeps the car inCruising
but changes the set speed by +1 mph. - Sliding
–
keeps the car inCruising
but changes the set speed by –1 mph. -
Depressing the accelerator transitions to
Accelerator Override
, where speed is controlled by the accelerator position until:a. Releasing the accelerator, which allows the car to slow back down to the set speed.
b. SlidingSET
with the accelerator still depressed, which returns toCruising
at a higher set speed. -
Pressing the brake to exit
Cruising
and enterSet but Not Cruising
, where the gas and brake work as normal.a. Sliding
SET
to return toCruising
at a new set speed.
b. SlidingRES
to return toCruising
at the previous set speed. c. PressingCANCEL
to return toNot Set
. -
Pressing
CANCEL
to clear the set speed and return to theNot Set
substate - Lastly, toggling
OFF
from anywhere returns toCruise Off
.
So the cruise control can be either on or off, where the distinction is OFF
means none of the other buttons do anything and ON
means they do. When cruise is ON
a speed can either be set and active, set but suspended, or not set.
To use this monstrosity, the driver has to internalize this state machine and consciously keep track of where they’re at.2 This is an awful lot of complexity for what should be an exceedingly simple activity and reminds me of Joel Spolsky’s article on confronting users with 15 different ways to shut down their laptop.
A cruise control really only needs a single button and two states: Cruise Off
and Cruising
. Pressing it turns cruise on and sets the cruise speed. Pressing it again turns cruise off, as does—for safety reasons—pressing the accelerator or brake. That’s it, set or not, and one button replacing four. Sounds like progress to me.
-
Because my instinct was to try and document my cruise control by drawing its state machine diagram. Curse of being a Systems Engineer. ↩
-
Not previously mentioned, two heads-down display indicators to help keep track of all this: an icon on the dash that illuminates when
Cruise On
is active, and a quick notification that pops up on a digital display whenever the set speed changes. ↩