Compatibility constraints of the water cooler
One of the things you learn when dealing with compatibility is that
every single external detail is a potential compatibility constraint.
A few years ago, the water coolers in the buildings were replaced.
I have no idea why.
Maybe the new water cooler company put in a lower bid.
All I know is that I like the newer ones less,
and I’m not the only one.
The water cooler has three spouts:
one for hot water,
one for room-temperature water,
and one for cold water.
(Okay, so it’s also a water heater as well as a water cooler.)
The old machine positioned the spouts close enough together that
you could fit a cup beneath the last two spouts
(room-temperature and cold).
This meant that you could push both levers to dispense water
into your cup.
Now, the result was “somewhat cool” water, but the important thing
was that it filled your cup in half the time!
Room Hot Temp Cold | | | v v v |. .| |.cup.| |.....| +-----+
The new water coolers has the same three spouts,
but they are positioned just a tiny bit further apart,
just far apart enough that you can’t use the “double-barrel” trick
Room Hot Temp Cold | | | v v v |. |. |.cup |.dribble |.....|* +-----+* *dribble
The new water cooler is subtly incompatible with the old one,
in a manner that is not part of the specification
but rather is merely
a convenient side-effect of the implementation.