Embedded computers appeared a full decade before personal computers. Yet a generation later many define embedded as “anything but” its popular successor. What’s going to happen to the embedded category in the future? Can an increasingly disparate mix of systems continue to be identified as similar in their dissimilarity?
Personal computers—whether “IBM-compatible,” variety of apple, or UNIX workstation—are easy enough to describe. The English word “computer” is enough to put that very image in the mind of at least a billion people; a quarter as many own one.
Embedded systems are completely different. Few other than engineers have heard the term; most people don’t even notice if their microwave or cell phone has a computer at its heart. Even the designers of such systems can’t always agree on what exactly the term means.
Personal computers are, upon consideration, just a family of similar products (a particular vertical market)—no more different from one another than cell phones. Yet the world’s billion plus cell phones are frequently lumped into the same broad catch-all category as anti-lock brakes and cruise missiles: embedded systems. Why should that be?
Why should PCs be different? Don’t PC designers have as much in common with cell phone designers as the latter do with anti-lock brake designers? Where do we draw the line: is a PDA a general-purpose computer or an embedded system? What about a cell phone (or oscilloscope) with a Java Virtual Machine and application manager?
By 1999, the percentage of new 32-bit processors destined for PC motherboards had dropped to a rounded 0%. That alone suggests the segregation is no longer appropriate. But if we accept that, doesn’t it mean that embedded, as a category, doesn’t actually exist? That there are instead a large number of vertical market segments: automotive electronics, office equipment, telecom/datacom, consumer electronics, avionics, industrial automation, personal computers, etc; each representing a different type of computer.
Such vertical markets clearly already exist. There are trade associations, journals, conferences, and other signs of “community” in each. So what holds the embedded development community together? Why do we choose to identify ourselves as designers of embedded systems, rather than designers of avionics or cell phones? And will we continue to do so into the future?
I think it’s the skills that matter most in this. We identify ourselves as embedded designers up to the point that we feel our skills are transferable between these various markets. The company Cisco doesn’t think of itself as an “embedded system design company”—though many of the engineers who work there may consider that they do just that. The skills we learn from other embedded programmers through community resources online, in print, and in person help us keep a broad perspective. Though we only write software for microwave ovens today, we might write software for avionics systems tomorrow; the same basic skills apply.
So there is an important similarity that binds us together after all. I don’t see that changing anytime soon. If anything, I expect there will be many more people joining our community in the coming decades. And though the customers who buy our products may not consider them embedded computers, those of us who design them always will.