Skip to main content

Midnight is a Terrible Time for Coffee

By Paul Hebert

Published on February 9th, 2023


When designing or building software, give careful thought to default values because people will end up using them.

A couple of years ago, my relationship with Lisa was getting pretty serious. Naturally, this meant we bought a fancy coffee pot.

My favorite feature of the coffee pot is its “Delayed Brew” setting. After filling the pot with coffee and water, you can press the “Delayed Brew” button to instruct the pot to automatically brew you a delicious batch of coffee first thing in the morning while you’re still asleep.

To me, this is the height of luxury. Every morning I wake up to the delicious smell of fresh-brewed coffee and have a few minutes to enjoy a steaming-hot mug before walking the dog and getting ready for work. Well, most mornings…

Recently I woke up, walked into the kitchen, and poured myself a mug. I sleepily took a swig of the delicious brew — blegh! Cold, tepid coffee! Disgusting!

A coffee cup with a sad frowny face centered on a dark gray backgrouns

In my sleepy state, I’d missed all the warning signs: there was no fresh coffee smell, and the coffee pot was cold to the touch.

The previous day our power had temporarily gone out, and the coffee pot had reset. While preparing my “Delayed Brew”, I’d noticed the clock blinking and reset it to the current time. What I hadn’t realized was that the “Delayed Brew” time had also reset to its default time: midnight!

So at midnight, our coffee pot had helpfully brewed a big, fresh pot of coffee. Coffee that then sat out for seven hours until I woke up.

I’m not upset that the “Delayed Brew” time had reset. I get it. The clock doesn’t have a battery, and it shut down when the power went out.

I was a little disappointed that the default was midnight, though. My uninformed hunch is that this is not a popular time to drink coffee. 5 AM, 6 AM, 7 AM, and 8 AM all seem like more reasonable defaults. Reasonable defaults that would have left me with a chance for fresh coffee.

At the end of the day, this wasn’t a big deal. But it got me thinking about the default settings that I add when building software. Every time I add a default, I’m making a decision for other people, and it’s worth taking some time to think through the implications of that decision.

It’s easy to assume that folks won’t use the defaults, but some will (intentionally or accidentally.) By improving these defaults, you improve the default experience of your product.

If I ever design a coffee pot, I’m setting the default “Delayed Brew” time to 6 AM.

Leave a Comment

Please be kind, courteous and constructive. You may use simple HTML or Markdown in your comments. All fields are required.