Cover image for Technology Must Know When to Say "I Don't Know"

Technology Must Know When to Say "I Don't Know"

ben profile image Ben Halpern ・2 min read

I was riding home on the highway last night when our car came to a stop due to traffic from an accident on the highway. Waze had been predicting the time it would take to get home, using crowdsourcing and Google's aggregate traffic data to give a pretty accurate prediction. But in this case when Waze tried to keep us informed, it had no idea.

We came to a stop and the program adjusted its expectations by about 10 minutes, then 20, 30, 40. Soon enough it was expecting a wait of about 90 minutes. This didn't make my fellow passengers very happy—but the program was useless at that point.

Waze had no clue. Waze can't predict the future, it can only make accurate predictions based on aggregated data, not specific answers relating to the prediction. Waze has no idea how long the tow trucks are going to take, what might be holding up the ambulance or the police investigation. Waze is completely in the dark as to what might actually make these cars keep moving.

And yet Waze kept giving predictions. This is a bug. The most accurate prediction in this case is "I have no clue".

As technology becomes "smarter", it encroaches on a concept previously left to the humans: nuance. Software-driven human interfaces need to be able to handle nuance if they are responsible for those kinds of situations. Devs are very familiar with the idea of faking things. We fake progress bars when we don't have any clue how long a thing is going to take—only that it will take a shortish amount of time. We don't always do a great job of informing users when our programs have lost any grounds for predicting an outcome.

When the answer is unknown or nuanced, an assertive "I don't know" beats an inaccurate prediction.

Posted on by:

ben profile

Ben Halpern


A Canadian software developer who thinks he’s funny. He/Him.


Editor guide

This is a bug in many humans as well.

The quality I respect most in teachers if the ability and humility to say "I don't know".


My wife and I homeschool our daughter. We're not afraid to say "I don't know, but let's see if we can learn!" This teaches several things:
a) adults don't know everything, and that's okay
b) not knowing the answer is nothing to be ashamed of
c) you're never too old to ask questions
d) you're never too old to stop learning



I used to teach third grade.

I used to love when a kid asked a question I didn't know the answer. It gave us a chance to try and research it together as a class.

If we couldn't find an answer in a reasonable amount of time I would have the kids take the question home and see if they could get the answers there.

Bonus benefit: it got some parents involved in the class that otherwise would not have :)

One of the best teachers I had was my HS history teacher; there were some times he was asked a question and he would say "I don't know the answer to that but I will research it and find out for you."

It was so much nicer than getting a total BS response.


Often, teachers who have the humility to say "I don't know" will give you hint on where they would search the answer. So in the Waze example, it could suggest a traffic radio link.


They'd need a DB schema extension, for that ...and then someone to populate the new "traffic radio" field's broadcast-area GIS data. ;)

Even still, the value Waze (et. al.) typically brings is greater immediacy and accuracy vice what most traffic radio gets you. Prior to Waze, you usually had to wait until some regular interval for the commercial radio station to air it's traffic segment. This was often only once or twice an hour (and as frequently as every ten minutes on the traffic-specializing local news-only stations). Worse, once you complete the wait for that radio station's traffic-report, the data reported was typically 30+ minutes stale. Translation: saying "check the radio" is probably at least as bad as revising time-estimates based on crowd-sourced current speeds/distance calculations. Even "tune to the metro-area's regional traffic-service frequency" is a hand-wave: while that has immediacy, the data tends to still be of "best guess" nature.


The business side will never accept this :/

As we move more and more to ML models/neural networks, there will be more of "have no idea what the result is and how it was calculated", I think, so the things will be worst.


I would want my app to tell me it doesn't know something than give me false hopes.

In this case, I would really appreciate an "I don't know" answer too.

Might not be what I wanna hear at the moment, but that's the reality and the truth.

I think instead of these apps trying to cook up estimations from nothing, they should fallback, should everything fail, to simply saying, "dude, I have idea. You're on your own"


Actually the best possible prediction would've been something like "10 minutes after traffic starts moving again"


Once I was navigating the web and clicked a link that redirected me to a 404 page. The error message said "We are very sorry, but we have no idea what happened". I laughed and had to respect their sincerity.


If developers weren't penalized for it in many work environments, the ability to say "I don't know" could be a powerful catalyst for further growth and development.


That happens when you miss the finally block in your code after a series of catch blocks :)


catch { ¯\_(ツ)_/¯ }


Maybe null wasn't a billion dollar mistake after all. Although as Crockford points out - "undefined" might be better.