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 toggleONenters theNot Setsubstate ofCruise On. -
Pushing the slider towards
SETstartsCruisingat the current speed.From
Cruisingthere are the six means of changing speed, each of which has a subtly different result. -
Sliding
+keeps the car inCruisingbut changes the set speed by +1 mph. - Sliding
–keeps the car inCruisingbut 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. SlidingSETwith the accelerator still depressed, which returns toCruisingat a higher set speed. -
Pressing the brake to exit
Cruisingand enterSet but Not Cruising, where the gas and brake work as normal.a. Sliding
SETto return toCruisingat a new set speed.
b. SlidingRESto return toCruisingat the previous set speed. c. PressingCANCELto return toNot Set. -
Pressing
CANCELto clear the set speed and return to theNot Setsubstate - Lastly, toggling
OFFfrom 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 Onis active, and a quick notification that pops up on a digital display whenever the set speed changes. ↩