This was a micro-slot talk at Oxford Geek Nights #51.
As my son found his feet and began to walk, he found his hands at perfect height to reach the piano. Music is very important to us, and I could not have been more delighted to see him walk over to the piano and press the keys with the tips of his fingers.
Sadly the neighbours weren’t – the walls are very thin and he’s still learning. It was with great regret that I closed the piano lid. Before my eyes flashed a life untouched by music. What other arts might turn his head? Impressionism? Pointilism? Mime? It was too much to bear. It was clear we needed to get him an instrument.
Like all engineering problems, this was a compromise. What do you get a child, fast approaching his first birthday?
I’m a keys player and my wife is a strings player. The obvious compromise was an instrument with both keys and strings. I quickly ruled out a nyckelharpa. I considered a hurdy gurdy but that would not have improved relations.
Where did that leave us?
In the end I settled for a Boîte Diablolique, the kind that has both keys and strings. But they’re not available on the open market, and I don’t have the right contacts, so I needed to build my own. Like most people I had to improvise.
So I had to decide which discipline I would approach it from. Agile software development methodologies? Value chain analysis? In the end I settled on User Experience, or UX for those in a hurry. What UX principles should I bring to building this Boîte Diablolique? I got down the dusty volumes from the shelf and did some research. Here are the principles I arrived at.
1: Give the user full control, not a toy
I was not in the mood to make him a toy. This had to be a real instrument with polyphony. We recorded samples of a recorder and a violin. I used a Raspberry Pi and wrote a Python program of which I am neither proud nor ashamed. Some rudimentary keyboard scanning code, a quantity of diodes later and I had a two fully polyphonic keyboards. Push the keys for recorder sounds, pluck the strings for pizzicato.
2: Allow discovery without fear of breaking it
If there’s one thing I’ve learned about Apple’s MacBook keyboard keyboard fiasco, it’s that nothing beats a real mechanical keyboard. And nothing will do for my son but the finest Cherry keyboard switches. He may turn out to be a mime artist in the end, but as long as he uses mechanical keyboards, he’ll never be completely silent.
And I used hardwood, steel hinges and screws, and expoxy to seal the joint. He only broke one key.
The industrial microswitches seem to have held.
3: Fitt’s Law? More like Fists Law
Fitt’s law states that there’s a relationship between the time taken to move to a target area proportional to the ratio of the distance to the size of the target. I ran the numbers in a complicated spreadsheet and calculated the precise spacing for the keys so that it can be played with fists. I was glad to see he took an exploratory approach and found that feet work too.
4: Enable Disovery and Emergent behaviour
There are many ways to play a Boîte Diablolique. I could not have foreseen the one where you put toy fruit between the strings. And I would not have thought of lifting the keys up to get directly at the keyboard switches. Obviously he’s more of a mechanical keyboard snob than even I hoped.
5: Ship the MVP, get early user feedback
By connecting the Boîte Diabloique to the Internet I was able to SSH into it and reconfigure on the fly. This enabled me to iterate fast and get feedback. This also helped me value-engineer the product down to a time-budget. Young children don’t make for any spare time at all.
How can I use this to further my career?
Like many of you, I’m deeply preoccupied with my personal brand, the exclusion of all other human concerns. How do I apply this to my work? How do I turn this into content marketing for my personal brand and squeeze this into an empty LinkedIn post that will get low dozens of likes?
For the love of god, don’t. Run a mile. Get out into the real world. They’real only young once.