My favorite 1980's Canadian TV show: Bits and Bytes
Reflections on what it meant to explain “how to use a computer” to a layperson back then
I love this adorable little TV show so much. Old TV is just so quaint: it’s much slower paced than today’s media, there’s less jump cuts, and the screen transitions and animations are often quirky. There’s not as much industry-wide “best practices”, so there’s a much greater variance in quality, and thus variety of unique little gems.
But I think the main reason I love it so much is because, compared to today: they have a MUCH higher bar of what they think the layperson is capable of understanding
I’d like to show you some of my favorite snippets here, starting with the intro:
bits and bytes of information, tuuuuurning darkness, to liiiiiiiiiiiiiiight
Luba Goy then tells us that we’re going to learn how to USE a computer. This is important, this is NOT a TV show about how computers work. It’s NOT meant to inspire kids to pursue engineering or whatever. This is for the average person who just wants to use a computer to do every day things, like their taxes.
It is very clear who the audience is supposed to be, because we have Billy Van representing “the average person who knows nothing about computers but wants to learn”.
I love watching his first reaction to a computer (it’s clear he’s never used one before!)
“I’m afraid computers don’t do anything on their own, you have to program them!”
Later, Luba has to patiently explain to Billy that he has to press “enter” and what that means. She even has a handy little infographic:
I’m belaboring this point because I want to make it very clear that this is meant to educate at a very basic level of how to use a computer. Imagine teaching your grandma how to use her smart TV. This is kind of how Luba talks to Billy.
And yet, they do NOT talk down to their audience. They do not dumb things down. They explain things in a surprising amount of detail. The explanations are concise & straightforward, but NOT dumbed down.
For example, in this episode they load a video game from a cassette tape. Billy asks this wonderful question:
[how is it possible that] all this [non-sound] information, words, letters, and pictures, can be contained in an audio cassette tape?
A bad answer to this question would say: “the cassette tape contains the data for the video game, the computer knows how to decode it. You press this button here, load it like this, then you press that button, etc”. This isn’t wrong, and it may in fact contain a lot of detail, but it doesn’t tell me anything about how this system works.
More importantly: it doesn’t help me interact with it better. It doesn’t allow me to make predictions or develop a model of it in my mind (which is very important for when things go wrong, or when I want to do something outside the scope of instructions).
Let’s see how Luba answers this question:
She has him play the tape (which contains machine code for a video game) on an audio cassette player. To Billy’s surprise, it works just fine, it just produces an awful noise!
They then proceed to explain what “binary code” is: that we use a series of “on” and “off” switches, and we can choose to make these sequences represent anything: numbers, letters, or commands.
I think this demonstration of playing “text” over an audio player is amazing. I’m drawn to it because this is how I personally developed my own fundamental understanding of what data on a computer is, and I think it’s beautiful that this is also how we explain it to the layperson.
There is nothing inherently special about text vs images vs audio. ALL of them are stored using the same primitives (0’s and 1’s). They have no inherent meaning. They get their meaning from how you choose to decode them.
You store the number 65 in binary. That might mean the letter “A” if this is an ASCII text document. It might be a musical note in MIDI. Or something else entirely.
What does the layperson get out of this? They have a basic, but useful model of how the machine works. I bet you could use this to deduce something like: how would you come up with a basic encryption system? (you could just encode data in a custom way, and not tell anyone!)
I really do believe this matters day to day. It matters when the computer behaves in unexpected ways, or when you think about what is possible in the future. Or even simply, to give yourself a fighting chance to tell what is “easy” and what is “hard” when working with the people who program these things.
Here’s an example where Billy asks “why is the computer so slow?” and Luba clarifies exactly why it’s slow:
“[these computers] ARE fast, it’s the cassette that’s slow!”
Does the modern layperson know why their computer is slow? Is this web page sluggish because the internet is bad, or because the CPU is old, or because it’s just a janky website?
I don’t think this is too much for the average person to understand. I think the average person is perfectly capable of dealing with complexity, when it matters to their day to day lives.
Recently, Chrome added “memory usage” info on each tab. I think this is great.
Chrome showing memory utilization for each tab on hover is an excellent feature — awareness of resource consumption is necessary to care about it.
John Carmack, from: https://twitter.com/ID_AA_Carmack/status/1727048755881611268
Richard Feynman on explaining technical matters to the average person
In “The Meaning of it All” Feynman talks about how this belief that the average person is dumb is a “dangerous idea”. He expresses his frustration with people who write simplified explanations of technical matters because they don’t think the layperson is capable of, nor interested in, understanding how things work.
Feynman gives us a really good rule of thumb to evaluate scientific writing: he says it sucks when even HE as an expert can’t tell what they’re talking about
I think “Bits and Bytes” passes that bar for me. When they tell Billy Van to think of a computer as “a lot of little Aristotle’s turning on and off”, I know it’s a silly metaphor, and I know it’s simplified, but I recognize the useful truth it gives the viewer. It’s not fundamentally different from the mental model the expert has in their mind. This metaphor helps the viewer understand how computers are simultaneously “dumb” (because they really only do very basic operations) and yet how you can scaffold layers of that to make something smart.
I think Feynman would like this show. I think it’s a combination of:
There really are no “stupid questions” here. If the question is that simple & basic, they’ll just say the answer. More often a “silly question” reveals something fundamental and profound when taken seriously
There’s no “magic” or “black box” explanations. There’s no hand waving. They don’t have time to explain everything, but they will try to explain it honestly, OR they will say “that’s out of scope, future episode”
They encourage you to “peek behind the curtain”. They reward curiosity, even for questions that seem irrelevant (like: “why is the power button on the back of the computer” or “why does it say I have 31k of memory, when you said this computer has 32k?)
On how we should explain things today
A message to my future self:
resist the urge to dumb things down when explaining complex technical matters
if you’re struggling to distill down the essential details, just start with what YOUR mental model is. Think about how you, as an expert, predict or debug this system. Then come up with a metaphor to capture that model
(this is the same principle behind teaching with psuedocode, we remove unnecessary details & keep the essential model)
The average person in today’s society is capable of understanding complex technical matters when they are sufficiently motivated
If anyone tells you otherwise, it’s almost certainly just a skill issue (you’re not trying hard enough to explain it well! or you’re explaining it at the wrong level of abstraction, or the person doesn’t see why it matters to them. It’s on you to figure that out. if you can’t spell it out, maybe they were right in thinking it doesn’t matter)
I struggle with the question of: how much SHOULD I try to explain about the “behind the scenes” to the layperson? How much should we abstract away, to use without understanding? Do I need to know the inner workings of my car, for example?
My rule of thumb is: if it’s something I use a lot / rely on, I want to at least have (1) a model of how it works (2) some basic ways to verify it, so I can check my own understanding from time to time. For me, things that fall under this category are: my car, the plumbing and HVAC of my house, and the economy & political system in which I live.
Ultimately, it’s a tough balance, it’s hard to always get it right, the answer is always kind of “it depends”, but I think it’s worth trying, and I think we can tell when it’s done right. And I think Bits and Bytes is one good example of that.