
Why Alarm Clocks Snooze 9 Minutes Instead Of 10 - thiele
http://www.straightdope.com/columns/read/1361/why-does-the-alarm-clock-snooze-button-give-you-nine-extra-minutes-not-ten
======
jrpto
I learned in my hardware design class that it's actually theory 8. As
described in the article:

"(8) On a digital clock, nine is the greatest interval obtainable by advancing
some sort of "snooze counter" on the ones column. But why mess with the ones
column? Why not put the snooze counter on the tens column and advance that by
one?"

On early digital alarm clocks, the "ones" (minutes) column was a binary-coded
decimal (BCD) counter with ten states: 0, 1, 2, ... 9. When the snooze button
is hit, you want to make the alarm turn back on after about 10 minutes.
However, in exactly 10 minutes, the "ones" column state will be where it is
right now, which is a problem, because if you made the alarm turn on at the
current ones state, it would turn on immediately, giving you no snooze delay
at all.

You can achieve a snooze time of almost 10 minutes by picking the "ones" state
that is furthest away from the current state, e.g., if the current state is
"zero", make the alarm come back on at "9", and if the current state is "7",
make the alarm come back on at "6". This results in a snooze time of 9
minutes.

Another reasonable way to implement the snooze function is to use an
additional 10-digit BCD counter which advances every minute. In this method,
the snooze button resets the counter to its first state (zero), and the alarm
turns on when the counter reaches its last state (9). As before, this results
in a snooze time of 9 minutes.

Why not put the snooze counter on the tens column as suggested in the article?
Because you don't know how long it's going to be until the tens column
changes. If the ones column is currently showing "zero", it will be nearly ten
minutes until the tens column changes and the alarm comes back on. But if the
ones column is showing "9", then the tens column will be changing in less than
a minute. The "tens column" method results in an alarm clock with a variable
snooze delay anywhere from zero to 10 minutes.

Of course a 10 minute snooze is achievable, but it involves a bit more work
and likely additional components. Nine minutes is just easier.

Finally, in case you're still with me, I'll mention that depending on how the
methods above are implemented, the "9 minute" snooze time might actually be
anywhere between 8 and 9 minutes, but the delay will generally be read as 9
minutes' difference on the alarm clock itself. For example, a snooze button
hit at "06:00:59" (six a.m. plus 59 seconds) might turn the alarm back on at
"06:09:00" (six a.m. plus zero seconds). This is barely 8 minutes later, but
the clock time will read 9 minutes later.

