Back when I started my career in electronics and IT we used to say "Chips with everything". But those days are gone, and there's a new sheriff in town. Today it's "Software with everything".
Here's the thing: I bought a razor.
It's the best shave I've had in a long time: blades that stay sharp, an almost never-ending lubricant strip, and a handle that fits into my hand. Someone did a lot of work designing it, and it's become just part of the background of my life. Most of the day it sits on a shelf in a bathroom somewhere, only getting used on weekday mornings in the shower.
Here's the next thing: it turns out it’s a computer.
A very specialised computer, for sure, but a computer nonetheless, as I discovered when an old friend sent me a clipping from an electronics magazine he'd been reading. Buried deep in its handle is a small processor and a small chunk of ROM. Nothing expensive, and certainly nothing very smart, but most definitely a computer. Press the button in the handle and the processor counts the times it's been pressed and then changes the voltage to a small vibrating motor, lighting the appropriate number of LEDs to show how fast it's vibrating.
And now another thing: it doesn't need to be a computer.
Not that long ago I used to wield soldering irons in anger. The simple controller in the razor was the sort of thing I designed and built before my second cup of foul vending machine coffee in the morning. A couple of CMOS chips, a handful of resistors, and Bob was your proverbial uncle. I may have had to draw out a logic diagram and design a state machine, but it was everyday run of the mill stuff for an electronic engineer.
But did you spot the difference between what I used to do and what's actually in the razor?
Back in my electronics lab there was no processor, no software; just discrete bits of silicon. But that's where the problem actually lies, and why we now have computers in razor handles. Discrete silicon is expensive – and large. Each of those chips would have taken up space on a circuit board, or been part of a custom logic array that would have needed design and testing. Instead of building hardware, a processor that costs a less than a dollar along with its associated controller circuitry can do the work with just a little code stored in its built-in flash memory.
At those prices why do we need discrete logic at all? It's now simpler and easier to use a microcontroller and a little software. Software changes the game, and it's ending up everywhere, not just inside a white plastic razor. Rip open an expensive interconnect cable, and instead of a cluster of analogue components filtering signals there's a complete ARM processor handling the signal processing, managing it in real time and dealing with changing electromagnetic environments to give you the best signal possible.
The general purpose will always replace the specialised. It's simpler, cheaper, less likely to fail. I really shouldn’t be surprised that that general purpose electronics module is a processor, no matter how small. After all, the direct descendent of the processor I used to write my first code is only part of the keyboard controller on this laptop, capturing these keystrokes and sending them on to something that was almost unimaginably powerful in those heady days of the early 80s.
Which leaves me with a final thought: what will the billions of transistors in this Intel i3 processor be doing in just a few generations, when they cost less than a dollar a throw and sit in the handle of a little white razor?