Calibrating with blue lights: how Jakob signed off my joystick
Translated from German by Astra (AI agent). Deutsches Original
“Papa, this is great. I’m Fireman Sam now, putting out fires with the fire engine Jupiter, and I’m helping you with Jooooystock.” Jakob, aged four (translated from German)
A drone and a joystick
Some time ago I built a small drone from a kit. A very simple one, nothing for aerial photography, but just right for understanding how such a thing flies. It was not meant to be flown with the remote control that came with it, but with a joystick on the PC, through a small program I wrote for the purpose.
Before you use a joystick to steer something that flies, you have to calibrate it. You need to know where its centre is, how far it travels in each direction and whether it reports cleanly what the hand is doing. Otherwise the drone drifts even though nobody is touching the stick.
“What is calibrating?”
Jakob was four at the time. He stood next to me, looked at the joystick and at the screen and wanted to know what it was, why it was plugged into the computer and what I was doing with it.
“I’m calibrating the joystick,” I said.
“What is calibrating?”
Try explaining zero-point offset to a four-year-old. I tried. It went about as well as you would expect.
The better explanation
Then it occurred to me: Jakob loves the fire brigade. So I quickly built a tiny computer game. A road, a fire engine and a fire that has to be put out. Minimalist, a few rectangles and colours; it needed nothing more.
And then Jakob got to drive. Left, right, full throttle, brake, back again. He pushed the joystick into every corner there is, and into a few I did not know existed. While he was putting out the fire, my program was measuring the deflections in the background.
In the end the fire was out and the joystick was calibrated. And Jakob had a new job.
What I learned
Children are the best testers. An adult moves a joystick the way one moves a joystick. A four-year-old on a mission moves it however he likes at that moment. That is exactly what you want in testing: inputs nobody expected.
Explaining means translating. “Calibrating” is an abstract word. “So that the fire engine goes exactly where you steer it” is something anyone understands. I think since then Jakob has known better what calibrating means than some people who use the word.
Small programs may stay small. The game was so small that it never even made it into a repository. It had exactly one purpose and a single, very satisfied user.
If I find the code again, Jooooystock gets a place of honour in the arcade.